faa177899f84f76c9c2100985eeaeb40cc95ee0b
[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 _0xabc2=['existsSync','createReadStream','pipe','createWriteStream','log','unlinkSync','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','squel','jsforce','querystring','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','defaults','redis','localhost','./faxInteraction.socket','sendStatus','status','end','offset','undefined','limit','count','set','json','apply','reject','save','update','destroy','error','name','send','Users','map','TagIds','Tags','push','then','catch','index','FaxInteraction','rawAttributes','fieldName','type','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','select','field','color','from','tools_tags','u.id','u.fullname','ui.FaxInteractionId','user_has_fax_interactions','left_join','users','u.id\x20=\x20ui.UserId','fax_interactions','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','o.id\x20=\x20i.UserId','fax_accounts','a.id\x20=\x20i.FaxAccountId','fax_messages','me.FaxInteractionId\x20=\x20i.id','fax_interaction_has_tags','t.id\x20=\x20it.TagId','expr','search','parseSearch','sqlOperator','conditions','find','unreadMessages','value','`\x20=\x200','having','Contact','$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?','ContactId','buildExpression','text','start','Tag','split','union','operator','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','body','keys','some','compact','isEmpty','forEach','FaxAccountId','i.FaxAccountId\x20IN\x20?','createdAt','parse','$gte','$lte','\x20IS\x20NULL','read','tag','isArray','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','filter','replace','i.id\x20LIKE\x20?','i.fax\x20LIKE\x20?','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','i.id','Sequelize','QueryTypes','SELECT','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','contactName','DESC','t.id\x20IN\x20?','resolve','i.FaxAccountId\x20IS\x20NOT\x20NULL','user','role','agent','getFaxAccounts','i.FaxAccountId\x20IS\x20NULL','sequelize','toString','keyBy','merge','a.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','i.*','c.firstName','c.lastName','Contact.lastName','c.email','Contact.email','Contact.phone','c.mobile','Contact.mobile','o.fullname','Owner.fullname','o.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.FaxInteractionId\x20IN\x20?','groupBy','FaxInteractionId','all','rows','show','includeAll','include','params','addMessage','FaxMessage','ids','omit','getMessages','options','findAll','addTags','setTags','spread','emit','faxInteractionTags:save','removeTags','download','unix','files','tmp','join','attachments','format','Attachment','Messages','get','basename'];(function(_0x2cd1fb,_0x291f55){var _0x48fd2b=function(_0x18e23e){while(--_0x18e23e){_0x2cd1fb['push'](_0x2cd1fb['shift']());}};_0x48fd2b(++_0x291f55);}(_0xabc2,0x1b0));var _0x2abc=function(_0x25c88d,_0x48dcc7){_0x25c88d=_0x25c88d-0x0;var _0x2a2456=_0xabc2[_0x25c88d];return _0x2a2456;};'use strict';var emlformat=require(_0x2abc('0x0'));var rimraf=require(_0x2abc('0x1'));var zipdir=require(_0x2abc('0x2'));var jsonpatch=require(_0x2abc('0x3'));var rp=require(_0x2abc('0x4'));var moment=require(_0x2abc('0x5'));var BPromise=require(_0x2abc('0x6'));var Mustache=require(_0x2abc('0x7'));var util=require(_0x2abc('0x8'));var path=require(_0x2abc('0x9'));var sox=require('sox');var csv=require(_0x2abc('0xa'));var ejs=require(_0x2abc('0xb'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x2abc('0xc'));var crypto=require('crypto');var jsforce=require(_0x2abc('0xd'));var deskjs=require('desk.js');var toCsv=require(_0x2abc('0xa'));var querystring=require(_0x2abc('0xe'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x2abc('0xf'));var qs=require(_0x2abc('0x10'));var as=require(_0x2abc('0x11'));var hardwareService=require(_0x2abc('0x12'));var logger=require(_0x2abc('0x13'))(_0x2abc('0x14'));var utils=require('../../config/utils');var config=require(_0x2abc('0x15'));var licenseUtil=require(_0x2abc('0x16'));var db=require(_0x2abc('0x17'))['db'];config['redis']=_[_0x2abc('0x18')](config[_0x2abc('0x19')],{'host':_0x2abc('0x1a'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x2abc('0x19')]));require(_0x2abc('0x1b'))['register'](socket);function respondWithStatusCode(_0x535bfa,_0x28e54d){_0x28e54d=_0x28e54d||0xcc;return function(_0x340eb1){if(_0x340eb1){return _0x535bfa[_0x2abc('0x1c')](_0x28e54d);}return _0x535bfa[_0x2abc('0x1d')](_0x28e54d)[_0x2abc('0x1e')]();};}function respondWithResult(_0x1d27be,_0x21dea1){_0x21dea1=_0x21dea1||0xc8;return function(_0x3e43b1){if(_0x3e43b1){return _0x1d27be['status'](_0x21dea1)['json'](_0x3e43b1);}};}function respondWithFilteredResult(_0x95ecba,_0x407ece){return function(_0xe88630){if(_0xe88630){var _0x2acad7=typeof _0x407ece[_0x2abc('0x1f')]===_0x2abc('0x20')&&typeof _0x407ece[_0x2abc('0x21')]===_0x2abc('0x20');var _0x2ae79d=_0xe88630[_0x2abc('0x22')];var _0x5c42fe=_0x2acad7?0x0:_0x407ece[_0x2abc('0x1f')];var _0x1e9c9f=_0x2acad7?_0xe88630[_0x2abc('0x22')]:_0x407ece[_0x2abc('0x1f')]+_0x407ece['limit'];var _0x7678b8;if(_0x1e9c9f>=_0x2ae79d){_0x1e9c9f=_0x2ae79d;_0x7678b8=0xc8;}else{_0x7678b8=0xce;}_0x95ecba[_0x2abc('0x1d')](_0x7678b8);return _0x95ecba[_0x2abc('0x23')]('Content-Range',_0x5c42fe+'-'+_0x1e9c9f+'/'+_0x2ae79d)[_0x2abc('0x24')](_0xe88630);}return null;};}function patchUpdates(_0x4c2500){return function(_0x3cb8cc){try{jsonpatch[_0x2abc('0x25')](_0x3cb8cc,_0x4c2500,!![]);}catch(_0x251f29){return BPromise[_0x2abc('0x26')](_0x251f29);}return _0x3cb8cc[_0x2abc('0x27')]();};}function saveUpdates(_0x2de641,_0x41bf28){return function(_0x324bae){if(_0x324bae){return _0x324bae[_0x2abc('0x28')](_0x2de641)['then'](function(_0x5244c7){return _0x5244c7;});}return null;};}function removeEntity(_0x4a5f11,_0x20a9f5){return function(_0xf7907b){if(_0xf7907b){return _0xf7907b[_0x2abc('0x29')]()['then'](function(){_0x4a5f11[_0x2abc('0x1d')](0xcc)[_0x2abc('0x1e')]();});}};}function handleEntityNotFound(_0x472310,_0x43a116){return function(_0x4c5863){if(!_0x4c5863){_0x472310[_0x2abc('0x1c')](0x194);}return _0x4c5863;};}function handleError(_0x345a68,_0x141f73){_0x141f73=_0x141f73||0x1f4;return function(_0x497b82){logger[_0x2abc('0x2a')](_0x497b82['stack']);if(_0x497b82['name']){delete _0x497b82[_0x2abc('0x2b')];}_0x345a68['status'](_0x141f73)[_0x2abc('0x2c')](_0x497b82);};}function getInteractionUsers(_0x959b66,_0x118154){return new BPromise(function(_0x227941,_0x4edb01){try{if(_0x118154[_0x959b66['id']]){_0x959b66[_0x2abc('0x2d')]=_[_0x2abc('0x2e')](_0x118154[_0x959b66['id']],function(_0x6713b8){return{'id':_0x6713b8['id'],'fullname':_0x6713b8['fullname']};});}}catch(_0x4be41a){_0x4edb01(_0x4be41a);}_0x227941(_0x959b66);});}function getInteractionTags(_0x3134cd,_0x3d51ab){return new BPromise(function(_0x194011,_0x47845c){try{if(_0x3134cd[_0x2abc('0x2f')]){_0x3134cd[_0x2abc('0x30')]=[];_0x3134cd[_0x2abc('0x2f')]['split'](',')['forEach'](function(_0x5a4c1f){_0x3134cd['Tags'][_0x2abc('0x31')](_0x3d51ab[_0x5a4c1f]);});}delete _0x3134cd[_0x2abc('0x2f')];}catch(_0x51c697){_0x47845c(_0x51c697);}_0x194011(_0x3134cd);});}function updateFaxInteraction(_0x31295b,_0x6f9fb8,_0x58dc90){return new BPromise(function(_0x2d7a4f,_0x4996e0){return getInteractionUsers(_0x31295b,_0x58dc90)[_0x2abc('0x32')](function(_0x5b8c5f){return getInteractionTags(_0x5b8c5f,_0x6f9fb8);})[_0x2abc('0x32')](function(_0x3bbde3){_0x2d7a4f(_0x3bbde3);})[_0x2abc('0x33')](function(_0x3cc639){_0x4996e0(_0x3cc639);});});}exports[_0x2abc('0x34')]=function(_0x18fb63,_0x8b3b8e){var _0x22e6fc={},_0x3131c7={},_0x28f95f={'count':0x0,'rows':[]};var _0x45d18d=_[_0x2abc('0x2e')](db[_0x2abc('0x35')][_0x2abc('0x36')],function(_0x543263){return{'name':_0x543263[_0x2abc('0x37')],'type':_0x543263[_0x2abc('0x38')]['key']};});_0x3131c7[_0x2abc('0x39')]=_['map'](_0x45d18d,'name');_0x3131c7[_0x2abc('0x3a')]=_['keys'](_0x18fb63[_0x2abc('0x3a')]);_0x3131c7[_0x2abc('0x3b')]=_[_0x2abc('0x3c')](_0x3131c7[_0x2abc('0x39')],_0x3131c7[_0x2abc('0x3a')]);_0x22e6fc[_0x2abc('0x3d')]=_[_0x2abc('0x3c')](_0x3131c7[_0x2abc('0x39')],qs['fields'](_0x18fb63[_0x2abc('0x3a')][_0x2abc('0x3e')]));_0x22e6fc[_0x2abc('0x3d')]=_0x22e6fc[_0x2abc('0x3d')][_0x2abc('0x3f')]?_0x22e6fc[_0x2abc('0x3d')]:_0x3131c7[_0x2abc('0x39')];if(!_0x18fb63['query'][_0x2abc('0x40')](_0x2abc('0x41'))){_0x22e6fc['limit']=qs[_0x2abc('0x21')](_0x18fb63[_0x2abc('0x3a')][_0x2abc('0x21')]);_0x22e6fc['offset']=qs['offset'](_0x18fb63[_0x2abc('0x3a')][_0x2abc('0x1f')]);}_0x22e6fc[_0x2abc('0x42')]=qs[_0x2abc('0x43')](_0x18fb63[_0x2abc('0x3a')]['sort']);_0x22e6fc[_0x2abc('0x44')]=qs[_0x2abc('0x3b')](_[_0x2abc('0x45')](_0x18fb63[_0x2abc('0x3a')],_0x3131c7[_0x2abc('0x3b')]),_0x45d18d);var _0x2ea0f8=[];var _0x51dc3f=squel[_0x2abc('0x46')]()['field']('id')[_0x2abc('0x47')](_0x2abc('0x2b'))[_0x2abc('0x47')](_0x2abc('0x48'))[_0x2abc('0x49')](_0x2abc('0x4a'));var _0x5a80dd=squel[_0x2abc('0x46')]()['field'](_0x2abc('0x4b'))[_0x2abc('0x47')](_0x2abc('0x4c'))[_0x2abc('0x47')](_0x2abc('0x4d'))['from'](_0x2abc('0x4e'),'ui')[_0x2abc('0x4f')](_0x2abc('0x50'),'u',_0x2abc('0x51'));var _0x13efe3=squel[_0x2abc('0x46')]()[_0x2abc('0x49')](_0x2abc('0x52'),'i')[_0x2abc('0x4f')](_0x2abc('0x53'),'c',_0x2abc('0x54'))[_0x2abc('0x4f')](_0x2abc('0x50'),'o',_0x2abc('0x55'))['left_join'](_0x2abc('0x56'),'a',_0x2abc('0x57'))[_0x2abc('0x4f')](_0x2abc('0x58'),'me',_0x2abc('0x59'))[_0x2abc('0x4f')](_0x2abc('0x5a'),'it','it.FaxInteractionId\x20=\x20i.id')['left_join'](_0x2abc('0x4a'),'t',_0x2abc('0x5b'));var _0xa28860=squel[_0x2abc('0x5c')]();var _0x4aeafa=[];var _0x34b4ca=squel[_0x2abc('0x5c')]();var _0x3c31be;if(_0x18fb63['query'][_0x2abc('0x5d')]){_0x3c31be=as[_0x2abc('0x5e')](_0x18fb63[_0x2abc('0x3a')]['search']);var _0x3cc26f=_0x3c31be[_0x2abc('0x5f')];for(var _0x398ea4=0x0;_0x398ea4<_0x3c31be['conditions'][_0x2abc('0x3f')];_0x398ea4++){var _0x54de22=_0x3c31be[_0x2abc('0x60')][_0x398ea4];var _0x27a4bd='i';var _0x5a51c7=_[_0x2abc('0x61')](_0x45d18d,['name',_0x54de22[_0x2abc('0x47')]]);if(!_0x5a51c7){switch(_0x54de22['field']){case _0x2abc('0x62'):if(_0x54de22[_0x2abc('0x63')]==0x1){_0x13efe3['having']('`'+_0x54de22[_0x2abc('0x47')]+_0x2abc('0x64'));}else{_0x13efe3[_0x2abc('0x65')]('`'+_0x54de22[_0x2abc('0x47')]+'`\x20>\x200');}break;case _0x2abc('0x66'):if(_0x54de22['operator']===_0x2abc('0x67')){if(_0x54de22[_0x2abc('0x63')]['split']('\x20')[_0x2abc('0x3f')]>0x1){_0xa28860[_0x3cc26f](_0x2abc('0x68'),qs[_0x2abc('0x69')](_0x54de22[_0x2abc('0x63')]),null);}else{var _0x398d70='%'+_0x54de22[_0x2abc('0x63')]+'%';_0xa28860[_0x3cc26f](_0x2abc('0x6a'),_0x398d70,_0x398d70,_0x398d70);}}else{_0x5a51c7=_['find'](_0x45d18d,[_0x2abc('0x2b'),_0x2abc('0x6b')]);_0x54de22[_0x2abc('0x47')]=_0x2abc('0x6b');_0x263122=as[_0x2abc('0x6c')](_0x27a4bd,_0x5a51c7[_0x2abc('0x38')],_0x54de22);_0xa28860[_0x3cc26f](_0x263122[_0x2abc('0x6d')],_0x263122[_0x2abc('0x63')][_0x2abc('0x6e')],_0x263122[_0x2abc('0x63')][_0x2abc('0x1e')]);}break;case _0x2abc('0x6f'):var _0x4d3145=_0x54de22[_0x2abc('0x63')][_0x2abc('0x70')](',')['map'](function(_0xaa12ae){return Number(_0xaa12ae);});_0x4d3145['forEach'](function(_0x572363){_0x34b4ca['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x572363+',%');});_0x4aeafa=_[_0x2abc('0x71')](_0x4aeafa,_0x4d3145);break;case'User':if(_0x54de22[_0x2abc('0x72')]===_0x2abc('0x67')){_0xa28860[_0x3cc26f](_0x2abc('0x73'),'%'+_0x54de22['value']+'%',null);}else{_0x5a51c7=_[_0x2abc('0x61')](_0x45d18d,[_0x2abc('0x2b'),_0x2abc('0x74')]);_0x54de22['field']=_0x2abc('0x74');_0x263122=as[_0x2abc('0x6c')](_0x27a4bd,_0x5a51c7['type'],_0x54de22);_0xa28860[_0x3cc26f](_0x263122['text'],_0x263122[_0x2abc('0x63')][_0x2abc('0x6e')],_0x263122[_0x2abc('0x63')][_0x2abc('0x1e')]);}break;case _0x2abc('0x75'):_0x263122=as[_0x2abc('0x6c')]('me',null,_0x54de22);_0xa28860[_0x3cc26f](_0x263122[_0x2abc('0x6d')],_0x263122[_0x2abc('0x63')][_0x2abc('0x6e')],_0x263122['value'][_0x2abc('0x1e')]);break;}}else{var _0x263122=as['buildExpression'](_0x27a4bd,_0x5a51c7['type'],_0x54de22);_0xa28860[_0x3cc26f](_0x263122[_0x2abc('0x6d')],_0x263122[_0x2abc('0x63')][_0x2abc('0x6e')],_0x263122[_0x2abc('0x63')][_0x2abc('0x1e')]);}}}else{var _0x6fcd14=_(_0x18fb63[_0x2abc('0x3a')])[_0x2abc('0x76')]()[_0x2abc('0x2e')](function(_0xafa5f7){return _[_0x2abc('0x77')](_0x45d18d,[_0x2abc('0x2b'),_0xafa5f7])?_0xafa5f7:undefined;})[_0x2abc('0x78')]()[_0x2abc('0x63')]();if(!_[_0x2abc('0x79')](_0x6fcd14)){_0x6fcd14[_0x2abc('0x7a')](function(_0x433baf){if(_0x433baf===_0x2abc('0x7b')){_0x13efe3[_0x2abc('0x44')](_0x2abc('0x7c'),[]['concat'](_0x18fb63[_0x2abc('0x3a')][_0x433baf]));}else if(_0x433baf===_0x2abc('0x7d')){var _0xab0dff=JSON[_0x2abc('0x7e')](_0x18fb63['query'][_0x433baf])[_0x2abc('0x7f')];var _0x1b29ab=JSON['parse'](_0x18fb63['query'][_0x433baf])[_0x2abc('0x80')];_0x13efe3[_0x2abc('0x44')]('i.createdAt\x20BETWEEN\x20?\x20AND\x20?',_0xab0dff,_0x1b29ab);}else{if(_0x18fb63['query'][_0x433baf]==='null'){_0x13efe3[_0x2abc('0x44')]('i.'+_0x433baf+_0x2abc('0x81'));}else{_0x13efe3['where']('i.'+_0x433baf+'\x20=\x20?',_0x18fb63[_0x2abc('0x3a')][_0x433baf]);}}});}if(_0x18fb63[_0x2abc('0x3a')][_0x2abc('0x82')]){if(_0x18fb63[_0x2abc('0x3a')][_0x2abc('0x82')]==0x1){_0x13efe3[_0x2abc('0x65')]('`unreadMessages`\x20=\x200');}else{_0x13efe3['having']('`unreadMessages`\x20>\x200');}}if(_0x18fb63['query'][_0x2abc('0x83')]){_0x4aeafa=_[_0x2abc('0x84')](_0x18fb63[_0x2abc('0x3a')][_0x2abc('0x83')])?_0x18fb63['query'][_0x2abc('0x83')]:new Array(_0x18fb63[_0x2abc('0x3a')]['tag']);_0x4aeafa[_0x2abc('0x7a')](function(_0xf70f1a){_0x34b4ca['or'](_0x2abc('0x85'),'%,'+_0xf70f1a+',%');});}if(_0x18fb63[_0x2abc('0x3a')][_0x2abc('0x86')]){var _0x5c5cc4=_0x18fb63['query'][_0x2abc('0x86')][_0x2abc('0x87')]('\x5c','\x5c\x5c')['replace'](/'/g,'\x27\x27');if(qs['isNumeric'](_0x5c5cc4)){_0xa28860['or'](_0x2abc('0x88'),_0x5c5cc4+'%')['or'](_0x2abc('0x89'),_0x5c5cc4+'%');}_0xa28860['or'](_0x2abc('0x8a'),_0x5c5cc4+'%');}}_0x13efe3[_0x2abc('0x44')](_0xa28860);_0x13efe3['group'](_0x2abc('0x8b'));var _0x3eca10={'type':db[_0x2abc('0x8c')][_0x2abc('0x8d')][_0x2abc('0x8e')],'raw':!![]};var _0x131a88=_0x13efe3[_0x2abc('0x8f')]();_0x131a88[_0x2abc('0x47')](_0x2abc('0x8b'));_0x131a88['field'](_0x2abc('0x90'),_0x2abc('0x62'));if(_0x22e6fc['order']){_0x22e6fc[_0x2abc('0x42')][_0x2abc('0x7a')](function(_0x4619e1){var _0x315913=_0x4619e1[0x0]===_0x2abc('0x91')?_0x4619e1[0x0]:'i.'+_0x4619e1[0x0];_0x13efe3['order'](_0x315913,_0x4619e1[0x1]===_0x2abc('0x92')?![]:!![]);});}if(!_[_0x2abc('0x79')](_0x4aeafa)){_0x13efe3[_0x2abc('0x65')](_0x34b4ca);_0x131a88[_0x2abc('0x44')](_0x2abc('0x93'),_0x4aeafa);}BPromise[_0x2abc('0x94')]()[_0x2abc('0x32')](function(){if(!_0x3c31be){if(_0x18fb63[_0x2abc('0x3a')][_0x2abc('0x7b')])return;_0x131a88[_0x2abc('0x44')](_0x2abc('0x95'));_0x13efe3[_0x2abc('0x44')]('i.FaxAccountId\x20IS\x20NOT\x20NULL');return;}if(_0x18fb63[_0x2abc('0x96')][_0x2abc('0x97')]!==_0x2abc('0x98'))return;return _0x18fb63[_0x2abc('0x96')][_0x2abc('0x99')]({'attributes':['id'],'raw':!![]})['then'](function(_0x5be8fe){if(_[_0x2abc('0x79')](_0x5be8fe)){_0x131a88[_0x2abc('0x44')](_0x2abc('0x9a'));_0x13efe3['where'](_0x2abc('0x9a'));}else{_0x131a88[_0x2abc('0x44')]('i.FaxAccountId\x20IN\x20?',_[_0x2abc('0x2e')](_0x5be8fe,'id'));_0x13efe3['where'](_0x2abc('0x7c'),_[_0x2abc('0x2e')](_0x5be8fe,'id'));}});})[_0x2abc('0x32')](function(){if(_0x18fb63[_0x2abc('0x96')][_0x2abc('0x97')]==='agent'&&!_0x3c31be&&!_0x18fb63[_0x2abc('0x3a')][_0x2abc('0x7b')])return[];return db[_0x2abc('0x9b')]['query'](_0x131a88['toString'](),_0x3eca10);})[_0x2abc('0x32')](function(_0x3b2fd8){_0x28f95f[_0x2abc('0x22')]=_0x3b2fd8[_0x2abc('0x3f')];if(_0x28f95f[_0x2abc('0x22')]===0x0)return[];return db['sequelize'][_0x2abc('0x3a')](_0x51dc3f[_0x2abc('0x9c')](),_0x3eca10)['then'](function(_0x2eeced){_0x2ea0f8=_[_0x2abc('0x9d')](_0x2eeced,'id');_0x3eca10=_[_0x2abc('0x9e')](_0x3eca10,{'model':db[_0x2abc('0x35')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x18fb63[_0x2abc('0x3a')][_0x2abc('0x3e')]){_0x22e6fc[_0x2abc('0x3d')]['forEach'](function(_0x3c8dff){_0x13efe3[_0x2abc('0x47')]('i.'+_0x3c8dff);});}else{_0x13efe3[_0x2abc('0x47')](_0x2abc('0x90'),'unreadMessages');_0x13efe3[_0x2abc('0x47')]('a.key','Account.key');_0x13efe3[_0x2abc('0x47')](_0x2abc('0x9f'),'Account.mandatoryDisposition');_0x13efe3['field'](_0x2abc('0xa0'),'contactName');_0x13efe3['field'](_0x2abc('0xa1'));_0x13efe3[_0x2abc('0x47')](_0x2abc('0xa2'),'Contact.firstName');_0x13efe3[_0x2abc('0x47')](_0x2abc('0xa3'),_0x2abc('0xa4'));_0x13efe3[_0x2abc('0x47')](_0x2abc('0xa5'),_0x2abc('0xa6'));_0x13efe3[_0x2abc('0x47')]('c.phone',_0x2abc('0xa7'));_0x13efe3[_0x2abc('0x47')](_0x2abc('0xa8'),_0x2abc('0xa9'));_0x13efe3[_0x2abc('0x47')]('c.fax','Contact.fax');_0x13efe3[_0x2abc('0x47')](_0x2abc('0xaa'),_0x2abc('0xab'));_0x13efe3['field'](_0x2abc('0xac'),'Owner.internal');_0x13efe3['field'](_0x2abc('0xad'),'TagIds');}if(_0x22e6fc['limit'])_0x13efe3[_0x2abc('0x21')](_0x22e6fc['limit']);if(_0x22e6fc[_0x2abc('0x1f')])_0x13efe3[_0x2abc('0x1f')](_0x22e6fc[_0x2abc('0x1f')]);return db[_0x2abc('0x9b')][_0x2abc('0x3a')](_0x13efe3[_0x2abc('0x9c')](),_0x3eca10);})['then'](function(_0x529408){if(_0x529408[_0x2abc('0x3f')]>0x0)_0x5a80dd[_0x2abc('0x44')](_0x2abc('0xae'),_['map'](_0x529408,'id'));return db[_0x2abc('0x9b')]['query'](_0x5a80dd['toString'](),_0x3eca10)[_0x2abc('0x32')](function(_0x575da7){var _0x58eb7f=_[_0x2abc('0xaf')](_0x575da7,_0x2abc('0xb0'));var _0x35ea3c=[];_0x529408[_0x2abc('0x7a')](function(_0x3ed9be){_0x35ea3c['push'](updateFaxInteraction(_0x3ed9be,_0x2ea0f8,_0x58eb7f));});return BPromise[_0x2abc('0xb1')](_0x35ea3c);});});})[_0x2abc('0x32')](function(_0x568cdc){_0x28f95f[_0x2abc('0xb2')]=_0x568cdc;return _0x28f95f;})[_0x2abc('0x32')](respondWithFilteredResult(_0x8b3b8e,_0x22e6fc))[_0x2abc('0x33')](handleError(_0x8b3b8e,null));};exports[_0x2abc('0xb3')]=function(_0x51101f,_0x416cd5){var _0xece589={'raw':![],'where':{'id':_0x51101f['params']['id']}},_0x5a0984={};_0x5a0984[_0x2abc('0x39')]=_[_0x2abc('0x76')](db[_0x2abc('0x35')]['rawAttributes']);_0x5a0984[_0x2abc('0x3a')]=_[_0x2abc('0x76')](_0x51101f[_0x2abc('0x3a')]);_0x5a0984[_0x2abc('0x3b')]=_['intersection'](_0x5a0984['model'],_0x5a0984['query']);_0xece589['attributes']=_[_0x2abc('0x3c')](_0x5a0984[_0x2abc('0x39')],qs[_0x2abc('0x3e')](_0x51101f[_0x2abc('0x3a')][_0x2abc('0x3e')]));_0xece589[_0x2abc('0x3d')]=_0xece589['attributes'][_0x2abc('0x3f')]?_0xece589['attributes']:_0x5a0984[_0x2abc('0x39')];if(_0x51101f['query'][_0x2abc('0xb4')]){_0xece589[_0x2abc('0xb5')]=[{'all':!![]}];}_0xece589=_['merge']({},_0xece589,_0x51101f['options']);return db[_0x2abc('0x35')][_0x2abc('0x61')](_0xece589)[_0x2abc('0x32')](handleEntityNotFound(_0x416cd5,null))['then'](respondWithResult(_0x416cd5,null))['catch'](handleError(_0x416cd5,null));};exports['create']=function(_0x459395,_0x367ff3){return db['FaxInteraction']['create'](_0x459395[_0x2abc('0x75')],{})[_0x2abc('0x32')](respondWithResult(_0x367ff3,0xc9))[_0x2abc('0x33')](handleError(_0x367ff3,null));};exports['update']=function(_0x4b0e63,_0x3c6432){if(_0x4b0e63[_0x2abc('0x75')]['id']){delete _0x4b0e63[_0x2abc('0x75')]['id'];}return db[_0x2abc('0x35')][_0x2abc('0x61')]({'where':{'id':_0x4b0e63[_0x2abc('0xb6')]['id']}})[_0x2abc('0x32')](handleEntityNotFound(_0x3c6432,null))['then'](saveUpdates(_0x4b0e63[_0x2abc('0x75')],null))[_0x2abc('0x32')](respondWithResult(_0x3c6432,null))[_0x2abc('0x33')](handleError(_0x3c6432,null));};exports[_0x2abc('0x29')]=function(_0x209074,_0x55d5f2){return db[_0x2abc('0x35')][_0x2abc('0x61')]({'where':{'id':_0x209074[_0x2abc('0xb6')]['id']}})[_0x2abc('0x32')](handleEntityNotFound(_0x55d5f2,null))[_0x2abc('0x32')](removeEntity(_0x55d5f2,null))['catch'](handleError(_0x55d5f2,null));};exports['describe']=function(_0x2edb8e,_0x4f814c){return db[_0x2abc('0x35')]['describe']()[_0x2abc('0x32')](respondWithResult(_0x4f814c,null))['catch'](handleError(_0x4f814c,null));};exports[_0x2abc('0xb7')]=function(_0x4f0013,_0x542c3d,_0x19e5fa){return db[_0x2abc('0xb8')][_0x2abc('0x61')]({'where':{'id':_0x4f0013[_0x2abc('0xb6')]['id']}})[_0x2abc('0x32')](handleEntityNotFound(_0x542c3d,null))['then'](function(_0x3108dc){if(_0x3108dc){return _0x3108dc[_0x2abc('0xb7')](_0x4f0013['body'][_0x2abc('0xb9')],_[_0x2abc('0xba')](_0x4f0013['body'],[_0x2abc('0xb9'),'id'])||{});}})[_0x2abc('0x32')](respondWithResult(_0x542c3d,null))['catch'](handleError(_0x542c3d,null));};exports[_0x2abc('0xbb')]=function(_0x203353,_0xa89832,_0x341503){var _0x510922={'raw':![],'where':{}};var _0x595888={};var _0x2e00d6={'count':0x0,'rows':[]};return db[_0x2abc('0x35')]['findOne']({'where':{'id':_0x203353[_0x2abc('0xb6')]['id']}})[_0x2abc('0x32')](handleEntityNotFound(_0xa89832,null))[_0x2abc('0x32')](function(_0xed5865){if(_0xed5865){_0x595888[_0x2abc('0x39')]=_[_0x2abc('0x76')](db[_0x2abc('0xb8')][_0x2abc('0x36')]);_0x595888[_0x2abc('0x3a')]=_[_0x2abc('0x76')](_0x203353[_0x2abc('0x3a')]);_0x595888[_0x2abc('0x3b')]=_[_0x2abc('0x3c')](_0x595888[_0x2abc('0x39')],_0x595888[_0x2abc('0x3a')]);_0x510922[_0x2abc('0x3d')]=_[_0x2abc('0x3c')](_0x595888[_0x2abc('0x39')],qs[_0x2abc('0x3e')](_0x203353[_0x2abc('0x3a')][_0x2abc('0x3e')]));_0x510922[_0x2abc('0x3d')]=_0x510922[_0x2abc('0x3d')][_0x2abc('0x3f')]?_0x510922['attributes']:_0x595888[_0x2abc('0x39')];if(!_0x203353[_0x2abc('0x3a')][_0x2abc('0x40')](_0x2abc('0x41'))){_0x510922[_0x2abc('0x21')]=qs[_0x2abc('0x21')](_0x203353['query'][_0x2abc('0x21')]);_0x510922[_0x2abc('0x1f')]=qs['offset'](_0x203353['query']['offset']);}_0x510922[_0x2abc('0x42')]=qs[_0x2abc('0x43')](_0x203353[_0x2abc('0x3a')][_0x2abc('0x43')]);_0x510922[_0x2abc('0x44')]=qs[_0x2abc('0x3b')](_[_0x2abc('0x45')](_0x203353[_0x2abc('0x3a')],_0x595888[_0x2abc('0x3b')]));_0x510922[_0x2abc('0x44')][_0x2abc('0xb0')]=_0xed5865['id'];if(_0x203353['query'][_0x2abc('0x86')]){_0x510922[_0x2abc('0x44')]=_[_0x2abc('0x9e')](_0x510922[_0x2abc('0x44')],{'$or':_[_0x2abc('0x2e')](_0x510922[_0x2abc('0x3d')],function(_0x2c4c92){var _0x111e9e={};_0x111e9e[_0x2c4c92]={'$like':'%'+_0x203353['query']['filter']+'%'};return _0x111e9e;})});}if(_0x203353[_0x2abc('0x3a')][_0x2abc('0x7f')]){var _0x3193a0=_0x203353['query'][_0x2abc('0x7f')][_0x2abc('0x70')](',');var _0x36cc22={};_0x36cc22[_0x3193a0[0x0]]={'$gte':moment(_0x3193a0[0x1])['format']('YYYY-MM-DD\x20HH:mm:ss')};_0x510922[_0x2abc('0x44')]=_[_0x2abc('0x9e')](_0x510922[_0x2abc('0x44')],_0x36cc22);}_0x510922=_[_0x2abc('0x9e')]({},_0x510922,_0x203353[_0x2abc('0xbc')]);return db['FaxMessage'][_0x2abc('0x22')]({'where':_0x510922[_0x2abc('0x44')]})['then'](function(_0x19c210){_0x2e00d6[_0x2abc('0x22')]=_0x19c210;if(_0x203353[_0x2abc('0x3a')]['includeAll']){_0x510922['include']=[{'all':!![]}];}return db[_0x2abc('0xb8')][_0x2abc('0xbd')](_0x510922);})[_0x2abc('0x32')](function(_0x444895){_0x2e00d6[_0x2abc('0xb2')]=_0x444895;return _0x2e00d6;});}})[_0x2abc('0x32')](respondWithFilteredResult(_0xa89832,_0x510922))[_0x2abc('0x33')](handleError(_0xa89832,null));};exports[_0x2abc('0xbe')]=function(_0x4056c2,_0x284644,_0x3d6ce7){return db[_0x2abc('0x35')][_0x2abc('0x61')]({'where':{'id':_0x4056c2[_0x2abc('0xb6')]['id']}})[_0x2abc('0x32')](handleEntityNotFound(_0x284644,null))['then'](function(_0x5984c5){if(_0x5984c5){return _0x5984c5[_0x2abc('0xbf')](_0x4056c2['body'][_0x2abc('0xb9')],_[_0x2abc('0xba')](_0x4056c2[_0x2abc('0x75')],['ids','id'])||{})[_0x2abc('0xc0')](function(){return db[_0x2abc('0x6f')][_0x2abc('0xbd')]({'attributes':['id',_0x2abc('0x2b'),_0x2abc('0x48')],'where':{'id':_0x4056c2['body'][_0x2abc('0xb9')]}});})[_0x2abc('0x32')](function(_0x476194){socket[_0x2abc('0xc1')](_0x2abc('0xc2'),{'id':Number(_0x4056c2[_0x2abc('0xb6')]['id']),'tags':_0x476194||[]});return{'id':Number(_0x4056c2[_0x2abc('0xb6')]['id']),'tags':_0x476194||[]};});}})[_0x2abc('0x32')](respondWithResult(_0x284644,null))['catch'](handleError(_0x284644,null));};exports[_0x2abc('0xc3')]=function(_0x1d2445,_0x345ba2,_0x3d5414){return db['FaxInteraction'][_0x2abc('0x61')]({'where':{'id':_0x1d2445[_0x2abc('0xb6')]['id']}})[_0x2abc('0x32')](handleEntityNotFound(_0x345ba2,null))['then'](function(_0x1abd8e){if(_0x1abd8e){return _0x1abd8e['removeTags'](_0x1d2445['query'][_0x2abc('0xb9')]);}})[_0x2abc('0x32')](respondWithStatusCode(_0x345ba2,null))[_0x2abc('0x33')](handleError(_0x345ba2,null));};exports[_0x2abc('0xc4')]=function(_0x3f2c28,_0x2543e9){var _0x4de1af=moment()[_0x2abc('0xc5')]()[_0x2abc('0x9c')]();var _0x199676=path['join'](config['root'],'server',_0x2abc('0xc6'),_0x2abc('0xc7'));var _0x9414e0=path[_0x2abc('0xc8')](config['root'],'server',_0x2abc('0xc6'),_0x2abc('0xc9'));var _0x5c3aa9=path['join'](_0x199676,_0x4de1af);var _0x222b34=util[_0x2abc('0xca')]('transcript-%d-%s.zip',_0x3f2c28['params']['id'],_0x4de1af);var _0x4d9e6b=path[_0x2abc('0xc8')](_0x199676,_0x222b34);var _0x16a504=[];_0x16a504[_0x2abc('0x31')]({'model':db[_0x2abc('0xcb')],'as':'Attachment','raw':!![]});var _0x27c29c=[{'model':db[_0x2abc('0xb8')],'as':_0x2abc('0xcc'),'attributes':['id',_0x2abc('0x75'),'createdAt'],'include':_0x16a504}];return db[_0x2abc('0x35')][_0x2abc('0x61')]({'where':{'id':_0x3f2c28['params']['id']},'include':_0x27c29c})[_0x2abc('0x32')](handleEntityNotFound(_0x2543e9,null))[_0x2abc('0x32')](function(_0x3be3a6){if(_0x3be3a6&&_0x3be3a6[_0x2abc('0xcc')]){var _0xc82dce=_0x3be3a6[_0x2abc('0xcd')]({'plain':!![]});fs['mkdirSync'](_0x5c3aa9);for(var _0x4f682b=0x0;_0x4f682b<_0xc82dce['Messages'][_0x2abc('0x3f')];_0x4f682b++){var _0x2fecd6=_0xc82dce['Messages'][_0x4f682b]['Attachment'];if(_0x2fecd6){var _0x108f83=path['join'](_0x9414e0,_0x2fecd6[_0x2abc('0xce')]);if(fs[_0x2abc('0xcf')](_0x108f83)){fs[_0x2abc('0xd0')](_0x108f83)[_0x2abc('0xd1')](fs[_0x2abc('0xd2')](path[_0x2abc('0xc8')](_0x5c3aa9,_0x2fecd6[_0x2abc('0xce')])));}}}return BPromise[_0x2abc('0x94')]()[_0x2abc('0x32')](function(){return new BPromise(function(_0x411bd8,_0x40e9ea){zipdir(_0x5c3aa9,{'saveTo':_0x4d9e6b},function(_0xe4059d,_0x2a5d8f){if(_0xe4059d)return _0x40e9ea(_0xe4059d);return _0x411bd8(_0x2a5d8f);});})[_0x2abc('0x32')](function(){return new BPromise(function(_0x39f8e5,_0x22ebb7){rimraf(_0x5c3aa9,function(_0x388b27){if(_0x388b27)_0x22ebb7(_0x388b27);return _0x39f8e5();});});})[_0x2abc('0x32')](function(){return _0x2543e9[_0x2abc('0xc4')](_0x4d9e6b,_0x222b34,function(_0x2264fd){if(_0x2264fd){console[_0x2abc('0xd3')]('err',_0x2264fd);}else{fs[_0x2abc('0xd4')](_0x4d9e6b);}});});});}else{return _0x2543e9[_0x2abc('0x1c')](0xc8);}})[_0x2abc('0x33')](handleError(_0x2543e9,null));};