Built motion from commit 746c7d2a.|2.5.35
[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 _0x9451=['length','find','unreadMessages','value','`\x20=\x200','having','`\x20>\x200','Contact','operator','$substring','split','getFullTextValue','ContactId','buildExpression','text','Tag','forEach','union','User','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','start','body','some','compact','isEmpty','FaxAccountId','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?','i.id','Sequelize','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','role','agent','user','getFaxAccounts','i.FaxAccountId\x20IS\x20NULL','sequelize','toString','count','keyBy','FaxInteraction','fields','a.key','Account.key','c.firstName','c.lastName','Contact.lastName','c.email','Contact.email','Contact.phone','c.mobile','c.fax','Contact.fax','o.fullname','Owner.fullname','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','groupBy','all','catch','show','params','include','options','create','destroy','describe','FaxMessage','addMessage','ids','getMessages','FaxInteractionId','merge','includeAll','addTags','setTags','omit','spread','emit','faxInteractionTags:save','removeTags','download','unix','join','server','files','tmp','root','format','Attachment','Messages','get','mkdirSync','basename','existsSync','createReadStream','pipe','createWriteStream','err','unlinkSync','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./faxInteraction.socket','register','sendStatus','status','json','undefined','limit','offset','Content-Range','apply','save','update','then','end','error','stack','name','send','Users','map','TagIds','Tags','push','index','rawAttributes','fieldName','type','key','model','keys','query','filters','intersection','attributes','hasOwnProperty','nolimit','order','sort','where','field','color','from','tools_tags','select','u.fullname','ui.FaxInteractionId','users','u.id\x20=\x20ui.UserId','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','left_join','fax_accounts','a.id\x20=\x20i.FaxAccountId','fax_messages','me.FaxInteractionId\x20=\x20i.id','fax_interaction_has_tags','it.FaxInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','search','parseSearch','conditions'];(function(_0x34acb2,_0x4b786c){var _0xf7f8f7=function(_0x3e8df6){while(--_0x3e8df6){_0x34acb2['push'](_0x34acb2['shift']());}};_0xf7f8f7(++_0x4b786c);}(_0x9451,0x7b));var _0x1945=function(_0x376432,_0x363a54){_0x376432=_0x376432-0x0;var _0x110efa=_0x9451[_0x376432];return _0x110efa;};'use strict';var emlformat=require(_0x1945('0x0'));var rimraf=require(_0x1945('0x1'));var zipdir=require(_0x1945('0x2'));var jsonpatch=require(_0x1945('0x3'));var rp=require(_0x1945('0x4'));var moment=require('moment');var BPromise=require(_0x1945('0x5'));var Mustache=require(_0x1945('0x6'));var util=require(_0x1945('0x7'));var path=require(_0x1945('0x8'));var sox=require(_0x1945('0x9'));var csv=require(_0x1945('0xa'));var ejs=require(_0x1945('0xb'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x1945('0xc'));var squel=require(_0x1945('0xd'));var crypto=require('crypto');var jsforce=require(_0x1945('0xe'));var deskjs=require(_0x1945('0xf'));var toCsv=require(_0x1945('0xa'));var querystring=require(_0x1945('0x10'));var Papa=require(_0x1945('0x11'));var Redis=require(_0x1945('0x12'));var authService=require(_0x1945('0x13'));var qs=require(_0x1945('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x1945('0x15'));var logger=require(_0x1945('0x16'))(_0x1945('0x17'));var utils=require('../../config/utils');var config=require(_0x1945('0x18'));var licenseUtil=require(_0x1945('0x19'));var db=require(_0x1945('0x1a'))['db'];config[_0x1945('0x1b')]=_[_0x1945('0x1c')](config[_0x1945('0x1b')],{'host':_0x1945('0x1d'),'port':0x18eb});var socket=require(_0x1945('0x1e'))(new Redis(config['redis']));require(_0x1945('0x1f'))[_0x1945('0x20')](socket);function respondWithStatusCode(_0x1f9227,_0x531087){_0x531087=_0x531087||0xcc;return function(_0x3d0bc2){if(_0x3d0bc2){return _0x1f9227[_0x1945('0x21')](_0x531087);}return _0x1f9227[_0x1945('0x22')](_0x531087)['end']();};}function respondWithResult(_0x47b3a4,_0x5cc400){_0x5cc400=_0x5cc400||0xc8;return function(_0x3b65dd){if(_0x3b65dd){return _0x47b3a4[_0x1945('0x22')](_0x5cc400)[_0x1945('0x23')](_0x3b65dd);}};}function respondWithFilteredResult(_0x31d718,_0x3b009c){return function(_0x27956c){if(_0x27956c){var _0x998bb=typeof _0x3b009c['offset']===_0x1945('0x24')&&typeof _0x3b009c[_0x1945('0x25')]===_0x1945('0x24');var _0x3c7188=_0x27956c['count'];var _0x29c990=_0x998bb?0x0:_0x3b009c[_0x1945('0x26')];var _0x4968fe=_0x998bb?_0x27956c['count']:_0x3b009c['offset']+_0x3b009c[_0x1945('0x25')];var _0x37cd26;if(_0x4968fe>=_0x3c7188){_0x4968fe=_0x3c7188;_0x37cd26=0xc8;}else{_0x37cd26=0xce;}_0x31d718[_0x1945('0x22')](_0x37cd26);return _0x31d718['set'](_0x1945('0x27'),_0x29c990+'-'+_0x4968fe+'/'+_0x3c7188)[_0x1945('0x23')](_0x27956c);}return null;};}function patchUpdates(_0x4e2a0f){return function(_0x25d6fe){try{jsonpatch[_0x1945('0x28')](_0x25d6fe,_0x4e2a0f,!![]);}catch(_0x3e0e20){return BPromise['reject'](_0x3e0e20);}return _0x25d6fe[_0x1945('0x29')]();};}function saveUpdates(_0x46eb5c,_0x3ffd73){return function(_0x462fd2){if(_0x462fd2){return _0x462fd2[_0x1945('0x2a')](_0x46eb5c)[_0x1945('0x2b')](function(_0x1a98f5){return _0x1a98f5;});}return null;};}function removeEntity(_0x1af947,_0x468c7e){return function(_0x444094){if(_0x444094){return _0x444094['destroy']()['then'](function(){_0x1af947[_0x1945('0x22')](0xcc)[_0x1945('0x2c')]();});}};}function handleEntityNotFound(_0x35ade7,_0x193931){return function(_0x3a3fbe){if(!_0x3a3fbe){_0x35ade7[_0x1945('0x21')](0x194);}return _0x3a3fbe;};}function handleError(_0x3512d1,_0x511aa0){_0x511aa0=_0x511aa0||0x1f4;return function(_0x660286){logger[_0x1945('0x2d')](_0x660286[_0x1945('0x2e')]);if(_0x660286[_0x1945('0x2f')]){delete _0x660286[_0x1945('0x2f')];}_0x3512d1[_0x1945('0x22')](_0x511aa0)[_0x1945('0x30')](_0x660286);};}function getInteractionUsers(_0x34954e,_0x2d7e4c){return new BPromise(function(_0x24ac28,_0x2a9219){try{if(_0x2d7e4c[_0x34954e['id']]){_0x34954e[_0x1945('0x31')]=_[_0x1945('0x32')](_0x2d7e4c[_0x34954e['id']],function(_0x31e8f5){return{'id':_0x31e8f5['id'],'fullname':_0x31e8f5['fullname']};});}}catch(_0x5917eb){_0x2a9219(_0x5917eb);}_0x24ac28(_0x34954e);});}function getInteractionTags(_0x1d1577,_0x271747){return new BPromise(function(_0x4ec13b,_0x37c65f){try{if(_0x1d1577[_0x1945('0x33')]){_0x1d1577[_0x1945('0x34')]=[];_0x1d1577[_0x1945('0x33')]['split'](',')['forEach'](function(_0x412d44){_0x1d1577[_0x1945('0x34')][_0x1945('0x35')](_0x271747[_0x412d44]);});}delete _0x1d1577['TagIds'];}catch(_0xb7b889){_0x37c65f(_0xb7b889);}_0x4ec13b(_0x1d1577);});}function updateFaxInteraction(_0x59a883,_0x1688df,_0x50d37f){return new BPromise(function(_0x5f31ca,_0x393eca){return getInteractionUsers(_0x59a883,_0x50d37f)[_0x1945('0x2b')](function(_0xdb1e93){return getInteractionTags(_0xdb1e93,_0x1688df);})[_0x1945('0x2b')](function(_0x311d9c){_0x5f31ca(_0x311d9c);})['catch'](function(_0x2ed1f2){_0x393eca(_0x2ed1f2);});});}exports[_0x1945('0x36')]=function(_0x1b5987,_0xac317d){var _0x5e4e7a={},_0x41dcbc={},_0x4d2488={'count':0x0,'rows':[]};var _0x2bff7f=_[_0x1945('0x32')](db['FaxInteraction'][_0x1945('0x37')],function(_0x119c6f){return{'name':_0x119c6f[_0x1945('0x38')],'type':_0x119c6f[_0x1945('0x39')][_0x1945('0x3a')]};});_0x41dcbc[_0x1945('0x3b')]=_[_0x1945('0x32')](_0x2bff7f,_0x1945('0x2f'));_0x41dcbc['query']=_[_0x1945('0x3c')](_0x1b5987[_0x1945('0x3d')]);_0x41dcbc[_0x1945('0x3e')]=_[_0x1945('0x3f')](_0x41dcbc[_0x1945('0x3b')],_0x41dcbc[_0x1945('0x3d')]);_0x5e4e7a['attributes']=_[_0x1945('0x3f')](_0x41dcbc[_0x1945('0x3b')],qs['fields'](_0x1b5987[_0x1945('0x3d')]['fields']));_0x5e4e7a[_0x1945('0x40')]=_0x5e4e7a[_0x1945('0x40')]['length']?_0x5e4e7a[_0x1945('0x40')]:_0x41dcbc[_0x1945('0x3b')];if(!_0x1b5987['query'][_0x1945('0x41')](_0x1945('0x42'))){_0x5e4e7a[_0x1945('0x25')]=qs[_0x1945('0x25')](_0x1b5987['query']['limit']);_0x5e4e7a[_0x1945('0x26')]=qs[_0x1945('0x26')](_0x1b5987[_0x1945('0x3d')]['offset']);}_0x5e4e7a[_0x1945('0x43')]=qs[_0x1945('0x44')](_0x1b5987[_0x1945('0x3d')][_0x1945('0x44')]);_0x5e4e7a[_0x1945('0x45')]=qs[_0x1945('0x3e')](_['pick'](_0x1b5987[_0x1945('0x3d')],_0x41dcbc['filters']),_0x2bff7f);var _0x35cbd1=[];var _0x26859c=squel['select']()[_0x1945('0x46')]('id')['field'](_0x1945('0x2f'))['field'](_0x1945('0x47'))[_0x1945('0x48')](_0x1945('0x49'));var _0x2f9e93=squel[_0x1945('0x4a')]()[_0x1945('0x46')]('u.id')[_0x1945('0x46')](_0x1945('0x4b'))['field'](_0x1945('0x4c'))[_0x1945('0x48')]('user_has_fax_interactions','ui')['left_join'](_0x1945('0x4d'),'u',_0x1945('0x4e'));var _0x40efbd=squel[_0x1945('0x4a')]()['from']('fax_interactions','i')['left_join'](_0x1945('0x4f'),'c',_0x1945('0x50'))['left_join'](_0x1945('0x4d'),'o','o.id\x20=\x20i.UserId')[_0x1945('0x51')](_0x1945('0x52'),'a',_0x1945('0x53'))['left_join'](_0x1945('0x54'),'me',_0x1945('0x55'))[_0x1945('0x51')](_0x1945('0x56'),'it',_0x1945('0x57'))[_0x1945('0x51')]('tools_tags','t',_0x1945('0x58'));var _0x4ec029=squel['expr']();var _0x463730=[];var _0x16908d=squel[_0x1945('0x59')]();var _0xd7a349;if(_0x1b5987[_0x1945('0x3d')][_0x1945('0x5a')]){_0xd7a349=as[_0x1945('0x5b')](_0x1b5987[_0x1945('0x3d')]['search']);var _0x3ffd4a=_0xd7a349['sqlOperator'];for(var _0x1e3e7c=0x0;_0x1e3e7c<_0xd7a349[_0x1945('0x5c')][_0x1945('0x5d')];_0x1e3e7c++){var _0x5f0186=_0xd7a349[_0x1945('0x5c')][_0x1e3e7c];var _0x1178d0='i';var _0x307627=_[_0x1945('0x5e')](_0x2bff7f,[_0x1945('0x2f'),_0x5f0186[_0x1945('0x46')]]);if(!_0x307627){switch(_0x5f0186[_0x1945('0x46')]){case _0x1945('0x5f'):if(_0x5f0186[_0x1945('0x60')]==0x1){_0x40efbd['having']('`'+_0x5f0186[_0x1945('0x46')]+_0x1945('0x61'));}else{_0x40efbd[_0x1945('0x62')]('`'+_0x5f0186[_0x1945('0x46')]+_0x1945('0x63'));}break;case _0x1945('0x64'):if(_0x5f0186[_0x1945('0x65')]===_0x1945('0x66')){if(_0x5f0186['value'][_0x1945('0x67')]('\x20')[_0x1945('0x5d')]>0x1){_0x4ec029[_0x3ffd4a]('MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0x1945('0x68')](_0x5f0186[_0x1945('0x60')]),null);}else{var _0x35185a='%'+_0x5f0186[_0x1945('0x60')]+'%';_0x4ec029[_0x3ffd4a]('c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?',_0x35185a,_0x35185a,_0x35185a);}}else{_0x307627=_[_0x1945('0x5e')](_0x2bff7f,[_0x1945('0x2f'),_0x1945('0x69')]);_0x5f0186[_0x1945('0x46')]='ContactId';_0x1f10db=as[_0x1945('0x6a')](_0x1178d0,_0x307627[_0x1945('0x39')],_0x5f0186);_0x4ec029[_0x3ffd4a](_0x1f10db[_0x1945('0x6b')],_0x1f10db[_0x1945('0x60')]['start'],_0x1f10db[_0x1945('0x60')][_0x1945('0x2c')]);}break;case _0x1945('0x6c'):var _0x38e459=_0x5f0186[_0x1945('0x60')]['split'](',')[_0x1945('0x32')](function(_0x45866d){return Number(_0x45866d);});_0x38e459[_0x1945('0x6d')](function(_0x9391ad){_0x16908d['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x9391ad+',%');});_0x463730=_[_0x1945('0x6e')](_0x463730,_0x38e459);break;case _0x1945('0x6f'):if(_0x5f0186[_0x1945('0x65')]===_0x1945('0x66')){_0x4ec029[_0x3ffd4a](_0x1945('0x70'),'%'+_0x5f0186[_0x1945('0x60')]+'%',null);}else{_0x307627=_[_0x1945('0x5e')](_0x2bff7f,['name',_0x1945('0x71')]);_0x5f0186['field']=_0x1945('0x71');_0x1f10db=as[_0x1945('0x6a')](_0x1178d0,_0x307627['type'],_0x5f0186);_0x4ec029[_0x3ffd4a](_0x1f10db[_0x1945('0x6b')],_0x1f10db['value'][_0x1945('0x72')],_0x1f10db[_0x1945('0x60')][_0x1945('0x2c')]);}break;case _0x1945('0x73'):_0x1f10db=as[_0x1945('0x6a')]('me',null,_0x5f0186);_0x4ec029[_0x3ffd4a](_0x1f10db[_0x1945('0x6b')],_0x1f10db['value'][_0x1945('0x72')],_0x1f10db[_0x1945('0x60')][_0x1945('0x2c')]);break;}}else{var _0x1f10db=as['buildExpression'](_0x1178d0,_0x307627[_0x1945('0x39')],_0x5f0186);_0x4ec029[_0x3ffd4a](_0x1f10db[_0x1945('0x6b')],_0x1f10db[_0x1945('0x60')][_0x1945('0x72')],_0x1f10db[_0x1945('0x60')][_0x1945('0x2c')]);}}}else{var _0x439957=_(_0x1b5987['query'])['keys']()[_0x1945('0x32')](function(_0x4ce60e){return _[_0x1945('0x74')](_0x2bff7f,[_0x1945('0x2f'),_0x4ce60e])?_0x4ce60e:undefined;})[_0x1945('0x75')]()['value']();if(!_[_0x1945('0x76')](_0x439957)){_0x439957[_0x1945('0x6d')](function(_0x2d50dc){if(_0x2d50dc===_0x1945('0x77')){_0x40efbd[_0x1945('0x45')]('i.FaxAccountId\x20IN\x20?',[]['concat'](_0x1b5987['query'][_0x2d50dc]));}else if(_0x2d50dc===_0x1945('0x78')){var _0x3e95b4=JSON[_0x1945('0x79')](_0x1b5987[_0x1945('0x3d')][_0x2d50dc])[_0x1945('0x7a')];var _0x32be9d=JSON[_0x1945('0x79')](_0x1b5987['query'][_0x2d50dc])[_0x1945('0x7b')];_0x40efbd['where']('i.createdAt\x20BETWEEN\x20?\x20AND\x20?',_0x3e95b4,_0x32be9d);}else{if(_0x1b5987[_0x1945('0x3d')][_0x2d50dc]===_0x1945('0x7c')){_0x40efbd[_0x1945('0x45')]('i.'+_0x2d50dc+_0x1945('0x7d'));}else{_0x40efbd['where']('i.'+_0x2d50dc+_0x1945('0x7e'),_0x1b5987[_0x1945('0x3d')][_0x2d50dc]);}}});}if(_0x1b5987['query']['read']){if(_0x1b5987[_0x1945('0x3d')][_0x1945('0x7f')]==0x1){_0x40efbd[_0x1945('0x62')](_0x1945('0x80'));}else{_0x40efbd[_0x1945('0x62')](_0x1945('0x81'));}}if(_0x1b5987[_0x1945('0x3d')][_0x1945('0x82')]){_0x463730=_[_0x1945('0x83')](_0x1b5987[_0x1945('0x3d')]['tag'])?_0x1b5987[_0x1945('0x3d')][_0x1945('0x82')]:new Array(_0x1b5987[_0x1945('0x3d')][_0x1945('0x82')]);_0x463730[_0x1945('0x6d')](function(_0x104c34){_0x16908d['or'](_0x1945('0x84'),'%,'+_0x104c34+',%');});}if(_0x1b5987[_0x1945('0x3d')]['filter']){var _0x5ac603=_0x1b5987[_0x1945('0x3d')][_0x1945('0x85')][_0x1945('0x86')]('\x5c','\x5c\x5c')[_0x1945('0x86')](/'/g,'\x27\x27');if(qs[_0x1945('0x87')](_0x5ac603)){_0x4ec029['or'](_0x1945('0x88'),_0x5ac603+'%')['or'](_0x1945('0x89'),_0x5ac603+'%');}_0x4ec029['or']('CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?',_0x5ac603+'%');}}_0x40efbd['where'](_0x4ec029);_0x40efbd['group'](_0x1945('0x8a'));var _0x332a73={'type':db[_0x1945('0x8b')]['QueryTypes']['SELECT'],'raw':!![]};var _0x5d7f94=_0x40efbd[_0x1945('0x8c')]();_0x5d7f94[_0x1945('0x46')]('i.id');_0x5d7f94['field'](_0x1945('0x8d'),_0x1945('0x5f'));if(_0x5e4e7a[_0x1945('0x43')]){_0x5e4e7a[_0x1945('0x43')][_0x1945('0x6d')](function(_0x1031e7){var _0x36fe23=_0x1031e7[0x0]===_0x1945('0x8e')?_0x1031e7[0x0]:'i.'+_0x1031e7[0x0];_0x40efbd['order'](_0x36fe23,_0x1031e7[0x1]===_0x1945('0x8f')?![]:!![]);});}if(!_[_0x1945('0x76')](_0x463730)){_0x40efbd[_0x1945('0x62')](_0x16908d);_0x5d7f94['where'](_0x1945('0x90'),_0x463730);}BPromise[_0x1945('0x91')]()['then'](function(){if(!_0xd7a349){if(_0x1b5987[_0x1945('0x3d')][_0x1945('0x77')])return;_0x5d7f94[_0x1945('0x45')](_0x1945('0x92'));_0x40efbd[_0x1945('0x45')](_0x1945('0x92'));return;}if(_0x1b5987['user'][_0x1945('0x93')]!==_0x1945('0x94'))return;return _0x1b5987[_0x1945('0x95')][_0x1945('0x96')]({'attributes':['id'],'raw':!![]})[_0x1945('0x2b')](function(_0x5addd7){if(_[_0x1945('0x76')](_0x5addd7)){_0x5d7f94[_0x1945('0x45')](_0x1945('0x97'));_0x40efbd[_0x1945('0x45')](_0x1945('0x97'));}else{_0x5d7f94['where']('i.FaxAccountId\x20IN\x20?',_['map'](_0x5addd7,'id'));_0x40efbd[_0x1945('0x45')]('i.FaxAccountId\x20IN\x20?',_['map'](_0x5addd7,'id'));}});})['then'](function(){if(_0x1b5987['user'][_0x1945('0x93')]===_0x1945('0x94')&&!_0xd7a349&&!_0x1b5987['query']['FaxAccountId'])return[];return db[_0x1945('0x98')][_0x1945('0x3d')](_0x5d7f94[_0x1945('0x99')](),_0x332a73);})[_0x1945('0x2b')](function(_0x3336cd){_0x4d2488[_0x1945('0x9a')]=_0x3336cd[_0x1945('0x5d')];if(_0x4d2488[_0x1945('0x9a')]===0x0)return[];return db[_0x1945('0x98')][_0x1945('0x3d')](_0x26859c[_0x1945('0x99')](),_0x332a73)[_0x1945('0x2b')](function(_0x264cbc){_0x35cbd1=_[_0x1945('0x9b')](_0x264cbc,'id');_0x332a73=_['merge'](_0x332a73,{'model':db[_0x1945('0x9c')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x1b5987[_0x1945('0x3d')][_0x1945('0x9d')]){_0x5e4e7a[_0x1945('0x40')][_0x1945('0x6d')](function(_0x177f26){_0x40efbd['field']('i.'+_0x177f26);});}else{_0x40efbd[_0x1945('0x46')](_0x1945('0x8d'),_0x1945('0x5f'));_0x40efbd[_0x1945('0x46')](_0x1945('0x9e'),_0x1945('0x9f'));_0x40efbd[_0x1945('0x46')]('a.mandatoryDisposition','Account.mandatoryDisposition');_0x40efbd[_0x1945('0x46')]('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',_0x1945('0x8e'));_0x40efbd[_0x1945('0x46')]('i.*');_0x40efbd['field'](_0x1945('0xa0'),'Contact.firstName');_0x40efbd[_0x1945('0x46')](_0x1945('0xa1'),_0x1945('0xa2'));_0x40efbd[_0x1945('0x46')](_0x1945('0xa3'),_0x1945('0xa4'));_0x40efbd[_0x1945('0x46')]('c.phone',_0x1945('0xa5'));_0x40efbd[_0x1945('0x46')](_0x1945('0xa6'),'Contact.mobile');_0x40efbd['field'](_0x1945('0xa7'),_0x1945('0xa8'));_0x40efbd['field'](_0x1945('0xa9'),_0x1945('0xaa'));_0x40efbd[_0x1945('0x46')]('o.internal',_0x1945('0xab'));_0x40efbd[_0x1945('0x46')](_0x1945('0xac'),_0x1945('0x33'));}if(_0x5e4e7a['limit'])_0x40efbd[_0x1945('0x25')](_0x5e4e7a[_0x1945('0x25')]);if(_0x5e4e7a[_0x1945('0x26')])_0x40efbd[_0x1945('0x26')](_0x5e4e7a[_0x1945('0x26')]);return db[_0x1945('0x98')]['query'](_0x40efbd['toString'](),_0x332a73);})[_0x1945('0x2b')](function(_0x244cc6){if(_0x244cc6[_0x1945('0x5d')]>0x0)_0x2f9e93[_0x1945('0x45')]('ui.FaxInteractionId\x20IN\x20?',_['map'](_0x244cc6,'id'));return db[_0x1945('0x98')][_0x1945('0x3d')](_0x2f9e93[_0x1945('0x99')](),_0x332a73)[_0x1945('0x2b')](function(_0x27b4a3){var _0x2f4738=_[_0x1945('0xad')](_0x27b4a3,'FaxInteractionId');var _0x41f603=[];_0x244cc6[_0x1945('0x6d')](function(_0xc1f70f){_0x41f603[_0x1945('0x35')](updateFaxInteraction(_0xc1f70f,_0x35cbd1,_0x2f4738));});return BPromise[_0x1945('0xae')](_0x41f603);});});})[_0x1945('0x2b')](function(_0x4ddb6d){_0x4d2488['rows']=_0x4ddb6d;return _0x4d2488;})[_0x1945('0x2b')](respondWithFilteredResult(_0xac317d,_0x5e4e7a))[_0x1945('0xaf')](handleError(_0xac317d,null));};exports[_0x1945('0xb0')]=function(_0x13e861,_0x5f41d7){var _0x21eb6a={'raw':![],'where':{'id':_0x13e861[_0x1945('0xb1')]['id']}},_0xd525ff={};_0xd525ff[_0x1945('0x3b')]=_[_0x1945('0x3c')](db[_0x1945('0x9c')]['rawAttributes']);_0xd525ff['query']=_[_0x1945('0x3c')](_0x13e861[_0x1945('0x3d')]);_0xd525ff['filters']=_[_0x1945('0x3f')](_0xd525ff['model'],_0xd525ff[_0x1945('0x3d')]);_0x21eb6a['attributes']=_[_0x1945('0x3f')](_0xd525ff[_0x1945('0x3b')],qs[_0x1945('0x9d')](_0x13e861[_0x1945('0x3d')][_0x1945('0x9d')]));_0x21eb6a[_0x1945('0x40')]=_0x21eb6a[_0x1945('0x40')][_0x1945('0x5d')]?_0x21eb6a[_0x1945('0x40')]:_0xd525ff[_0x1945('0x3b')];if(_0x13e861[_0x1945('0x3d')]['includeAll']){_0x21eb6a[_0x1945('0xb2')]=[{'all':!![]}];}_0x21eb6a=_['merge']({},_0x21eb6a,_0x13e861[_0x1945('0xb3')]);return db[_0x1945('0x9c')]['find'](_0x21eb6a)[_0x1945('0x2b')](handleEntityNotFound(_0x5f41d7,null))[_0x1945('0x2b')](respondWithResult(_0x5f41d7,null))[_0x1945('0xaf')](handleError(_0x5f41d7,null));};exports[_0x1945('0xb4')]=function(_0x15c63e,_0x3fe8df){return db[_0x1945('0x9c')]['create'](_0x15c63e[_0x1945('0x73')],{})[_0x1945('0x2b')](respondWithResult(_0x3fe8df,0xc9))[_0x1945('0xaf')](handleError(_0x3fe8df,null));};exports[_0x1945('0x2a')]=function(_0x42c60b,_0x403965){if(_0x42c60b[_0x1945('0x73')]['id']){delete _0x42c60b[_0x1945('0x73')]['id'];}return db['FaxInteraction']['find']({'where':{'id':_0x42c60b[_0x1945('0xb1')]['id']}})[_0x1945('0x2b')](handleEntityNotFound(_0x403965,null))[_0x1945('0x2b')](saveUpdates(_0x42c60b[_0x1945('0x73')],null))[_0x1945('0x2b')](respondWithResult(_0x403965,null))[_0x1945('0xaf')](handleError(_0x403965,null));};exports[_0x1945('0xb5')]=function(_0x111a3a,_0x305335){return db[_0x1945('0x9c')][_0x1945('0x5e')]({'where':{'id':_0x111a3a[_0x1945('0xb1')]['id']}})[_0x1945('0x2b')](handleEntityNotFound(_0x305335,null))[_0x1945('0x2b')](removeEntity(_0x305335,null))[_0x1945('0xaf')](handleError(_0x305335,null));};exports[_0x1945('0xb6')]=function(_0x2abceb,_0x2779df){return db['FaxInteraction'][_0x1945('0xb6')]()[_0x1945('0x2b')](respondWithResult(_0x2779df,null))[_0x1945('0xaf')](handleError(_0x2779df,null));};exports['addMessage']=function(_0x18c3cb,_0x4e91e8,_0x1874bc){return db[_0x1945('0xb7')]['find']({'where':{'id':_0x18c3cb[_0x1945('0xb1')]['id']}})[_0x1945('0x2b')](handleEntityNotFound(_0x4e91e8,null))[_0x1945('0x2b')](function(_0x3bb929){if(_0x3bb929){return _0x3bb929[_0x1945('0xb8')](_0x18c3cb[_0x1945('0x73')][_0x1945('0xb9')],_['omit'](_0x18c3cb['body'],['ids','id'])||{});}})['then'](respondWithResult(_0x4e91e8,null))[_0x1945('0xaf')](handleError(_0x4e91e8,null));};exports[_0x1945('0xba')]=function(_0x4d1265,_0x3fc2ce,_0xe7658){var _0x2c39f5={'raw':![],'where':{}};var _0x20aea8={};var _0x2e7bf6={'count':0x0,'rows':[]};return db[_0x1945('0x9c')]['findOne']({'where':{'id':_0x4d1265[_0x1945('0xb1')]['id']}})[_0x1945('0x2b')](handleEntityNotFound(_0x3fc2ce,null))['then'](function(_0x570512){if(_0x570512){_0x20aea8[_0x1945('0x3b')]=_[_0x1945('0x3c')](db['FaxMessage']['rawAttributes']);_0x20aea8[_0x1945('0x3d')]=_['keys'](_0x4d1265[_0x1945('0x3d')]);_0x20aea8[_0x1945('0x3e')]=_['intersection'](_0x20aea8['model'],_0x20aea8[_0x1945('0x3d')]);_0x2c39f5['attributes']=_[_0x1945('0x3f')](_0x20aea8[_0x1945('0x3b')],qs[_0x1945('0x9d')](_0x4d1265[_0x1945('0x3d')]['fields']));_0x2c39f5['attributes']=_0x2c39f5[_0x1945('0x40')][_0x1945('0x5d')]?_0x2c39f5[_0x1945('0x40')]:_0x20aea8[_0x1945('0x3b')];if(!_0x4d1265[_0x1945('0x3d')][_0x1945('0x41')](_0x1945('0x42'))){_0x2c39f5['limit']=qs['limit'](_0x4d1265['query'][_0x1945('0x25')]);_0x2c39f5[_0x1945('0x26')]=qs['offset'](_0x4d1265[_0x1945('0x3d')]['offset']);}_0x2c39f5['order']=qs[_0x1945('0x44')](_0x4d1265[_0x1945('0x3d')][_0x1945('0x44')]);_0x2c39f5[_0x1945('0x45')]=qs[_0x1945('0x3e')](_['pick'](_0x4d1265[_0x1945('0x3d')],_0x20aea8[_0x1945('0x3e')]));_0x2c39f5['where'][_0x1945('0xbb')]=_0x570512['id'];if(_0x4d1265[_0x1945('0x3d')]['filter']){_0x2c39f5[_0x1945('0x45')]=_[_0x1945('0xbc')](_0x2c39f5['where'],{'$or':_[_0x1945('0x32')](_0x2c39f5[_0x1945('0x40')],function(_0xb572b6){var _0x39e69f={};_0x39e69f[_0xb572b6]={'$like':'%'+_0x4d1265[_0x1945('0x3d')][_0x1945('0x85')]+'%'};return _0x39e69f;})});}if(_0x4d1265[_0x1945('0x3d')][_0x1945('0x7a')]){var _0x39fa93=_0x4d1265[_0x1945('0x3d')]['$gte'][_0x1945('0x67')](',');var _0x5b65fd={};_0x5b65fd[_0x39fa93[0x0]]={'$gte':moment(_0x39fa93[0x1])['format']('YYYY-MM-DD\x20HH:mm:ss')};_0x2c39f5[_0x1945('0x45')]=_['merge'](_0x2c39f5[_0x1945('0x45')],_0x5b65fd);}_0x2c39f5=_[_0x1945('0xbc')]({},_0x2c39f5,_0x4d1265['options']);return db[_0x1945('0xb7')][_0x1945('0x9a')]({'where':_0x2c39f5[_0x1945('0x45')]})[_0x1945('0x2b')](function(_0x26c2c2){_0x2e7bf6[_0x1945('0x9a')]=_0x26c2c2;if(_0x4d1265[_0x1945('0x3d')][_0x1945('0xbd')]){_0x2c39f5[_0x1945('0xb2')]=[{'all':!![]}];}return db['FaxMessage']['findAll'](_0x2c39f5);})['then'](function(_0x82ca29){_0x2e7bf6['rows']=_0x82ca29;return _0x2e7bf6;});}})[_0x1945('0x2b')](respondWithFilteredResult(_0x3fc2ce,_0x2c39f5))[_0x1945('0xaf')](handleError(_0x3fc2ce,null));};exports[_0x1945('0xbe')]=function(_0x1da562,_0x519176,_0x1de478){return db[_0x1945('0x9c')][_0x1945('0x5e')]({'where':{'id':_0x1da562[_0x1945('0xb1')]['id']}})[_0x1945('0x2b')](handleEntityNotFound(_0x519176,null))[_0x1945('0x2b')](function(_0x235861){if(_0x235861){return _0x235861[_0x1945('0xbf')](_0x1da562['body'][_0x1945('0xb9')],_[_0x1945('0xc0')](_0x1da562[_0x1945('0x73')],[_0x1945('0xb9'),'id'])||{})[_0x1945('0xc1')](function(){return db[_0x1945('0x6c')]['findAll']({'attributes':['id',_0x1945('0x2f'),_0x1945('0x47')],'where':{'id':_0x1da562[_0x1945('0x73')][_0x1945('0xb9')]}});})['then'](function(_0x36cf22){socket[_0x1945('0xc2')](_0x1945('0xc3'),{'id':Number(_0x1da562[_0x1945('0xb1')]['id']),'tags':_0x36cf22||[]});return{'id':Number(_0x1da562[_0x1945('0xb1')]['id']),'tags':_0x36cf22||[]};});}})[_0x1945('0x2b')](respondWithResult(_0x519176,null))[_0x1945('0xaf')](handleError(_0x519176,null));};exports[_0x1945('0xc4')]=function(_0x5254e2,_0x20c678,_0xb508a0){return db[_0x1945('0x9c')][_0x1945('0x5e')]({'where':{'id':_0x5254e2[_0x1945('0xb1')]['id']}})['then'](handleEntityNotFound(_0x20c678,null))['then'](function(_0x59890d){if(_0x59890d){return _0x59890d['removeTags'](_0x5254e2['query'][_0x1945('0xb9')]);}})[_0x1945('0x2b')](respondWithStatusCode(_0x20c678,null))[_0x1945('0xaf')](handleError(_0x20c678,null));};exports[_0x1945('0xc5')]=function(_0x52fb6b,_0x14d6ff){var _0xcbd25=moment()[_0x1945('0xc6')]()[_0x1945('0x99')]();var _0x3a20bd=path[_0x1945('0xc7')](config['root'],_0x1945('0xc8'),_0x1945('0xc9'),_0x1945('0xca'));var _0x4bdee3=path[_0x1945('0xc7')](config[_0x1945('0xcb')],_0x1945('0xc8'),_0x1945('0xc9'),'attachments');var _0x20d6d8=path['join'](_0x3a20bd,_0xcbd25);var _0x4cfce4=util[_0x1945('0xcc')]('transcript-%d-%s.zip',_0x52fb6b['params']['id'],_0xcbd25);var _0x2cdb6a=path[_0x1945('0xc7')](_0x3a20bd,_0x4cfce4);var _0x2bf203=[];_0x2bf203[_0x1945('0x35')]({'model':db['Attachment'],'as':_0x1945('0xcd'),'raw':!![]});var _0x3e1b65=[{'model':db[_0x1945('0xb7')],'as':_0x1945('0xce'),'attributes':['id','body',_0x1945('0x78')],'include':_0x2bf203}];return db[_0x1945('0x9c')]['find']({'where':{'id':_0x52fb6b[_0x1945('0xb1')]['id']},'include':_0x3e1b65})[_0x1945('0x2b')](handleEntityNotFound(_0x14d6ff,null))['then'](function(_0x11ca98){if(_0x11ca98&&_0x11ca98['Messages']){var _0x152ebd=_0x11ca98[_0x1945('0xcf')]({'plain':!![]});fs[_0x1945('0xd0')](_0x20d6d8);for(var _0x403f34=0x0;_0x403f34<_0x152ebd[_0x1945('0xce')][_0x1945('0x5d')];_0x403f34++){var _0x359da5=_0x152ebd[_0x1945('0xce')][_0x403f34][_0x1945('0xcd')];if(_0x359da5){var _0x170212=path[_0x1945('0xc7')](_0x4bdee3,_0x359da5[_0x1945('0xd1')]);if(fs[_0x1945('0xd2')](_0x170212)){fs[_0x1945('0xd3')](_0x170212)[_0x1945('0xd4')](fs[_0x1945('0xd5')](path['join'](_0x20d6d8,_0x359da5['basename'])));}}}return BPromise['resolve']()[_0x1945('0x2b')](function(){return new BPromise(function(_0x42e4e5,_0x2d6230){zipdir(_0x20d6d8,{'saveTo':_0x2cdb6a},function(_0x27b787,_0x297ac9){if(_0x27b787)return _0x2d6230(_0x27b787);return _0x42e4e5(_0x297ac9);});})[_0x1945('0x2b')](function(){return new BPromise(function(_0x7a9aed,_0x3ddeb6){rimraf(_0x20d6d8,function(_0x4d48a7){if(_0x4d48a7)_0x3ddeb6(_0x4d48a7);return _0x7a9aed();});});})[_0x1945('0x2b')](function(){return _0x14d6ff[_0x1945('0xc5')](_0x2cdb6a,_0x4cfce4,function(_0x43f474){if(_0x43f474){console['log'](_0x1945('0xd6'),_0x43f474);}else{fs[_0x1945('0xd7')](_0x2cdb6a);}});});});}else{return _0x14d6ff[_0x1945('0x21')](0xc8);}})[_0x1945('0xaf')](handleError(_0x14d6ff,null));};