15294828a8b5dea8b5e5add31d2ecc1b6946fa94
[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 _0x0853=['params','filtears','includeAll','include','options','create','destroy','describe','addMessage','FaxMessage','ids','omit','findOne','pick','format','YYYY-MM-DD\x20HH:mm:ss','findAll','addTags','setTags','emit','faxInteractionTags:save','removeTags','download','unix','join','root','server','files','transcript-%d-%s.zip','push','Attachment','Messages','get','basename','existsSync','pipe','createWriteStream','resolve','err','unlinkSync','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','ejs','lodash','squel','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','redis','defaults','localhost','socket.io-emitter','./faxInteraction.socket','register','sendStatus','status','end','json','offset','limit','set','reject','save','update','then','error','stack','name','send','TagIds','Tags','forEach','catch','index','FaxInteraction','rawAttributes','type','key','model','map','query','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','select','field','color','from','u.id','u.fullname','user_has_fax_interactions','left_join','u.id\x20=\x20ui.UserId','fax_interactions','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','users','a.id\x20=\x20i.FaxAccountId','fax_messages','me.FaxInteractionId\x20=\x20i.id','fax_interaction_has_tags','tools_tags','expr','search','parseSearch','sqlOperator','conditions','length','find','unreadMessages','value','having','`\x20=\x200','`\x20>\x200','Contact','operator','split','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','Tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','$substring','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','start','body','keys','some','compact','isEmpty','FaxAccountId','concat','createdAt','parse','$gte','null','read','`unreadMessages`\x20>\x200','tag','filter','replace','\x27\x27\x27\x27','isNumeric','i.id\x20LIKE\x20?','i.fax\x20LIKE\x20?','group','i.id','Sequelize','QueryTypes','SELECT','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','DESC','t.id\x20IN\x20?','journey','i.FaxAccountId\x20IS\x20NOT\x20NULL','user','getFaxAccounts','i.FaxAccountId\x20IN\x20?','sequelize','toString','count','keyBy','merge','Account.key','a.mandatoryDisposition','Account.mandatoryDisposition','i.*','c.firstName','Contact.firstName','c.lastName','Contact.lastName','c.email','Contact.email','Contact.phone','c.mobile','c.fax','Contact.fax','Owner.fullname','o.internal','Owner.internal','ui.FaxInteractionId\x20IN\x20?','FaxInteractionId','all','rows','show'];(function(_0x501510,_0x61caa9){var _0x1e6ee5=function(_0x32845b){while(--_0x32845b){_0x501510['push'](_0x501510['shift']());}};_0x1e6ee5(++_0x61caa9);}(_0x0853,0x101));var _0x3085=function(_0x5083dc,_0x2e8572){_0x5083dc=_0x5083dc-0x0;var _0x426377=_0x0853[_0x5083dc];return _0x426377;};'use strict';var pdf=require(_0x3085('0x0'));var emlformat=require(_0x3085('0x1'));var rimraf=require(_0x3085('0x2'));var zipdir=require(_0x3085('0x3'));var jsonpatch=require(_0x3085('0x4'));var rp=require(_0x3085('0x5'));var moment=require(_0x3085('0x6'));var BPromise=require(_0x3085('0x7'));var Mustache=require(_0x3085('0x8'));var util=require(_0x3085('0x9'));var path=require(_0x3085('0xa'));var sox=require(_0x3085('0xb'));var csv=require('to-csv');var ejs=require(_0x3085('0xc'));var fs=require('fs');var _=require(_0x3085('0xd'));var squel=require(_0x3085('0xe'));var crypto=require('crypto');var jsforce=require(_0x3085('0xf'));var deskjs=require(_0x3085('0x10'));var toCsv=require(_0x3085('0x11'));var querystring=require(_0x3085('0x12'));var Papa=require(_0x3085('0x13'));var Redis=require(_0x3085('0x14'));var authService=require(_0x3085('0x15'));var qs=require('../../components/parsers/qs');var as=require(_0x3085('0x16'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x3085('0x17'))(_0x3085('0x18'));var utils=require(_0x3085('0x19'));var config=require(_0x3085('0x1a'));var licenseUtil=require(_0x3085('0x1b'));var db=require('../../mysqldb')['db'];config[_0x3085('0x1c')]=_[_0x3085('0x1d')](config['redis'],{'host':_0x3085('0x1e'),'port':0x18eb});var socket=require(_0x3085('0x1f'))(new Redis(config[_0x3085('0x1c')]));require(_0x3085('0x20'))[_0x3085('0x21')](socket);function respondWithStatusCode(_0x355525,_0x3b891b){_0x3b891b=_0x3b891b||0xcc;return function(_0x5bacdb){if(_0x5bacdb){return _0x355525[_0x3085('0x22')](_0x3b891b);}return _0x355525[_0x3085('0x23')](_0x3b891b)[_0x3085('0x24')]();};}function respondWithResult(_0x422e5e,_0x5e3784){_0x5e3784=_0x5e3784||0xc8;return function(_0x16b66b){if(_0x16b66b){return _0x422e5e[_0x3085('0x23')](_0x5e3784)[_0x3085('0x25')](_0x16b66b);}};}function respondWithFilteredResult(_0x439fac,_0x41f97f){return function(_0xe7be74){if(_0xe7be74){var _0x1c89cf=_0xe7be74['count'],_0x51b71b=_0x41f97f['offset'],_0x1f80ed=_0x41f97f[_0x3085('0x26')]+_0x41f97f[_0x3085('0x27')],_0x5e7c07;if(_0x1f80ed>=_0x1c89cf){_0x1f80ed=_0x1c89cf;_0x5e7c07=0xc8;}else{_0x5e7c07=0xce;}_0x439fac[_0x3085('0x23')](_0x5e7c07);return _0x439fac[_0x3085('0x28')]('Content-Range',_0x51b71b+'-'+_0x1f80ed+'/'+_0x1c89cf)[_0x3085('0x25')](_0xe7be74);}return null;};}function patchUpdates(_0x1238b7){return function(_0x43c38e){try{jsonpatch['apply'](_0x43c38e,_0x1238b7,!![]);}catch(_0x45169b){return BPromise[_0x3085('0x29')](_0x45169b);}return _0x43c38e[_0x3085('0x2a')]();};}function saveUpdates(_0x4d2662,_0x1b0bc7){return function(_0x1d9352){if(_0x1d9352){return _0x1d9352[_0x3085('0x2b')](_0x4d2662)[_0x3085('0x2c')](function(_0x4bee71){return _0x4bee71;});}return null;};}function removeEntity(_0x55676b,_0x4a2eb1){return function(_0x3b50e1){if(_0x3b50e1){return _0x3b50e1['destroy']()[_0x3085('0x2c')](function(){_0x55676b[_0x3085('0x23')](0xcc)['end']();});}};}function handleEntityNotFound(_0x37569f,_0x1a6fec){return function(_0x51905){if(!_0x51905){_0x37569f[_0x3085('0x22')](0x194);}return _0x51905;};}function handleError(_0xf0c01f,_0x28ac13){_0x28ac13=_0x28ac13||0x1f4;return function(_0x20560a){logger[_0x3085('0x2d')](_0x20560a[_0x3085('0x2e')]);if(_0x20560a[_0x3085('0x2f')]){delete _0x20560a['name'];}_0xf0c01f[_0x3085('0x23')](_0x28ac13)[_0x3085('0x30')](_0x20560a);};}function getInteractionUsers(_0x167b1d,_0x526882){return new BPromise(function(_0x3a93cc,_0x2faad4){try{if(_0x526882[_0x167b1d['id']]){_0x167b1d['Users']=_['map'](_0x526882[_0x167b1d['id']],function(_0x425ed8){return{'id':_0x425ed8['id'],'fullname':_0x425ed8['fullname']};});}}catch(_0x4f1978){_0x2faad4(_0x4f1978);}_0x3a93cc(_0x167b1d);});}function getInteractionTags(_0x32fb32,_0x4ec9ea){return new BPromise(function(_0x25cdb1,_0x427104){try{if(_0x32fb32[_0x3085('0x31')]){_0x32fb32[_0x3085('0x32')]=[];_0x32fb32[_0x3085('0x31')]['split'](',')[_0x3085('0x33')](function(_0x25061d){_0x32fb32['Tags']['push'](_0x4ec9ea[_0x25061d]);});}delete _0x32fb32['TagIds'];}catch(_0x5f1f7a){_0x427104(_0x5f1f7a);}_0x25cdb1(_0x32fb32);});}function updateFaxInteraction(_0x597f06,_0x2cade1,_0x4b8986){return new BPromise(function(_0x453aec,_0x51a4a0){return getInteractionUsers(_0x597f06,_0x4b8986)[_0x3085('0x2c')](function(_0xb7e33b){return getInteractionTags(_0xb7e33b,_0x2cade1);})[_0x3085('0x2c')](function(_0x4cd2b7){_0x453aec(_0x4cd2b7);})[_0x3085('0x34')](function(_0x1f1810){_0x51a4a0(_0x1f1810);});});}exports[_0x3085('0x35')]=function(_0xb84726,_0xcd7a9d){var _0x587019={},_0x2f20be={},_0x4398a4={'count':0x0,'rows':[]};var _0x528e8b=_['map'](db[_0x3085('0x36')][_0x3085('0x37')],function(_0x5af035){return{'name':_0x5af035['fieldName'],'type':_0x5af035[_0x3085('0x38')][_0x3085('0x39')]};});_0x2f20be[_0x3085('0x3a')]=_[_0x3085('0x3b')](_0x528e8b,_0x3085('0x2f'));_0x2f20be[_0x3085('0x3c')]=_['keys'](_0xb84726[_0x3085('0x3c')]);_0x2f20be[_0x3085('0x3d')]=_[_0x3085('0x3e')](_0x2f20be[_0x3085('0x3a')],_0x2f20be[_0x3085('0x3c')]);_0x587019[_0x3085('0x3f')]=_[_0x3085('0x3e')](_0x2f20be[_0x3085('0x3a')],qs[_0x3085('0x40')](_0xb84726[_0x3085('0x3c')][_0x3085('0x40')]));_0x587019[_0x3085('0x3f')]=_0x587019['attributes']['length']?_0x587019[_0x3085('0x3f')]:_0x2f20be['model'];if(!_0xb84726['query'][_0x3085('0x41')](_0x3085('0x42'))){_0x587019['limit']=qs[_0x3085('0x27')](_0xb84726[_0x3085('0x3c')][_0x3085('0x27')]);_0x587019['offset']=qs[_0x3085('0x26')](_0xb84726[_0x3085('0x3c')][_0x3085('0x26')]);}_0x587019[_0x3085('0x43')]=qs[_0x3085('0x44')](_0xb84726[_0x3085('0x3c')][_0x3085('0x44')]);_0x587019[_0x3085('0x45')]=qs[_0x3085('0x3d')](_['pick'](_0xb84726[_0x3085('0x3c')],_0x2f20be[_0x3085('0x3d')]),_0x528e8b);var _0xa3a499=[];var _0x5e8dfa=squel[_0x3085('0x46')]()[_0x3085('0x47')]('id')['field'](_0x3085('0x2f'))[_0x3085('0x47')](_0x3085('0x48'))[_0x3085('0x49')]('tools_tags');var _0x940f58=squel['select']()[_0x3085('0x47')](_0x3085('0x4a'))[_0x3085('0x47')](_0x3085('0x4b'))[_0x3085('0x47')]('ui.FaxInteractionId')[_0x3085('0x49')](_0x3085('0x4c'),'ui')[_0x3085('0x4d')]('users','u',_0x3085('0x4e'));var _0x54f2a7=squel[_0x3085('0x46')]()[_0x3085('0x49')](_0x3085('0x4f'),'i')[_0x3085('0x4d')](_0x3085('0x50'),'c',_0x3085('0x51'))[_0x3085('0x4d')](_0x3085('0x52'),'o','o.id\x20=\x20i.UserId')['left_join']('fax_accounts','a',_0x3085('0x53'))[_0x3085('0x4d')](_0x3085('0x54'),'me',_0x3085('0x55'))['left_join'](_0x3085('0x56'),'it','it.FaxInteractionId\x20=\x20i.id')[_0x3085('0x4d')](_0x3085('0x57'),'t','t.id\x20=\x20it.TagId');var _0x3612ca=squel['expr']();var _0x2006ad=[];var _0x551f55=squel[_0x3085('0x58')]();var _0x507642;if(_0xb84726[_0x3085('0x3c')][_0x3085('0x59')]){_0x507642=as[_0x3085('0x5a')](_0xb84726['query'][_0x3085('0x59')]);var _0x4f8760=_0x507642[_0x3085('0x5b')];for(var _0x166aae=0x0;_0x166aae<_0x507642[_0x3085('0x5c')][_0x3085('0x5d')];_0x166aae++){var _0x3a5d5a=_0x507642[_0x3085('0x5c')][_0x166aae];var _0x2fff1d='i';var _0xa826dd=_[_0x3085('0x5e')](_0x528e8b,[_0x3085('0x2f'),_0x3a5d5a[_0x3085('0x47')]]);if(!_0xa826dd){switch(_0x3a5d5a[_0x3085('0x47')]){case _0x3085('0x5f'):if(_0x3a5d5a[_0x3085('0x60')]==0x1){_0x54f2a7[_0x3085('0x61')]('`'+_0x3a5d5a[_0x3085('0x47')]+_0x3085('0x62'));}else{_0x54f2a7['having']('`'+_0x3a5d5a[_0x3085('0x47')]+_0x3085('0x63'));}break;case _0x3085('0x64'):if(_0x3a5d5a[_0x3085('0x65')]==='$substring'){if(_0x3a5d5a[_0x3085('0x60')][_0x3085('0x66')]('\x20')['length']>0x1){_0x3612ca[_0x4f8760](_0x3085('0x67'),qs[_0x3085('0x68')](_0x3a5d5a[_0x3085('0x60')]),null);}else{var _0x4c9b19='%'+_0x3a5d5a[_0x3085('0x60')]+'%';_0x3612ca[_0x4f8760](_0x3085('0x69'),_0x4c9b19,_0x4c9b19,_0x4c9b19);}}else{_0xa826dd=_[_0x3085('0x5e')](_0x528e8b,['name',_0x3085('0x6a')]);_0x3a5d5a[_0x3085('0x47')]='ContactId';_0x8a097d=as[_0x3085('0x6b')](_0x2fff1d,_0xa826dd['type'],_0x3a5d5a);_0x3612ca[_0x4f8760](_0x8a097d[_0x3085('0x6c')],_0x8a097d[_0x3085('0x60')]['start'],_0x8a097d[_0x3085('0x60')]['end']);}break;case _0x3085('0x6d'):var _0x10cbe9=_0x3a5d5a['value'][_0x3085('0x66')](',')[_0x3085('0x3b')](function(_0x398b01){return Number(_0x398b01);});_0x10cbe9[_0x3085('0x33')](function(_0x103c7e){_0x551f55['or'](_0x3085('0x6e'),'%,'+_0x103c7e+',%');});_0x2006ad=_[_0x3085('0x6f')](_0x2006ad,_0x10cbe9);break;case _0x3085('0x70'):if(_0x3a5d5a[_0x3085('0x65')]===_0x3085('0x71')){_0x3612ca[_0x4f8760](_0x3085('0x72'),'%'+_0x3a5d5a[_0x3085('0x60')]+'%',null);}else{_0xa826dd=_[_0x3085('0x5e')](_0x528e8b,[_0x3085('0x2f'),_0x3085('0x73')]);_0x3a5d5a['field']='UserId';_0x8a097d=as['buildExpression'](_0x2fff1d,_0xa826dd[_0x3085('0x38')],_0x3a5d5a);_0x3612ca[_0x4f8760](_0x8a097d[_0x3085('0x6c')],_0x8a097d[_0x3085('0x60')][_0x3085('0x74')],_0x8a097d['value'][_0x3085('0x24')]);}break;case _0x3085('0x75'):_0x8a097d=as[_0x3085('0x6b')]('me',null,_0x3a5d5a);_0x3612ca[_0x4f8760](_0x8a097d[_0x3085('0x6c')],_0x8a097d[_0x3085('0x60')]['start'],_0x8a097d[_0x3085('0x60')][_0x3085('0x24')]);break;}}else{var _0x8a097d=as[_0x3085('0x6b')](_0x2fff1d,_0xa826dd['type'],_0x3a5d5a);_0x3612ca[_0x4f8760](_0x8a097d['text'],_0x8a097d[_0x3085('0x60')][_0x3085('0x74')],_0x8a097d[_0x3085('0x60')]['end']);}}}else{var _0x22e85c=_(_0xb84726['query'])[_0x3085('0x76')]()[_0x3085('0x3b')](function(_0x4e9c15){return _[_0x3085('0x77')](_0x528e8b,[_0x3085('0x2f'),_0x4e9c15])?_0x4e9c15:undefined;})[_0x3085('0x78')]()['value']();if(!_[_0x3085('0x79')](_0x22e85c)){_0x22e85c['forEach'](function(_0x325f29){if(_0x325f29===_0x3085('0x7a')){_0x54f2a7[_0x3085('0x45')]('i.FaxAccountId\x20IN\x20?',[][_0x3085('0x7b')](_0xb84726[_0x3085('0x3c')][_0x325f29]));}else if(_0x325f29===_0x3085('0x7c')){var _0x566b2e=JSON[_0x3085('0x7d')](_0xb84726[_0x3085('0x3c')][_0x325f29])[_0x3085('0x7e')];var _0x3d13e7=JSON[_0x3085('0x7d')](_0xb84726['query'][_0x325f29])['$lte'];_0x54f2a7['where']('i.createdAt\x20BETWEEN\x20?\x20AND\x20?',_0x566b2e,_0x3d13e7);}else{if(_0xb84726[_0x3085('0x3c')][_0x325f29]===_0x3085('0x7f')){_0x54f2a7[_0x3085('0x45')]('i.'+_0x325f29+'\x20IS\x20NULL');}else{_0x54f2a7[_0x3085('0x45')]('i.'+_0x325f29+'\x20=\x20?',_0xb84726[_0x3085('0x3c')][_0x325f29]);}}});}if(_0xb84726[_0x3085('0x3c')][_0x3085('0x80')]){if(_0xb84726[_0x3085('0x3c')]['read']==0x1){_0x54f2a7[_0x3085('0x61')]('`unreadMessages`\x20=\x200');}else{_0x54f2a7[_0x3085('0x61')](_0x3085('0x81'));}}if(_0xb84726[_0x3085('0x3c')]['tag']){_0x2006ad=_['isArray'](_0xb84726['query'][_0x3085('0x82')])?_0xb84726[_0x3085('0x3c')]['tag']:new Array(_0xb84726[_0x3085('0x3c')][_0x3085('0x82')]);_0x2006ad[_0x3085('0x33')](function(_0x130fe4){_0x551f55['or'](_0x3085('0x6e'),'%,'+_0x130fe4+',%');});}if(_0xb84726[_0x3085('0x3c')][_0x3085('0x83')]){var _0x47a733=_0xb84726[_0x3085('0x3c')][_0x3085('0x83')][_0x3085('0x84')]('\x5c','\x5c\x5c')['replace']('\x27\x27',_0x3085('0x85'));if(qs[_0x3085('0x86')](_0x47a733)){_0x3612ca['or'](_0x3085('0x87'),_0x47a733+'%')['or'](_0x3085('0x88'),_0x47a733+'%');}_0x3612ca['or']('CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?',_0x47a733+'%');}}_0x54f2a7[_0x3085('0x45')](_0x3612ca);_0x54f2a7[_0x3085('0x89')](_0x3085('0x8a'));var _0x5481ec={'type':db[_0x3085('0x8b')][_0x3085('0x8c')][_0x3085('0x8d')],'raw':!![]};var _0x39e63f=_0x54f2a7['clone']();_0x39e63f['field'](_0x3085('0x8a'));_0x39e63f[_0x3085('0x47')](_0x3085('0x8e'),'unreadMessages');if(_0x587019[_0x3085('0x43')]){_0x587019[_0x3085('0x43')]['forEach'](function(_0x4caab1){_0x54f2a7[_0x3085('0x43')]('i.'+_0x4caab1[0x0],_0x4caab1[0x1]===_0x3085('0x8f')?![]:!![]);});}if(!_['isEmpty'](_0x2006ad)){_0x54f2a7[_0x3085('0x61')](_0x551f55);_0x39e63f[_0x3085('0x45')](_0x3085('0x90'),_0x2006ad);}BPromise['resolve']()[_0x3085('0x2c')](function(){if(!_0x507642){if(_0xb84726['query'][_0x3085('0x7a')]||_0xb84726['query'][_0x3085('0x91')])return;_0x39e63f[_0x3085('0x45')]('i.FaxAccountId\x20IS\x20NOT\x20NULL');_0x54f2a7[_0x3085('0x45')](_0x3085('0x92'));return;}return _0xb84726[_0x3085('0x93')][_0x3085('0x94')]({'attributes':['id'],'raw':!![]})[_0x3085('0x2c')](function(_0x59943e){if(_['isEmpty'](_0x59943e)){_0x39e63f[_0x3085('0x45')]('i.FaxAccountId\x20IS\x20NULL');_0x54f2a7[_0x3085('0x45')]('i.FaxAccountId\x20IS\x20NULL');}else{_0x39e63f[_0x3085('0x45')](_0x3085('0x95'),_[_0x3085('0x3b')](_0x59943e,'id'));_0x54f2a7['where'](_0x3085('0x95'),_[_0x3085('0x3b')](_0x59943e,'id'));}});})[_0x3085('0x2c')](function(){db[_0x3085('0x96')][_0x3085('0x3c')](_0x39e63f[_0x3085('0x97')](),_0x5481ec)[_0x3085('0x2c')](function(_0x36f7d2){_0x4398a4[_0x3085('0x98')]=_0x36f7d2[_0x3085('0x5d')];if(_0x4398a4['count']===0x0)return[];return db[_0x3085('0x96')][_0x3085('0x3c')](_0x5e8dfa[_0x3085('0x97')](),_0x5481ec)[_0x3085('0x2c')](function(_0x5914cb){_0xa3a499=_[_0x3085('0x99')](_0x5914cb,'id');_0x5481ec=_[_0x3085('0x9a')](_0x5481ec,{'model':db[_0x3085('0x36')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0xb84726[_0x3085('0x3c')][_0x3085('0x40')]){_0x587019[_0x3085('0x3f')][_0x3085('0x33')](function(_0x4b78ee){_0x54f2a7['field']('i.'+_0x4b78ee);});}else{_0x54f2a7[_0x3085('0x47')](_0x3085('0x8e'),_0x3085('0x5f'));_0x54f2a7['field']('a.key',_0x3085('0x9b'));_0x54f2a7['field'](_0x3085('0x9c'),_0x3085('0x9d'));_0x54f2a7[_0x3085('0x47')](_0x3085('0x9e'));_0x54f2a7[_0x3085('0x47')](_0x3085('0x9f'),_0x3085('0xa0'));_0x54f2a7[_0x3085('0x47')](_0x3085('0xa1'),_0x3085('0xa2'));_0x54f2a7[_0x3085('0x47')](_0x3085('0xa3'),_0x3085('0xa4'));_0x54f2a7[_0x3085('0x47')]('c.phone',_0x3085('0xa5'));_0x54f2a7[_0x3085('0x47')](_0x3085('0xa6'),'Contact.mobile');_0x54f2a7[_0x3085('0x47')](_0x3085('0xa7'),_0x3085('0xa8'));_0x54f2a7[_0x3085('0x47')]('o.fullname',_0x3085('0xa9'));_0x54f2a7['field'](_0x3085('0xaa'),_0x3085('0xab'));_0x54f2a7[_0x3085('0x47')]('GROUP_CONCAT(DISTINCT\x20t.id)',_0x3085('0x31'));}if(_0x587019[_0x3085('0x27')])_0x54f2a7['limit'](_0x587019['limit']);if(_0x587019[_0x3085('0x26')])_0x54f2a7[_0x3085('0x26')](_0x587019[_0x3085('0x26')]);return db['sequelize']['query'](_0x54f2a7[_0x3085('0x97')](),_0x5481ec);})['then'](function(_0x417182){_0x940f58[_0x3085('0x45')](_0x3085('0xac'),_[_0x3085('0x3b')](_0x417182,'id'));return db[_0x3085('0x96')][_0x3085('0x3c')](_0x940f58['toString'](),_0x5481ec)['then'](function(_0x4c4c2c){var _0x441755=_['groupBy'](_0x4c4c2c,_0x3085('0xad'));var _0x1772e7=[];_0x417182[_0x3085('0x33')](function(_0x386aed){_0x1772e7['push'](updateFaxInteraction(_0x386aed,_0xa3a499,_0x441755));});return BPromise[_0x3085('0xae')](_0x1772e7);});});})[_0x3085('0x2c')](function(_0x479b4a){_0x4398a4[_0x3085('0xaf')]=_0x479b4a;return _0x4398a4;})['then'](respondWithFilteredResult(_0xcd7a9d,_0x587019));})[_0x3085('0x34')](handleError(_0xcd7a9d,null));};exports[_0x3085('0xb0')]=function(_0x357538,_0x83ec63){var _0x1ee424={'raw':![],'where':{'id':_0x357538[_0x3085('0xb1')]['id']}},_0x496140={};_0x496140['model']=_[_0x3085('0x76')](db[_0x3085('0x36')]['rawAttributes']);_0x496140['query']=_[_0x3085('0x76')](_0x357538[_0x3085('0x3c')]);_0x496140[_0x3085('0xb2')]=_[_0x3085('0x3e')](_0x496140[_0x3085('0x3a')],_0x496140[_0x3085('0x3c')]);_0x1ee424[_0x3085('0x3f')]=_[_0x3085('0x3e')](_0x496140[_0x3085('0x3a')],qs[_0x3085('0x40')](_0x357538['query'][_0x3085('0x40')]));_0x1ee424[_0x3085('0x3f')]=_0x1ee424['attributes']['length']?_0x1ee424[_0x3085('0x3f')]:_0x496140['model'];if(_0x357538[_0x3085('0x3c')][_0x3085('0xb3')]){_0x1ee424[_0x3085('0xb4')]=[{'all':!![]}];}_0x1ee424=_['merge']({},_0x1ee424,_0x357538[_0x3085('0xb5')]);return db[_0x3085('0x36')][_0x3085('0x5e')](_0x1ee424)[_0x3085('0x2c')](handleEntityNotFound(_0x83ec63,null))['then'](respondWithResult(_0x83ec63,null))['catch'](handleError(_0x83ec63,null));};exports[_0x3085('0xb6')]=function(_0x54c804,_0x1008db){return db[_0x3085('0x36')][_0x3085('0xb6')](_0x54c804[_0x3085('0x75')],{})[_0x3085('0x2c')](respondWithResult(_0x1008db,0xc9))[_0x3085('0x34')](handleError(_0x1008db,null));};exports[_0x3085('0x2b')]=function(_0x3dfe71,_0x264c71){if(_0x3dfe71[_0x3085('0x75')]['id']){delete _0x3dfe71[_0x3085('0x75')]['id'];}return db['FaxInteraction'][_0x3085('0x5e')]({'where':{'id':_0x3dfe71[_0x3085('0xb1')]['id']}})[_0x3085('0x2c')](handleEntityNotFound(_0x264c71,null))[_0x3085('0x2c')](saveUpdates(_0x3dfe71['body'],null))[_0x3085('0x2c')](respondWithResult(_0x264c71,null))[_0x3085('0x34')](handleError(_0x264c71,null));};exports[_0x3085('0xb7')]=function(_0x28e292,_0x30d067){return db[_0x3085('0x36')][_0x3085('0x5e')]({'where':{'id':_0x28e292[_0x3085('0xb1')]['id']}})[_0x3085('0x2c')](handleEntityNotFound(_0x30d067,null))[_0x3085('0x2c')](removeEntity(_0x30d067,null))['catch'](handleError(_0x30d067,null));};exports[_0x3085('0xb8')]=function(_0x3fd9bc,_0x3dc739){return db[_0x3085('0x36')][_0x3085('0xb8')]()[_0x3085('0x2c')](respondWithResult(_0x3dc739,null))['catch'](handleError(_0x3dc739,null));};exports[_0x3085('0xb9')]=function(_0x3deff1,_0x478347,_0x236f62){return db[_0x3085('0xba')][_0x3085('0x5e')]({'where':{'id':_0x3deff1[_0x3085('0xb1')]['id']}})['then'](handleEntityNotFound(_0x478347,null))['then'](function(_0x2bd3a7){if(_0x2bd3a7){return _0x2bd3a7[_0x3085('0xb9')](_0x3deff1[_0x3085('0x75')][_0x3085('0xbb')],_[_0x3085('0xbc')](_0x3deff1['body'],[_0x3085('0xbb'),'id'])||{});}})[_0x3085('0x2c')](respondWithResult(_0x478347,null))[_0x3085('0x34')](handleError(_0x478347,null));};exports['getMessages']=function(_0x40b121,_0x41235c,_0x5213e2){var _0x8a499c={'raw':![],'where':{}};var _0x226ad6={};var _0x467ab8={'count':0x0,'rows':[]};return db['FaxInteraction'][_0x3085('0xbd')]({'where':{'id':_0x40b121['params']['id']}})[_0x3085('0x2c')](handleEntityNotFound(_0x41235c,null))['then'](function(_0x2b618c){if(_0x2b618c){_0x226ad6[_0x3085('0x3a')]=_[_0x3085('0x76')](db[_0x3085('0xba')][_0x3085('0x37')]);_0x226ad6[_0x3085('0x3c')]=_[_0x3085('0x76')](_0x40b121[_0x3085('0x3c')]);_0x226ad6[_0x3085('0x3d')]=_[_0x3085('0x3e')](_0x226ad6[_0x3085('0x3a')],_0x226ad6[_0x3085('0x3c')]);_0x8a499c[_0x3085('0x3f')]=_[_0x3085('0x3e')](_0x226ad6[_0x3085('0x3a')],qs[_0x3085('0x40')](_0x40b121[_0x3085('0x3c')][_0x3085('0x40')]));_0x8a499c[_0x3085('0x3f')]=_0x8a499c[_0x3085('0x3f')][_0x3085('0x5d')]?_0x8a499c[_0x3085('0x3f')]:_0x226ad6[_0x3085('0x3a')];if(!_0x40b121['query'][_0x3085('0x41')]('nolimit')){_0x8a499c[_0x3085('0x27')]=qs[_0x3085('0x27')](_0x40b121[_0x3085('0x3c')][_0x3085('0x27')]);_0x8a499c[_0x3085('0x26')]=qs[_0x3085('0x26')](_0x40b121[_0x3085('0x3c')][_0x3085('0x26')]);}_0x8a499c[_0x3085('0x43')]=qs[_0x3085('0x44')](_0x40b121[_0x3085('0x3c')][_0x3085('0x44')]);_0x8a499c[_0x3085('0x45')]=qs[_0x3085('0x3d')](_[_0x3085('0xbe')](_0x40b121['query'],_0x226ad6[_0x3085('0x3d')]));_0x8a499c['where'][_0x3085('0xad')]=_0x2b618c['id'];if(_0x40b121[_0x3085('0x3c')]['filter']){_0x8a499c[_0x3085('0x45')]=_['merge'](_0x8a499c[_0x3085('0x45')],{'$or':_['map'](_0x8a499c[_0x3085('0x3f')],function(_0x594296){var _0x1e30ef={};_0x1e30ef[_0x594296]={'$like':'%'+_0x40b121[_0x3085('0x3c')]['filter']+'%'};return _0x1e30ef;})});}if(_0x40b121[_0x3085('0x3c')]['$gte']){var _0xf015c8=_0x40b121[_0x3085('0x3c')][_0x3085('0x7e')][_0x3085('0x66')](',');var _0x3cd68d={};_0x3cd68d[_0xf015c8[0x0]]={'$gte':moment(_0xf015c8[0x1])[_0x3085('0xbf')](_0x3085('0xc0'))};_0x8a499c[_0x3085('0x45')]=_['merge'](_0x8a499c['where'],_0x3cd68d);}_0x8a499c=_[_0x3085('0x9a')]({},_0x8a499c,_0x40b121[_0x3085('0xb5')]);return db['FaxMessage'][_0x3085('0x98')]({'where':_0x8a499c[_0x3085('0x45')]})[_0x3085('0x2c')](function(_0x324fac){_0x467ab8[_0x3085('0x98')]=_0x324fac;if(_0x40b121[_0x3085('0x3c')][_0x3085('0xb3')]){_0x8a499c['include']=[{'all':!![]}];}return db[_0x3085('0xba')][_0x3085('0xc1')](_0x8a499c);})['then'](function(_0x28444c){_0x467ab8['rows']=_0x28444c;return _0x467ab8;});}})[_0x3085('0x2c')](respondWithFilteredResult(_0x41235c,_0x8a499c))[_0x3085('0x34')](handleError(_0x41235c,null));};exports[_0x3085('0xc2')]=function(_0x1d3315,_0x283b9f,_0xcbf191){return db[_0x3085('0x36')][_0x3085('0x5e')]({'where':{'id':_0x1d3315[_0x3085('0xb1')]['id']}})[_0x3085('0x2c')](handleEntityNotFound(_0x283b9f,null))[_0x3085('0x2c')](function(_0x4a7a68){if(_0x4a7a68){return _0x4a7a68[_0x3085('0xc3')](_0x1d3315[_0x3085('0x75')][_0x3085('0xbb')],_[_0x3085('0xbc')](_0x1d3315[_0x3085('0x75')],[_0x3085('0xbb'),'id'])||{})['spread'](function(){return db[_0x3085('0x6d')]['findAll']({'attributes':['id','name',_0x3085('0x48')],'where':{'id':_0x1d3315[_0x3085('0x75')][_0x3085('0xbb')]}});})[_0x3085('0x2c')](function(_0x346a02){socket[_0x3085('0xc4')](_0x3085('0xc5'),{'id':Number(_0x1d3315[_0x3085('0xb1')]['id']),'tags':_0x346a02||[]});return{'id':Number(_0x1d3315['params']['id']),'tags':_0x346a02||[]};});}})['then'](respondWithResult(_0x283b9f,null))['catch'](handleError(_0x283b9f,null));};exports[_0x3085('0xc6')]=function(_0x2a0c40,_0x4d061d,_0x351868){return db[_0x3085('0x36')][_0x3085('0x5e')]({'where':{'id':_0x2a0c40['params']['id']}})[_0x3085('0x2c')](handleEntityNotFound(_0x4d061d,null))[_0x3085('0x2c')](function(_0x6c7f1e){if(_0x6c7f1e){return _0x6c7f1e[_0x3085('0xc6')](_0x2a0c40[_0x3085('0x3c')]['ids']);}})[_0x3085('0x2c')](respondWithStatusCode(_0x4d061d,null))[_0x3085('0x34')](handleError(_0x4d061d,null));};exports[_0x3085('0xc7')]=function(_0x4333d8,_0x583f36){var _0x317958=moment()[_0x3085('0xc8')]()[_0x3085('0x97')]();var _0x261ce9=path[_0x3085('0xc9')](config[_0x3085('0xca')],_0x3085('0xcb'),'files','tmp');var _0x59bbd9=path[_0x3085('0xc9')](config['root'],_0x3085('0xcb'),_0x3085('0xcc'),'attachments');var _0x3661de=path[_0x3085('0xc9')](_0x261ce9,_0x317958);var _0x357927=util[_0x3085('0xbf')](_0x3085('0xcd'),_0x4333d8[_0x3085('0xb1')]['id'],_0x317958);var _0x5de960=path[_0x3085('0xc9')](_0x261ce9,_0x357927);var _0x1b007c=[];_0x1b007c[_0x3085('0xce')]({'model':db[_0x3085('0xcf')],'as':'Attachment','raw':!![]});var _0x3a3962=[{'model':db[_0x3085('0xba')],'as':_0x3085('0xd0'),'attributes':['id',_0x3085('0x75'),_0x3085('0x7c')],'include':_0x1b007c}];return db[_0x3085('0x36')]['find']({'where':{'id':_0x4333d8[_0x3085('0xb1')]['id']},'include':_0x3a3962})[_0x3085('0x2c')](handleEntityNotFound(_0x583f36,null))['then'](function(_0x4906e1){if(_0x4906e1&&_0x4906e1[_0x3085('0xd0')]){var _0x320c9b=_0x4906e1[_0x3085('0xd1')]({'plain':!![]});fs['mkdirSync'](_0x3661de);for(var _0x2f93d4=0x0;_0x2f93d4<_0x320c9b[_0x3085('0xd0')][_0x3085('0x5d')];_0x2f93d4++){var _0x36d71e=_0x320c9b[_0x3085('0xd0')][_0x2f93d4]['Attachment'];if(_0x36d71e){var _0x1d423a=path[_0x3085('0xc9')](_0x59bbd9,_0x36d71e[_0x3085('0xd2')]);if(fs[_0x3085('0xd3')](_0x1d423a)){fs['createReadStream'](_0x1d423a)[_0x3085('0xd4')](fs[_0x3085('0xd5')](path[_0x3085('0xc9')](_0x3661de,_0x36d71e[_0x3085('0xd2')])));}}}return BPromise[_0x3085('0xd6')]()[_0x3085('0x2c')](function(){return new BPromise(function(_0x56b325,_0x4cec6c){zipdir(_0x3661de,{'saveTo':_0x5de960},function(_0x51181d,_0xa286c4){if(_0x51181d)return _0x4cec6c(_0x51181d);return _0x56b325(_0xa286c4);});})[_0x3085('0x2c')](function(){return new BPromise(function(_0x4d159e,_0x4038aa){rimraf(_0x3661de,function(_0x584822){if(_0x584822)_0x4038aa(_0x584822);return _0x4d159e();});});})[_0x3085('0x2c')](function(){return _0x583f36['download'](_0x5de960,_0x357927,function(_0x29f636){if(_0x29f636){console['log'](_0x3085('0xd7'),_0x29f636);}else{fs[_0x3085('0xd8')](_0x5de960);}});});});}else{return _0x583f36[_0x3085('0x22')](0xc8);}})[_0x3085('0x34')](handleError(_0x583f36,null));};