70e1d85e8237d48cb133b71c6df761cceff48c82
[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 _0xcecc=['querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../mysqldb','redis','localhost','socket.io-emitter','./faxInteraction.socket','status','end','json','count','offset','set','Content-Range','apply','reject','update','then','destroy','stack','name','send','map','TagIds','Tags','forEach','push','catch','index','FaxInteraction','rawAttributes','key','model','keys','filters','intersection','query','attributes','fields','length','hasOwnProperty','limit','order','sort','where','field','from','tools_tags','select','u.id','u.fullname','ui.FaxInteractionId','user_has_fax_interactions','left_join','users','u.id\x20=\x20ui.UserId','fax_interactions','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','a.id\x20=\x20i.FaxAccountId','fax_messages','fax_interaction_has_tags','it.FaxInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','search','parseSearch','find','unreadMessages','value','having','`\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','type','text','start','Tag','union','User','$substring','UserId','compact','FaxAccountId','concat','createdAt','$gte','parse','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20=\x20?','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','isArray','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','filter','replace','\x27\x27\x27\x27','i.id\x20LIKE\x20?','i.fax\x20LIKE\x20?','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','Sequelize','QueryTypes','i.id','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','DESC','isEmpty','t.id\x20IN\x20?','resolve','journey','i.FaxAccountId\x20IS\x20NOT\x20NULL','user','getFaxAccounts','i.FaxAccountId\x20IS\x20NULL','i.FaxAccountId\x20IN\x20?','toString','Account.key','a.mandatoryDisposition','Account.mandatoryDisposition','i.*','c.firstName','Contact.firstName','c.lastName','Contact.lastName','c.email','Contact.email','c.phone','Contact.phone','Contact.mobile','c.fax','Contact.fax','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','sequelize','ui.FaxInteractionId\x20IN\x20?','groupBy','FaxInteractionId','all','rows','include','merge','options','body','params','describe','addMessage','FaxMessage','ids','getMessages','findOne','YYYY-MM-DD\x20HH:mm:ss','includeAll','addTags','findAll','faxInteractionTags:save','removeTags','unix','join','root','server','files','format','transcript-%d-%s.zip','Messages','get','mkdirSync','Attachment','basename','existsSync','createReadStream','pipe','download','log','unlinkSync','html-pdf','rimraf','request-promise','moment','bluebird','mustache','sox','ejs','lodash','squel','jsforce','desk.js'];(function(_0x4f51f9,_0x5d5613){var _0x533984=function(_0x578319){while(--_0x578319){_0x4f51f9['push'](_0x4f51f9['shift']());}};_0x533984(++_0x5d5613);}(_0xcecc,0x186));var _0xccec=function(_0x30c9da,_0x545460){_0x30c9da=_0x30c9da-0x0;var _0x33708f=_0xcecc[_0x30c9da];return _0x33708f;};'use strict';var pdf=require(_0xccec('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xccec('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0xccec('0x2'));var moment=require(_0xccec('0x3'));var BPromise=require(_0xccec('0x4'));var Mustache=require(_0xccec('0x5'));var util=require('util');var path=require('path');var sox=require(_0xccec('0x6'));var csv=require('to-csv');var ejs=require(_0xccec('0x7'));var fs=require('fs');var _=require(_0xccec('0x8'));var squel=require(_0xccec('0x9'));var crypto=require('crypto');var jsforce=require(_0xccec('0xa'));var deskjs=require(_0xccec('0xb'));var toCsv=require('to-csv');var querystring=require(_0xccec('0xc'));var Papa=require(_0xccec('0xd'));var Redis=require(_0xccec('0xe'));var authService=require(_0xccec('0xf'));var qs=require('../../components/parsers/qs');var as=require(_0xccec('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xccec('0x11'))(_0xccec('0x12'));var utils=require('../../config/utils');var config=require(_0xccec('0x13'));var db=require(_0xccec('0x14'))['db'];config[_0xccec('0x15')]=_['defaults'](config[_0xccec('0x15')],{'host':_0xccec('0x16'),'port':0x18eb});var socket=require(_0xccec('0x17'))(new Redis(config[_0xccec('0x15')]));require(_0xccec('0x18'))['register'](socket);function respondWithStatusCode(_0x2882d9,_0x566a81){_0x566a81=_0x566a81||0xcc;return function(_0x4d0145){if(_0x4d0145){return _0x2882d9['sendStatus'](_0x566a81);}return _0x2882d9[_0xccec('0x19')](_0x566a81)[_0xccec('0x1a')]();};}function respondWithResult(_0x18e7d0,_0x69a776){_0x69a776=_0x69a776||0xc8;return function(_0x1d588f){if(_0x1d588f){return _0x18e7d0[_0xccec('0x19')](_0x69a776)[_0xccec('0x1b')](_0x1d588f);}};}function respondWithFilteredResult(_0x1b7235,_0x199e52){return function(_0x5f0be1){if(_0x5f0be1){var _0x518016=_0x5f0be1[_0xccec('0x1c')],_0x56b926=_0x199e52[_0xccec('0x1d')],_0x970c66=_0x199e52[_0xccec('0x1d')]+_0x199e52['limit'],_0x551d33;if(_0x970c66>=_0x518016){_0x970c66=_0x518016;_0x551d33=0xc8;}else{_0x551d33=0xce;}_0x1b7235[_0xccec('0x19')](_0x551d33);return _0x1b7235[_0xccec('0x1e')](_0xccec('0x1f'),_0x56b926+'-'+_0x970c66+'/'+_0x518016)['json'](_0x5f0be1);}return null;};}function patchUpdates(_0x2fedff){return function(_0x3bd5fa){try{jsonpatch[_0xccec('0x20')](_0x3bd5fa,_0x2fedff,!![]);}catch(_0x57926a){return BPromise[_0xccec('0x21')](_0x57926a);}return _0x3bd5fa['save']();};}function saveUpdates(_0x9065a3,_0x4b2666){return function(_0x23ddf8){if(_0x23ddf8){return _0x23ddf8[_0xccec('0x22')](_0x9065a3)[_0xccec('0x23')](function(_0x50794d){return _0x50794d;});}return null;};}function removeEntity(_0x3d83e1,_0x6be7ac){return function(_0x2412f3){if(_0x2412f3){return _0x2412f3[_0xccec('0x24')]()[_0xccec('0x23')](function(){_0x3d83e1['status'](0xcc)[_0xccec('0x1a')]();});}};}function handleEntityNotFound(_0xb0b0da,_0x2d8fa0){return function(_0x15d495){if(!_0x15d495){_0xb0b0da['sendStatus'](0x194);}return _0x15d495;};}function handleError(_0x27b541,_0x52ddd7){_0x52ddd7=_0x52ddd7||0x1f4;return function(_0x4e00c6){logger['error'](_0x4e00c6[_0xccec('0x25')]);if(_0x4e00c6[_0xccec('0x26')]){delete _0x4e00c6[_0xccec('0x26')];}_0x27b541[_0xccec('0x19')](_0x52ddd7)[_0xccec('0x27')](_0x4e00c6);};}function getInteractionUsers(_0x3e8557,_0x3ca9c7){return new BPromise(function(_0x59bb66,_0x11085d){try{if(_0x3ca9c7[_0x3e8557['id']]){_0x3e8557['Users']=_[_0xccec('0x28')](_0x3ca9c7[_0x3e8557['id']],function(_0xc6db88){return{'id':_0xc6db88['id'],'fullname':_0xc6db88['fullname']};});}}catch(_0x55a53a){_0x11085d(_0x55a53a);}_0x59bb66(_0x3e8557);});}function getInteractionTags(_0x1e93e3,_0x190786){return new BPromise(function(_0x53be76,_0x3e9ef5){try{if(_0x1e93e3[_0xccec('0x29')]){_0x1e93e3[_0xccec('0x2a')]=[];_0x1e93e3[_0xccec('0x29')]['split'](',')[_0xccec('0x2b')](function(_0x1bcdd1){_0x1e93e3[_0xccec('0x2a')][_0xccec('0x2c')](_0x190786[_0x1bcdd1]);});}delete _0x1e93e3[_0xccec('0x29')];}catch(_0x235219){_0x3e9ef5(_0x235219);}_0x53be76(_0x1e93e3);});}function updateFaxInteraction(_0x180367,_0x173ebc,_0x576df7){return new BPromise(function(_0x2d2be9,_0x293ed1){return getInteractionUsers(_0x180367,_0x576df7)[_0xccec('0x23')](function(_0x4a63e7){return getInteractionTags(_0x4a63e7,_0x173ebc);})['then'](function(_0xf2311c){_0x2d2be9(_0xf2311c);})[_0xccec('0x2d')](function(_0x7b2585){_0x293ed1(_0x7b2585);});});}exports[_0xccec('0x2e')]=function(_0x5373df,_0xb0a4a7){var _0x5952ba={},_0x4ece41={},_0x324ca1={'count':0x0,'rows':[]};var _0x87d6d3=_[_0xccec('0x28')](db[_0xccec('0x2f')][_0xccec('0x30')],function(_0x263209){return{'name':_0x263209['fieldName'],'type':_0x263209['type'][_0xccec('0x31')]};});_0x4ece41[_0xccec('0x32')]=_[_0xccec('0x28')](_0x87d6d3,_0xccec('0x26'));_0x4ece41['query']=_[_0xccec('0x33')](_0x5373df['query']);_0x4ece41[_0xccec('0x34')]=_[_0xccec('0x35')](_0x4ece41[_0xccec('0x32')],_0x4ece41[_0xccec('0x36')]);_0x5952ba[_0xccec('0x37')]=_['intersection'](_0x4ece41[_0xccec('0x32')],qs[_0xccec('0x38')](_0x5373df['query'][_0xccec('0x38')]));_0x5952ba[_0xccec('0x37')]=_0x5952ba[_0xccec('0x37')][_0xccec('0x39')]?_0x5952ba['attributes']:_0x4ece41[_0xccec('0x32')];if(!_0x5373df[_0xccec('0x36')][_0xccec('0x3a')]('nolimit')){_0x5952ba[_0xccec('0x3b')]=qs['limit'](_0x5373df[_0xccec('0x36')][_0xccec('0x3b')]);_0x5952ba[_0xccec('0x1d')]=qs['offset'](_0x5373df['query'][_0xccec('0x1d')]);}_0x5952ba[_0xccec('0x3c')]=qs[_0xccec('0x3d')](_0x5373df['query'][_0xccec('0x3d')]);_0x5952ba[_0xccec('0x3e')]=qs[_0xccec('0x34')](_['pick'](_0x5373df[_0xccec('0x36')],_0x4ece41[_0xccec('0x34')]),_0x87d6d3);var _0x262e25=[];var _0x1dfd34=squel['select']()['field']('id')[_0xccec('0x3f')](_0xccec('0x26'))[_0xccec('0x3f')]('color')[_0xccec('0x40')](_0xccec('0x41'));var _0x42ed1c=squel[_0xccec('0x42')]()[_0xccec('0x3f')](_0xccec('0x43'))['field'](_0xccec('0x44'))[_0xccec('0x3f')](_0xccec('0x45'))[_0xccec('0x40')](_0xccec('0x46'),'ui')[_0xccec('0x47')](_0xccec('0x48'),'u',_0xccec('0x49'));var _0x57c8ab=squel[_0xccec('0x42')]()[_0xccec('0x40')](_0xccec('0x4a'),'i')[_0xccec('0x47')]('cm_contacts','c',_0xccec('0x4b'))[_0xccec('0x47')](_0xccec('0x48'),'o','o.id\x20=\x20i.UserId')[_0xccec('0x47')]('fax_accounts','a',_0xccec('0x4c'))[_0xccec('0x47')](_0xccec('0x4d'),'me','me.FaxInteractionId\x20=\x20i.id')[_0xccec('0x47')](_0xccec('0x4e'),'it',_0xccec('0x4f'))['left_join'](_0xccec('0x41'),'t',_0xccec('0x50'));var _0x25c627=squel[_0xccec('0x51')]();var _0x415238=[];var _0x5d299c=squel['expr']();var _0x486034;if(_0x5373df[_0xccec('0x36')][_0xccec('0x52')]){_0x486034=as[_0xccec('0x53')](_0x5373df[_0xccec('0x36')][_0xccec('0x52')]);var _0x1b16ed=_0x486034['sqlOperator'];for(var _0x1ddc01=0x0;_0x1ddc01<_0x486034['conditions'][_0xccec('0x39')];_0x1ddc01++){var _0xff9e72=_0x486034['conditions'][_0x1ddc01];var _0x303aa6='i';var _0x362844=_[_0xccec('0x54')](_0x87d6d3,[_0xccec('0x26'),_0xff9e72[_0xccec('0x3f')]]);if(!_0x362844){switch(_0xff9e72[_0xccec('0x3f')]){case _0xccec('0x55'):if(_0xff9e72[_0xccec('0x56')]==0x1){_0x57c8ab['having']('`'+_0xff9e72['field']+'`\x20=\x200');}else{_0x57c8ab[_0xccec('0x57')]('`'+_0xff9e72[_0xccec('0x3f')]+_0xccec('0x58'));}break;case _0xccec('0x59'):if(_0xff9e72[_0xccec('0x5a')]==='$substring'){if(_0xff9e72[_0xccec('0x56')][_0xccec('0x5b')]('\x20')['length']>0x1){_0x25c627[_0x1b16ed](_0xccec('0x5c'),qs[_0xccec('0x5d')](_0xff9e72[_0xccec('0x56')]),null);}else{var _0x50474d='%'+_0xff9e72['value']+'%';_0x25c627[_0x1b16ed](_0xccec('0x5e'),_0x50474d,_0x50474d,_0x50474d);}}else{_0x362844=_['find'](_0x87d6d3,[_0xccec('0x26'),_0xccec('0x5f')]);_0xff9e72['field']=_0xccec('0x5f');_0x21cf28=as[_0xccec('0x60')](_0x303aa6,_0x362844[_0xccec('0x61')],_0xff9e72);_0x25c627[_0x1b16ed](_0x21cf28[_0xccec('0x62')],_0x21cf28[_0xccec('0x56')][_0xccec('0x63')],_0x21cf28[_0xccec('0x56')][_0xccec('0x1a')]);}break;case _0xccec('0x64'):var _0x449106=_0xff9e72[_0xccec('0x56')][_0xccec('0x5b')](',')[_0xccec('0x28')](function(_0x1c4f9b){return Number(_0x1c4f9b);});_0x449106['forEach'](function(_0x25c1ef){_0x5d299c['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x25c1ef+',%');});_0x415238=_[_0xccec('0x65')](_0x415238,_0x449106);break;case _0xccec('0x66'):if(_0xff9e72[_0xccec('0x5a')]===_0xccec('0x67')){_0x25c627[_0x1b16ed]('CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','%'+_0xff9e72['value']+'%',null);}else{_0x362844=_['find'](_0x87d6d3,[_0xccec('0x26'),_0xccec('0x68')]);_0xff9e72[_0xccec('0x3f')]=_0xccec('0x68');_0x21cf28=as['buildExpression'](_0x303aa6,_0x362844['type'],_0xff9e72);_0x25c627[_0x1b16ed](_0x21cf28['text'],_0x21cf28[_0xccec('0x56')]['start'],_0x21cf28[_0xccec('0x56')][_0xccec('0x1a')]);}break;case'body':_0x21cf28=as[_0xccec('0x60')]('me',null,_0xff9e72);_0x25c627[_0x1b16ed](_0x21cf28[_0xccec('0x62')],_0x21cf28['value'][_0xccec('0x63')],_0x21cf28[_0xccec('0x56')][_0xccec('0x1a')]);break;}}else{var _0x21cf28=as[_0xccec('0x60')](_0x303aa6,_0x362844[_0xccec('0x61')],_0xff9e72);_0x25c627[_0x1b16ed](_0x21cf28[_0xccec('0x62')],_0x21cf28[_0xccec('0x56')][_0xccec('0x63')],_0x21cf28[_0xccec('0x56')]['end']);}}}else{var _0x10f944=_(_0x5373df[_0xccec('0x36')])[_0xccec('0x33')]()[_0xccec('0x28')](function(_0x2d5f33){return _['some'](_0x87d6d3,[_0xccec('0x26'),_0x2d5f33])?_0x2d5f33:undefined;})[_0xccec('0x69')]()[_0xccec('0x56')]();if(!_['isEmpty'](_0x10f944)){_0x10f944[_0xccec('0x2b')](function(_0x128b63){if(_0x128b63===_0xccec('0x6a')){_0x57c8ab[_0xccec('0x3e')]('i.FaxAccountId\x20IN\x20?',[][_0xccec('0x6b')](_0x5373df[_0xccec('0x36')][_0x128b63]));}else if(_0x128b63===_0xccec('0x6c')){var _0x33c721=JSON['parse'](_0x5373df[_0xccec('0x36')][_0x128b63])[_0xccec('0x6d')];var _0x395ebc=JSON[_0xccec('0x6e')](_0x5373df['query'][_0x128b63])[_0xccec('0x6f')];_0x57c8ab[_0xccec('0x3e')](_0xccec('0x70'),_0x33c721,_0x395ebc);}else{if(_0x5373df['query'][_0x128b63]===_0xccec('0x71')){_0x57c8ab[_0xccec('0x3e')]('i.'+_0x128b63+'\x20IS\x20NULL');}else{_0x57c8ab[_0xccec('0x3e')]('i.'+_0x128b63+_0xccec('0x72'),_0x5373df[_0xccec('0x36')][_0x128b63]);}}});}if(_0x5373df[_0xccec('0x36')][_0xccec('0x73')]){if(_0x5373df['query'][_0xccec('0x73')]==0x1){_0x57c8ab[_0xccec('0x57')](_0xccec('0x74'));}else{_0x57c8ab['having'](_0xccec('0x75'));}}if(_0x5373df[_0xccec('0x36')][_0xccec('0x76')]){_0x415238=_[_0xccec('0x77')](_0x5373df[_0xccec('0x36')][_0xccec('0x76')])?_0x5373df['query'][_0xccec('0x76')]:new Array(_0x5373df[_0xccec('0x36')][_0xccec('0x76')]);_0x415238[_0xccec('0x2b')](function(_0x59e15e){_0x5d299c['or'](_0xccec('0x78'),'%,'+_0x59e15e+',%');});}if(_0x5373df['query'][_0xccec('0x79')]){var _0x276410=_0x5373df[_0xccec('0x36')]['filter'][_0xccec('0x7a')]('\x5c','\x5c\x5c')[_0xccec('0x7a')]('\x27\x27',_0xccec('0x7b'));if(qs['isNumeric'](_0x276410)){_0x25c627['or'](_0xccec('0x7c'),_0x276410+'%')['or'](_0xccec('0x7d'),_0x276410+'%');}_0x25c627['or'](_0xccec('0x7e'),_0x276410+'%');}}_0x57c8ab[_0xccec('0x3e')](_0x25c627);_0x57c8ab[_0xccec('0x7f')]('i.id');var _0x527369={'type':db[_0xccec('0x80')][_0xccec('0x81')]['SELECT'],'raw':!![]};var _0x1a922c=_0x57c8ab['clone']();_0x1a922c[_0xccec('0x3f')](_0xccec('0x82'));_0x1a922c[_0xccec('0x3f')](_0xccec('0x83'),_0xccec('0x55'));if(_0x5952ba[_0xccec('0x3c')]){_0x5952ba[_0xccec('0x3c')][_0xccec('0x2b')](function(_0x2c47e0){_0x57c8ab['order']('i.'+_0x2c47e0[0x0],_0x2c47e0[0x1]===_0xccec('0x84')?![]:!![]);});}if(!_[_0xccec('0x85')](_0x415238)){_0x57c8ab[_0xccec('0x57')](_0x5d299c);_0x1a922c[_0xccec('0x3e')](_0xccec('0x86'),_0x415238);}BPromise[_0xccec('0x87')]()['then'](function(){if(!_0x486034){if(_0x5373df[_0xccec('0x36')]['FaxAccountId']||_0x5373df[_0xccec('0x36')][_0xccec('0x88')])return;_0x1a922c[_0xccec('0x3e')](_0xccec('0x89'));_0x57c8ab['where'](_0xccec('0x89'));return;}return _0x5373df[_0xccec('0x8a')][_0xccec('0x8b')]({'attributes':['id'],'raw':!![]})['then'](function(_0x16a0cc){if(_[_0xccec('0x85')](_0x16a0cc)){_0x1a922c[_0xccec('0x3e')](_0xccec('0x8c'));_0x57c8ab[_0xccec('0x3e')]('i.FaxAccountId\x20IS\x20NULL');}else{_0x1a922c[_0xccec('0x3e')](_0xccec('0x8d'),_['map'](_0x16a0cc,'id'));_0x57c8ab[_0xccec('0x3e')](_0xccec('0x8d'),_[_0xccec('0x28')](_0x16a0cc,'id'));}});})[_0xccec('0x23')](function(){db['sequelize'][_0xccec('0x36')](_0x1a922c[_0xccec('0x8e')](),_0x527369)[_0xccec('0x23')](function(_0x3eb21a){_0x324ca1['count']=_0x3eb21a['length'];if(_0x324ca1[_0xccec('0x1c')]===0x0)return[];return db['sequelize'][_0xccec('0x36')](_0x1dfd34[_0xccec('0x8e')](),_0x527369)[_0xccec('0x23')](function(_0x1fd3f0){_0x262e25=_['keyBy'](_0x1fd3f0,'id');_0x527369=_['merge'](_0x527369,{'model':db[_0xccec('0x2f')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x5373df['query'][_0xccec('0x38')]){_0x5952ba['attributes'][_0xccec('0x2b')](function(_0x47e7b2){_0x57c8ab[_0xccec('0x3f')]('i.'+_0x47e7b2);});}else{_0x57c8ab[_0xccec('0x3f')](_0xccec('0x83'),_0xccec('0x55'));_0x57c8ab[_0xccec('0x3f')]('a.key',_0xccec('0x8f'));_0x57c8ab['field'](_0xccec('0x90'),_0xccec('0x91'));_0x57c8ab[_0xccec('0x3f')](_0xccec('0x92'));_0x57c8ab['field'](_0xccec('0x93'),_0xccec('0x94'));_0x57c8ab['field'](_0xccec('0x95'),_0xccec('0x96'));_0x57c8ab[_0xccec('0x3f')](_0xccec('0x97'),_0xccec('0x98'));_0x57c8ab[_0xccec('0x3f')](_0xccec('0x99'),_0xccec('0x9a'));_0x57c8ab[_0xccec('0x3f')]('c.mobile',_0xccec('0x9b'));_0x57c8ab[_0xccec('0x3f')](_0xccec('0x9c'),_0xccec('0x9d'));_0x57c8ab['field']('o.fullname','Owner.fullname');_0x57c8ab[_0xccec('0x3f')]('o.internal',_0xccec('0x9e'));_0x57c8ab[_0xccec('0x3f')](_0xccec('0x9f'),_0xccec('0x29'));}if(_0x5952ba['limit'])_0x57c8ab[_0xccec('0x3b')](_0x5952ba[_0xccec('0x3b')]);if(_0x5952ba[_0xccec('0x1d')])_0x57c8ab[_0xccec('0x1d')](_0x5952ba[_0xccec('0x1d')]);return db[_0xccec('0xa0')]['query'](_0x57c8ab['toString'](),_0x527369);})['then'](function(_0x280b04){_0x42ed1c[_0xccec('0x3e')](_0xccec('0xa1'),_['map'](_0x280b04,'id'));return db['sequelize'][_0xccec('0x36')](_0x42ed1c[_0xccec('0x8e')](),_0x527369)['then'](function(_0x1c93d9){var _0x8367c4=_[_0xccec('0xa2')](_0x1c93d9,_0xccec('0xa3'));var _0x108d43=[];_0x280b04[_0xccec('0x2b')](function(_0x1a52dc){_0x108d43[_0xccec('0x2c')](updateFaxInteraction(_0x1a52dc,_0x262e25,_0x8367c4));});return BPromise[_0xccec('0xa4')](_0x108d43);});});})[_0xccec('0x23')](function(_0xab8528){_0x324ca1[_0xccec('0xa5')]=_0xab8528;return _0x324ca1;})[_0xccec('0x23')](respondWithFilteredResult(_0xb0a4a7,_0x5952ba));})['catch'](handleError(_0xb0a4a7,null));};exports['show']=function(_0x2e619c,_0xe4967d){var _0x21e4e2={'raw':![],'where':{'id':_0x2e619c['params']['id']}},_0x386c7b={};_0x386c7b['model']=_['keys'](db['FaxInteraction'][_0xccec('0x30')]);_0x386c7b[_0xccec('0x36')]=_['keys'](_0x2e619c[_0xccec('0x36')]);_0x386c7b[_0xccec('0x34')]=_[_0xccec('0x35')](_0x386c7b[_0xccec('0x32')],_0x386c7b[_0xccec('0x36')]);_0x21e4e2[_0xccec('0x37')]=_['intersection'](_0x386c7b[_0xccec('0x32')],qs[_0xccec('0x38')](_0x2e619c['query']['fields']));_0x21e4e2['attributes']=_0x21e4e2[_0xccec('0x37')][_0xccec('0x39')]?_0x21e4e2[_0xccec('0x37')]:_0x386c7b[_0xccec('0x32')];if(_0x2e619c[_0xccec('0x36')]['includeAll']){_0x21e4e2[_0xccec('0xa6')]=[{'all':!![]}];}_0x21e4e2=_[_0xccec('0xa7')]({},_0x21e4e2,_0x2e619c[_0xccec('0xa8')]);return db['FaxInteraction']['find'](_0x21e4e2)[_0xccec('0x23')](handleEntityNotFound(_0xe4967d,null))[_0xccec('0x23')](respondWithResult(_0xe4967d,null))[_0xccec('0x2d')](handleError(_0xe4967d,null));};exports['create']=function(_0x52c5cc,_0x412851){return db[_0xccec('0x2f')]['create'](_0x52c5cc[_0xccec('0xa9')],{})[_0xccec('0x23')](respondWithResult(_0x412851,0xc9))[_0xccec('0x2d')](handleError(_0x412851,null));};exports['update']=function(_0x241b19,_0x3fa549){if(_0x241b19[_0xccec('0xa9')]['id']){delete _0x241b19[_0xccec('0xa9')]['id'];}return db['FaxInteraction']['find']({'where':{'id':_0x241b19[_0xccec('0xaa')]['id']}})[_0xccec('0x23')](handleEntityNotFound(_0x3fa549,null))[_0xccec('0x23')](saveUpdates(_0x241b19[_0xccec('0xa9')],null))[_0xccec('0x23')](respondWithResult(_0x3fa549,null))['catch'](handleError(_0x3fa549,null));};exports[_0xccec('0x24')]=function(_0xb7ffd2,_0x501bd6){return db[_0xccec('0x2f')]['find']({'where':{'id':_0xb7ffd2[_0xccec('0xaa')]['id']}})[_0xccec('0x23')](handleEntityNotFound(_0x501bd6,null))[_0xccec('0x23')](removeEntity(_0x501bd6,null))[_0xccec('0x2d')](handleError(_0x501bd6,null));};exports['describe']=function(_0x12faa3,_0x374a51){return db[_0xccec('0x2f')][_0xccec('0xab')]()[_0xccec('0x23')](respondWithResult(_0x374a51,null))[_0xccec('0x2d')](handleError(_0x374a51,null));};exports[_0xccec('0xac')]=function(_0x97407d,_0xf70c0,_0x10f019){return db[_0xccec('0xad')]['find']({'where':{'id':_0x97407d['params']['id']}})[_0xccec('0x23')](handleEntityNotFound(_0xf70c0,null))[_0xccec('0x23')](function(_0x267109){if(_0x267109){return _0x267109[_0xccec('0xac')](_0x97407d[_0xccec('0xa9')][_0xccec('0xae')],_['omit'](_0x97407d[_0xccec('0xa9')],[_0xccec('0xae'),'id'])||{});}})[_0xccec('0x23')](respondWithResult(_0xf70c0,null))['catch'](handleError(_0xf70c0,null));};exports[_0xccec('0xaf')]=function(_0x48dfa9,_0x5900e2,_0x3de700){var _0x3f4af8={'raw':![],'where':{}};var _0x48a35a={};var _0x2c244d={'count':0x0,'rows':[]};return db[_0xccec('0x2f')][_0xccec('0xb0')]({'where':{'id':_0x48dfa9[_0xccec('0xaa')]['id']}})[_0xccec('0x23')](handleEntityNotFound(_0x5900e2,null))[_0xccec('0x23')](function(_0x1767fd){if(_0x1767fd){_0x48a35a[_0xccec('0x32')]=_[_0xccec('0x33')](db[_0xccec('0xad')][_0xccec('0x30')]);_0x48a35a[_0xccec('0x36')]=_[_0xccec('0x33')](_0x48dfa9['query']);_0x48a35a[_0xccec('0x34')]=_[_0xccec('0x35')](_0x48a35a[_0xccec('0x32')],_0x48a35a[_0xccec('0x36')]);_0x3f4af8['attributes']=_[_0xccec('0x35')](_0x48a35a[_0xccec('0x32')],qs['fields'](_0x48dfa9[_0xccec('0x36')][_0xccec('0x38')]));_0x3f4af8[_0xccec('0x37')]=_0x3f4af8[_0xccec('0x37')][_0xccec('0x39')]?_0x3f4af8[_0xccec('0x37')]:_0x48a35a[_0xccec('0x32')];if(!_0x48dfa9[_0xccec('0x36')][_0xccec('0x3a')]('nolimit')){_0x3f4af8[_0xccec('0x3b')]=qs[_0xccec('0x3b')](_0x48dfa9['query'][_0xccec('0x3b')]);_0x3f4af8[_0xccec('0x1d')]=qs[_0xccec('0x1d')](_0x48dfa9[_0xccec('0x36')][_0xccec('0x1d')]);}_0x3f4af8['order']=qs[_0xccec('0x3d')](_0x48dfa9[_0xccec('0x36')][_0xccec('0x3d')]);_0x3f4af8['where']=qs[_0xccec('0x34')](_['pick'](_0x48dfa9[_0xccec('0x36')],_0x48a35a[_0xccec('0x34')]));_0x3f4af8['where'][_0xccec('0xa3')]=_0x1767fd['id'];if(_0x48dfa9[_0xccec('0x36')]['filter']){_0x3f4af8[_0xccec('0x3e')]=_[_0xccec('0xa7')](_0x3f4af8[_0xccec('0x3e')],{'$or':_[_0xccec('0x28')](_0x3f4af8['attributes'],function(_0x1d6922){var _0x5e16de={};_0x5e16de[_0x1d6922]={'$like':'%'+_0x48dfa9[_0xccec('0x36')][_0xccec('0x79')]+'%'};return _0x5e16de;})});}if(_0x48dfa9[_0xccec('0x36')][_0xccec('0x6d')]){var _0x855870=_0x48dfa9['query']['$gte'][_0xccec('0x5b')](',');var _0x3177b9={};_0x3177b9[_0x855870[0x0]]={'$gte':moment(_0x855870[0x1])['format'](_0xccec('0xb1'))};_0x3f4af8[_0xccec('0x3e')]=_[_0xccec('0xa7')](_0x3f4af8[_0xccec('0x3e')],_0x3177b9);}_0x3f4af8=_[_0xccec('0xa7')]({},_0x3f4af8,_0x48dfa9[_0xccec('0xa8')]);return db[_0xccec('0xad')][_0xccec('0x1c')]({'where':_0x3f4af8[_0xccec('0x3e')]})[_0xccec('0x23')](function(_0x36e37e){_0x2c244d['count']=_0x36e37e;if(_0x48dfa9['query'][_0xccec('0xb2')]){_0x3f4af8[_0xccec('0xa6')]=[{'all':!![]}];}return db[_0xccec('0xad')]['findAll'](_0x3f4af8);})['then'](function(_0x14e396){_0x2c244d['rows']=_0x14e396;return _0x2c244d;});}})[_0xccec('0x23')](respondWithFilteredResult(_0x5900e2,_0x3f4af8))[_0xccec('0x2d')](handleError(_0x5900e2,null));};exports[_0xccec('0xb3')]=function(_0x49bf95,_0x493251,_0xdba0a0){return db[_0xccec('0x2f')][_0xccec('0x54')]({'where':{'id':_0x49bf95[_0xccec('0xaa')]['id']}})['then'](handleEntityNotFound(_0x493251,null))[_0xccec('0x23')](function(_0x3eb6c7){if(_0x3eb6c7){return _0x3eb6c7['setTags'](_0x49bf95[_0xccec('0xa9')][_0xccec('0xae')],_['omit'](_0x49bf95[_0xccec('0xa9')],[_0xccec('0xae'),'id'])||{})['spread'](function(){return db[_0xccec('0x64')][_0xccec('0xb4')]({'attributes':['id',_0xccec('0x26'),'color'],'where':{'id':_0x49bf95['body'][_0xccec('0xae')]}});})['then'](function(_0x1b92bf){socket['emit'](_0xccec('0xb5'),{'id':Number(_0x49bf95[_0xccec('0xaa')]['id']),'tags':_0x1b92bf||[]});return{'id':Number(_0x49bf95[_0xccec('0xaa')]['id']),'tags':_0x1b92bf||[]};});}})[_0xccec('0x23')](respondWithResult(_0x493251,null))[_0xccec('0x2d')](handleError(_0x493251,null));};exports[_0xccec('0xb6')]=function(_0x57ac9b,_0x147f3b,_0x125abf){return db['FaxInteraction'][_0xccec('0x54')]({'where':{'id':_0x57ac9b[_0xccec('0xaa')]['id']}})['then'](handleEntityNotFound(_0x147f3b,null))[_0xccec('0x23')](function(_0x2e8ab9){if(_0x2e8ab9){return _0x2e8ab9[_0xccec('0xb6')](_0x57ac9b['query'][_0xccec('0xae')]);}})[_0xccec('0x23')](respondWithStatusCode(_0x147f3b,null))[_0xccec('0x2d')](handleError(_0x147f3b,null));};exports['download']=function(_0x31b21e,_0x4bacbe){var _0xf4e89=moment()[_0xccec('0xb7')]()[_0xccec('0x8e')]();var _0x368b09=path[_0xccec('0xb8')](config[_0xccec('0xb9')],_0xccec('0xba'),_0xccec('0xbb'),'tmp');var _0x171b21=path[_0xccec('0xb8')](config[_0xccec('0xb9')],'server','files','attachments');var _0x5cab0e=path[_0xccec('0xb8')](_0x368b09,_0xf4e89);var _0x24669a=util[_0xccec('0xbc')](_0xccec('0xbd'),_0x31b21e[_0xccec('0xaa')]['id'],_0xf4e89);var _0x4d7830=path[_0xccec('0xb8')](_0x368b09,_0x24669a);var _0xa0fdda=[];_0xa0fdda['push']({'model':db['Attachment'],'as':'Attachment','raw':!![]});var _0x4e030e=[{'model':db[_0xccec('0xad')],'as':_0xccec('0xbe'),'attributes':['id','body',_0xccec('0x6c')],'include':_0xa0fdda}];return db[_0xccec('0x2f')][_0xccec('0x54')]({'where':{'id':_0x31b21e[_0xccec('0xaa')]['id']},'include':_0x4e030e})['then'](handleEntityNotFound(_0x4bacbe,null))['then'](function(_0x5d355e){if(_0x5d355e&&_0x5d355e['Messages']){var _0xe31042=_0x5d355e[_0xccec('0xbf')]({'plain':!![]});fs[_0xccec('0xc0')](_0x5cab0e);for(var _0x1b1643=0x0;_0x1b1643<_0xe31042[_0xccec('0xbe')]['length'];_0x1b1643++){var _0x1454f5=_0xe31042['Messages'][_0x1b1643][_0xccec('0xc1')];if(_0x1454f5){var _0x33b964=path[_0xccec('0xb8')](_0x171b21,_0x1454f5[_0xccec('0xc2')]);if(fs[_0xccec('0xc3')](_0x33b964)){fs[_0xccec('0xc4')](_0x33b964)[_0xccec('0xc5')](fs['createWriteStream'](path[_0xccec('0xb8')](_0x5cab0e,_0x1454f5[_0xccec('0xc2')])));}}}return BPromise[_0xccec('0x87')]()['then'](function(){return new BPromise(function(_0x469316,_0x368f3c){zipdir(_0x5cab0e,{'saveTo':_0x4d7830},function(_0x1f1f3b,_0x3b9dcd){if(_0x1f1f3b)return _0x368f3c(_0x1f1f3b);return _0x469316(_0x3b9dcd);});})[_0xccec('0x23')](function(){return new BPromise(function(_0x4ae550,_0x4df6a3){rimraf(_0x5cab0e,function(_0xc784c1){if(_0xc784c1)_0x4df6a3(_0xc784c1);return _0x4ae550();});});})['then'](function(){return _0x4bacbe[_0xccec('0xc6')](_0x4d7830,_0x24669a,function(_0x35ac58){if(_0x35ac58){console[_0xccec('0xc7')]('err',_0x35ac58);}else{fs[_0xccec('0xc8')](_0x4d7830);}});});});}else{return _0x4bacbe['sendStatus'](0xc8);}})[_0xccec('0x2d')](handleError(_0x4bacbe,null));};