7a6a89efeb5525235c4677b7259047ee059ffbed
[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 _0xd067=['search','parseSearch','sqlOperator','conditions','unreadMessages','value','having','`\x20=\x200','`\x20>\x200','Contact','split','find','ContactId','buildExpression','type','text','start','forEach','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','operator','$substring','UserId','some','compact','FaxAccountId','where','concat','createdAt','$gte','parse','$lte','null','\x20=\x20?','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','isArray','filter','replace','i.fax\x20LIKE\x20?','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','i.id','Sequelize','SELECT','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','contactName','isEmpty','t.id\x20IN\x20?','resolve','i.FaxAccountId\x20IS\x20NOT\x20NULL','user','role','agent','getFaxAccounts','i.FaxAccountId\x20IS\x20NULL','i.FaxAccountId\x20IN\x20?','sequelize','toString','merge','a.key','Account.key','Account.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','c.firstName','c.lastName','Contact.lastName','c.email','Contact.email','Contact.phone','c.mobile','c.fax','Contact.fax','o.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.FaxInteractionId\x20IN\x20?','groupBy','push','all','rows','show','includeAll','include','create','body','params','describe','addMessage','FaxMessage','omit','ids','findOne','FaxInteractionId','format','YYYY-MM-DD\x20HH:mm:ss','options','findAll','addTags','setTags','spread','faxInteractionTags:save','removeTags','download','join','root','files','tmp','server','attachments','transcript-%d-%s.zip','Attachment','Messages','get','basename','existsSync','createReadStream','pipe','createWriteStream','log','err','eml-format','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','ejs','lodash','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb','defaults','redis','socket.io-emitter','status','end','json','offset','undefined','count','limit','apply','reject','update','then','destroy','sendStatus','error','stack','name','Users','map','fullname','Tags','TagIds','catch','FaxInteraction','rawAttributes','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','pick','select','field','color','from','u.fullname','user_has_fax_interactions','left_join','users','u.id\x20=\x20ui.UserId','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','fax_accounts','a.id\x20=\x20i.FaxAccountId','fax_messages','fax_interaction_has_tags','it.FaxInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr'];(function(_0x4a9e50,_0x4dd18b){var _0x4b1529=function(_0x305ef5){while(--_0x305ef5){_0x4a9e50['push'](_0x4a9e50['shift']());}};_0x4b1529(++_0x4dd18b);}(_0xd067,0x146));var _0x7d06=function(_0x4620ff,_0x1d3f98){_0x4620ff=_0x4620ff-0x0;var _0x57009b=_0xd067[_0x4620ff];return _0x57009b;};'use strict';var emlformat=require(_0x7d06('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x7d06('0x1'));var rp=require(_0x7d06('0x2'));var moment=require(_0x7d06('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x7d06('0x4'));var util=require(_0x7d06('0x5'));var path=require(_0x7d06('0x6'));var sox=require(_0x7d06('0x7'));var csv=require(_0x7d06('0x8'));var ejs=require(_0x7d06('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x7d06('0xa'));var squel=require('squel');var crypto=require(_0x7d06('0xb'));var jsforce=require(_0x7d06('0xc'));var deskjs=require(_0x7d06('0xd'));var toCsv=require(_0x7d06('0x8'));var querystring=require(_0x7d06('0xe'));var Papa=require('papaparse');var Redis=require(_0x7d06('0xf'));var authService=require(_0x7d06('0x10'));var qs=require(_0x7d06('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x7d06('0x12'));var logger=require('../../config/logger')(_0x7d06('0x13'));var utils=require(_0x7d06('0x14'));var config=require(_0x7d06('0x15'));var licenseUtil=require('../../config/license/util');var db=require(_0x7d06('0x16'))['db'];config['redis']=_[_0x7d06('0x17')](config[_0x7d06('0x18')],{'host':'localhost','port':0x18eb});var socket=require(_0x7d06('0x19'))(new Redis(config[_0x7d06('0x18')]));require('./faxInteraction.socket')['register'](socket);function respondWithStatusCode(_0x341d72,_0x2897cb){_0x2897cb=_0x2897cb||0xcc;return function(_0x130576){if(_0x130576){return _0x341d72['sendStatus'](_0x2897cb);}return _0x341d72[_0x7d06('0x1a')](_0x2897cb)[_0x7d06('0x1b')]();};}function respondWithResult(_0x4b4458,_0x31bd6e){_0x31bd6e=_0x31bd6e||0xc8;return function(_0x3b3416){if(_0x3b3416){return _0x4b4458[_0x7d06('0x1a')](_0x31bd6e)[_0x7d06('0x1c')](_0x3b3416);}};}function respondWithFilteredResult(_0x4b68f5,_0x5dcbc6){return function(_0x304f43){if(_0x304f43){var _0x4ae9fe=typeof _0x5dcbc6[_0x7d06('0x1d')]===_0x7d06('0x1e')&&typeof _0x5dcbc6['limit']==='undefined';var _0x39cf99=_0x304f43[_0x7d06('0x1f')];var _0x430fbd=_0x4ae9fe?0x0:_0x5dcbc6[_0x7d06('0x1d')];var _0x3c547b=_0x4ae9fe?_0x304f43[_0x7d06('0x1f')]:_0x5dcbc6['offset']+_0x5dcbc6[_0x7d06('0x20')];var _0x5eb122;if(_0x3c547b>=_0x39cf99){_0x3c547b=_0x39cf99;_0x5eb122=0xc8;}else{_0x5eb122=0xce;}_0x4b68f5[_0x7d06('0x1a')](_0x5eb122);return _0x4b68f5['set']('Content-Range',_0x430fbd+'-'+_0x3c547b+'/'+_0x39cf99)[_0x7d06('0x1c')](_0x304f43);}return null;};}function patchUpdates(_0x5201bd){return function(_0x523dfd){try{jsonpatch[_0x7d06('0x21')](_0x523dfd,_0x5201bd,!![]);}catch(_0x46fdc9){return BPromise[_0x7d06('0x22')](_0x46fdc9);}return _0x523dfd['save']();};}function saveUpdates(_0x2c6675,_0x168ded){return function(_0x1fcfeb){if(_0x1fcfeb){return _0x1fcfeb[_0x7d06('0x23')](_0x2c6675)[_0x7d06('0x24')](function(_0x5ad9d8){return _0x5ad9d8;});}return null;};}function removeEntity(_0x1425fb,_0x589e3a){return function(_0x29e3f3){if(_0x29e3f3){return _0x29e3f3[_0x7d06('0x25')]()['then'](function(){_0x1425fb[_0x7d06('0x1a')](0xcc)[_0x7d06('0x1b')]();});}};}function handleEntityNotFound(_0x28f9dc,_0x3b64a5){return function(_0x1812f9){if(!_0x1812f9){_0x28f9dc[_0x7d06('0x26')](0x194);}return _0x1812f9;};}function handleError(_0x26df61,_0xf9a684){_0xf9a684=_0xf9a684||0x1f4;return function(_0xb9139){logger[_0x7d06('0x27')](_0xb9139[_0x7d06('0x28')]);if(_0xb9139[_0x7d06('0x29')]){delete _0xb9139['name'];}_0x26df61[_0x7d06('0x1a')](_0xf9a684)['send'](_0xb9139);};}function getInteractionUsers(_0xeb853f,_0x48def8){return new BPromise(function(_0x2ef3d5,_0x2694f8){try{if(_0x48def8[_0xeb853f['id']]){_0xeb853f[_0x7d06('0x2a')]=_[_0x7d06('0x2b')](_0x48def8[_0xeb853f['id']],function(_0x988400){return{'id':_0x988400['id'],'fullname':_0x988400[_0x7d06('0x2c')]};});}}catch(_0x532111){_0x2694f8(_0x532111);}_0x2ef3d5(_0xeb853f);});}function getInteractionTags(_0x5e7934,_0x1d3b8b){return new BPromise(function(_0x2b9786,_0x3f64b1){try{if(_0x5e7934['TagIds']){_0x5e7934[_0x7d06('0x2d')]=[];_0x5e7934[_0x7d06('0x2e')]['split'](',')['forEach'](function(_0xe75e3f){_0x5e7934[_0x7d06('0x2d')]['push'](_0x1d3b8b[_0xe75e3f]);});}delete _0x5e7934[_0x7d06('0x2e')];}catch(_0x502ef9){_0x3f64b1(_0x502ef9);}_0x2b9786(_0x5e7934);});}function updateFaxInteraction(_0x4d9ef2,_0x2be29c,_0x51a1bb){return new BPromise(function(_0x5d0923,_0x40bf3d){return getInteractionUsers(_0x4d9ef2,_0x51a1bb)['then'](function(_0x3fcb31){return getInteractionTags(_0x3fcb31,_0x2be29c);})[_0x7d06('0x24')](function(_0x459e0c){_0x5d0923(_0x459e0c);})[_0x7d06('0x2f')](function(_0x5ad085){_0x40bf3d(_0x5ad085);});});}exports['index']=function(_0x258f8f,_0x373f0f){var _0x27d355={},_0x483f7f={},_0x9ad544={'count':0x0,'rows':[]};var _0x452870=_[_0x7d06('0x2b')](db[_0x7d06('0x30')][_0x7d06('0x31')],function(_0x27eb18){return{'name':_0x27eb18['fieldName'],'type':_0x27eb18['type']['key']};});_0x483f7f[_0x7d06('0x32')]=_[_0x7d06('0x2b')](_0x452870,'name');_0x483f7f[_0x7d06('0x33')]=_[_0x7d06('0x34')](_0x258f8f[_0x7d06('0x33')]);_0x483f7f[_0x7d06('0x35')]=_[_0x7d06('0x36')](_0x483f7f['model'],_0x483f7f['query']);_0x27d355[_0x7d06('0x37')]=_[_0x7d06('0x36')](_0x483f7f[_0x7d06('0x32')],qs[_0x7d06('0x38')](_0x258f8f['query'][_0x7d06('0x38')]));_0x27d355[_0x7d06('0x37')]=_0x27d355['attributes'][_0x7d06('0x39')]?_0x27d355[_0x7d06('0x37')]:_0x483f7f[_0x7d06('0x32')];if(!_0x258f8f[_0x7d06('0x33')][_0x7d06('0x3a')]('nolimit')){_0x27d355['limit']=qs[_0x7d06('0x20')](_0x258f8f[_0x7d06('0x33')][_0x7d06('0x20')]);_0x27d355[_0x7d06('0x1d')]=qs[_0x7d06('0x1d')](_0x258f8f[_0x7d06('0x33')][_0x7d06('0x1d')]);}_0x27d355[_0x7d06('0x3b')]=qs['sort'](_0x258f8f[_0x7d06('0x33')][_0x7d06('0x3c')]);_0x27d355['where']=qs[_0x7d06('0x35')](_[_0x7d06('0x3d')](_0x258f8f[_0x7d06('0x33')],_0x483f7f[_0x7d06('0x35')]),_0x452870);var _0x5dd9aa=[];var _0xbed2c2=squel[_0x7d06('0x3e')]()[_0x7d06('0x3f')]('id')[_0x7d06('0x3f')](_0x7d06('0x29'))['field'](_0x7d06('0x40'))[_0x7d06('0x41')]('tools_tags');var _0x59dba1=squel[_0x7d06('0x3e')]()['field']('u.id')[_0x7d06('0x3f')](_0x7d06('0x42'))[_0x7d06('0x3f')]('ui.FaxInteractionId')[_0x7d06('0x41')](_0x7d06('0x43'),'ui')[_0x7d06('0x44')](_0x7d06('0x45'),'u',_0x7d06('0x46'));var _0x2fea46=squel['select']()[_0x7d06('0x41')]('fax_interactions','i')[_0x7d06('0x44')](_0x7d06('0x47'),'c',_0x7d06('0x48'))['left_join']('users','o','o.id\x20=\x20i.UserId')[_0x7d06('0x44')](_0x7d06('0x49'),'a',_0x7d06('0x4a'))[_0x7d06('0x44')](_0x7d06('0x4b'),'me','me.FaxInteractionId\x20=\x20i.id')[_0x7d06('0x44')](_0x7d06('0x4c'),'it',_0x7d06('0x4d'))[_0x7d06('0x44')]('tools_tags','t',_0x7d06('0x4e'));var _0x4990bc=squel[_0x7d06('0x4f')]();var _0x39125b=[];var _0xde7194=squel[_0x7d06('0x4f')]();var _0x527c28;if(_0x258f8f['query'][_0x7d06('0x50')]){_0x527c28=as[_0x7d06('0x51')](_0x258f8f[_0x7d06('0x33')]['search']);var _0x520ae1=_0x527c28[_0x7d06('0x52')];for(var _0x29c596=0x0;_0x29c596<_0x527c28[_0x7d06('0x53')][_0x7d06('0x39')];_0x29c596++){var _0x890298=_0x527c28['conditions'][_0x29c596];var _0x186795='i';var _0x43408a=_['find'](_0x452870,[_0x7d06('0x29'),_0x890298['field']]);if(!_0x43408a){switch(_0x890298[_0x7d06('0x3f')]){case _0x7d06('0x54'):if(_0x890298[_0x7d06('0x55')]==0x1){_0x2fea46[_0x7d06('0x56')]('`'+_0x890298[_0x7d06('0x3f')]+_0x7d06('0x57'));}else{_0x2fea46[_0x7d06('0x56')]('`'+_0x890298[_0x7d06('0x3f')]+_0x7d06('0x58'));}break;case _0x7d06('0x59'):if(_0x890298['operator']==='$substring'){if(_0x890298[_0x7d06('0x55')][_0x7d06('0x5a')]('\x20')[_0x7d06('0x39')]>0x1){_0x4990bc[_0x520ae1]('MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs['getFullTextValue'](_0x890298[_0x7d06('0x55')]),null);}else{var _0x592f73='%'+_0x890298[_0x7d06('0x55')]+'%';_0x4990bc[_0x520ae1]('c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?',_0x592f73,_0x592f73,_0x592f73);}}else{_0x43408a=_[_0x7d06('0x5b')](_0x452870,[_0x7d06('0x29'),_0x7d06('0x5c')]);_0x890298[_0x7d06('0x3f')]=_0x7d06('0x5c');_0x1dd9db=as[_0x7d06('0x5d')](_0x186795,_0x43408a[_0x7d06('0x5e')],_0x890298);_0x4990bc[_0x520ae1](_0x1dd9db[_0x7d06('0x5f')],_0x1dd9db[_0x7d06('0x55')][_0x7d06('0x60')],_0x1dd9db[_0x7d06('0x55')]['end']);}break;case'Tag':var _0x27abe9=_0x890298[_0x7d06('0x55')][_0x7d06('0x5a')](',')[_0x7d06('0x2b')](function(_0xde8f58){return Number(_0xde8f58);});_0x27abe9[_0x7d06('0x61')](function(_0x397ab1){_0xde7194['or'](_0x7d06('0x62'),'%,'+_0x397ab1+',%');});_0x39125b=_['union'](_0x39125b,_0x27abe9);break;case'User':if(_0x890298[_0x7d06('0x63')]===_0x7d06('0x64')){_0x4990bc[_0x520ae1]('CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','%'+_0x890298[_0x7d06('0x55')]+'%',null);}else{_0x43408a=_['find'](_0x452870,[_0x7d06('0x29'),'UserId']);_0x890298[_0x7d06('0x3f')]=_0x7d06('0x65');_0x1dd9db=as[_0x7d06('0x5d')](_0x186795,_0x43408a[_0x7d06('0x5e')],_0x890298);_0x4990bc[_0x520ae1](_0x1dd9db[_0x7d06('0x5f')],_0x1dd9db[_0x7d06('0x55')][_0x7d06('0x60')],_0x1dd9db[_0x7d06('0x55')]['end']);}break;case'body':_0x1dd9db=as[_0x7d06('0x5d')]('me',null,_0x890298);_0x4990bc[_0x520ae1](_0x1dd9db[_0x7d06('0x5f')],_0x1dd9db[_0x7d06('0x55')]['start'],_0x1dd9db['value'][_0x7d06('0x1b')]);break;}}else{var _0x1dd9db=as[_0x7d06('0x5d')](_0x186795,_0x43408a['type'],_0x890298);_0x4990bc[_0x520ae1](_0x1dd9db[_0x7d06('0x5f')],_0x1dd9db[_0x7d06('0x55')][_0x7d06('0x60')],_0x1dd9db[_0x7d06('0x55')]['end']);}}}else{var _0x85c29d=_(_0x258f8f[_0x7d06('0x33')])[_0x7d06('0x34')]()[_0x7d06('0x2b')](function(_0x38dd6a){return _[_0x7d06('0x66')](_0x452870,[_0x7d06('0x29'),_0x38dd6a])?_0x38dd6a:undefined;})[_0x7d06('0x67')]()[_0x7d06('0x55')]();if(!_['isEmpty'](_0x85c29d)){_0x85c29d[_0x7d06('0x61')](function(_0x4beade){if(_0x4beade===_0x7d06('0x68')){_0x2fea46[_0x7d06('0x69')]('i.FaxAccountId\x20IN\x20?',[][_0x7d06('0x6a')](_0x258f8f[_0x7d06('0x33')][_0x4beade]));}else if(_0x4beade===_0x7d06('0x6b')){var _0x556401=JSON['parse'](_0x258f8f['query'][_0x4beade])[_0x7d06('0x6c')];var _0x46f872=JSON[_0x7d06('0x6d')](_0x258f8f[_0x7d06('0x33')][_0x4beade])[_0x7d06('0x6e')];_0x2fea46[_0x7d06('0x69')]('i.createdAt\x20BETWEEN\x20?\x20AND\x20?',_0x556401,_0x46f872);}else{if(_0x258f8f[_0x7d06('0x33')][_0x4beade]===_0x7d06('0x6f')){_0x2fea46[_0x7d06('0x69')]('i.'+_0x4beade+'\x20IS\x20NULL');}else{_0x2fea46[_0x7d06('0x69')]('i.'+_0x4beade+_0x7d06('0x70'),_0x258f8f[_0x7d06('0x33')][_0x4beade]);}}});}if(_0x258f8f[_0x7d06('0x33')][_0x7d06('0x71')]){if(_0x258f8f['query'][_0x7d06('0x71')]==0x1){_0x2fea46[_0x7d06('0x56')](_0x7d06('0x72'));}else{_0x2fea46[_0x7d06('0x56')](_0x7d06('0x73'));}}if(_0x258f8f[_0x7d06('0x33')][_0x7d06('0x74')]){_0x39125b=_[_0x7d06('0x75')](_0x258f8f['query'][_0x7d06('0x74')])?_0x258f8f[_0x7d06('0x33')][_0x7d06('0x74')]:new Array(_0x258f8f[_0x7d06('0x33')][_0x7d06('0x74')]);_0x39125b[_0x7d06('0x61')](function(_0x18c2d6){_0xde7194['or'](_0x7d06('0x62'),'%,'+_0x18c2d6+',%');});}if(_0x258f8f['query'][_0x7d06('0x76')]){var _0x14c2b2=_0x258f8f['query'][_0x7d06('0x76')][_0x7d06('0x77')]('\x5c','\x5c\x5c')[_0x7d06('0x77')](/'/g,'\x27\x27');if(qs['isNumeric'](_0x14c2b2)){_0x4990bc['or']('i.id\x20LIKE\x20?',_0x14c2b2+'%')['or'](_0x7d06('0x78'),_0x14c2b2+'%');}_0x4990bc['or'](_0x7d06('0x79'),_0x14c2b2+'%');}}_0x2fea46[_0x7d06('0x69')](_0x4990bc);_0x2fea46[_0x7d06('0x7a')](_0x7d06('0x7b'));var _0x5cd324={'type':db[_0x7d06('0x7c')]['QueryTypes'][_0x7d06('0x7d')],'raw':!![]};var _0x4b7c19=_0x2fea46['clone']();_0x4b7c19[_0x7d06('0x3f')](_0x7d06('0x7b'));_0x4b7c19[_0x7d06('0x3f')](_0x7d06('0x7e'),'unreadMessages');if(_0x27d355[_0x7d06('0x3b')]){_0x27d355[_0x7d06('0x3b')][_0x7d06('0x61')](function(_0x55ec6f){var _0x15a97d=_0x55ec6f[0x0]===_0x7d06('0x7f')?_0x55ec6f[0x0]:'i.'+_0x55ec6f[0x0];_0x2fea46[_0x7d06('0x3b')](_0x15a97d,_0x55ec6f[0x1]==='DESC'?![]:!![]);});}if(!_[_0x7d06('0x80')](_0x39125b)){_0x2fea46[_0x7d06('0x56')](_0xde7194);_0x4b7c19[_0x7d06('0x69')](_0x7d06('0x81'),_0x39125b);}BPromise[_0x7d06('0x82')]()[_0x7d06('0x24')](function(){if(!_0x527c28){if(_0x258f8f['query'][_0x7d06('0x68')])return;_0x4b7c19[_0x7d06('0x69')](_0x7d06('0x83'));_0x2fea46[_0x7d06('0x69')]('i.FaxAccountId\x20IS\x20NOT\x20NULL');return;}if(_0x258f8f[_0x7d06('0x84')][_0x7d06('0x85')]!==_0x7d06('0x86'))return;return _0x258f8f[_0x7d06('0x84')][_0x7d06('0x87')]({'attributes':['id'],'raw':!![]})[_0x7d06('0x24')](function(_0x30059e){if(_['isEmpty'](_0x30059e)){_0x4b7c19['where']('i.FaxAccountId\x20IS\x20NULL');_0x2fea46[_0x7d06('0x69')](_0x7d06('0x88'));}else{_0x4b7c19[_0x7d06('0x69')]('i.FaxAccountId\x20IN\x20?',_[_0x7d06('0x2b')](_0x30059e,'id'));_0x2fea46[_0x7d06('0x69')](_0x7d06('0x89'),_[_0x7d06('0x2b')](_0x30059e,'id'));}});})[_0x7d06('0x24')](function(){if(_0x258f8f[_0x7d06('0x84')][_0x7d06('0x85')]==='agent'&&!_0x527c28&&!_0x258f8f[_0x7d06('0x33')][_0x7d06('0x68')])return[];return db[_0x7d06('0x8a')][_0x7d06('0x33')](_0x4b7c19[_0x7d06('0x8b')](),_0x5cd324);})[_0x7d06('0x24')](function(_0x1ff767){_0x9ad544['count']=_0x1ff767[_0x7d06('0x39')];if(_0x9ad544['count']===0x0)return[];return db[_0x7d06('0x8a')][_0x7d06('0x33')](_0xbed2c2[_0x7d06('0x8b')](),_0x5cd324)['then'](function(_0x1ebfe8){_0x5dd9aa=_['keyBy'](_0x1ebfe8,'id');_0x5cd324=_[_0x7d06('0x8c')](_0x5cd324,{'model':db['FaxInteraction'],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x258f8f[_0x7d06('0x33')]['fields']){_0x27d355[_0x7d06('0x37')][_0x7d06('0x61')](function(_0x4d76a6){_0x2fea46[_0x7d06('0x3f')]('i.'+_0x4d76a6);});}else{_0x2fea46['field'](_0x7d06('0x7e'),_0x7d06('0x54'));_0x2fea46[_0x7d06('0x3f')](_0x7d06('0x8d'),_0x7d06('0x8e'));_0x2fea46[_0x7d06('0x3f')]('a.mandatoryDisposition',_0x7d06('0x8f'));_0x2fea46[_0x7d06('0x3f')](_0x7d06('0x90'),_0x7d06('0x7f'));_0x2fea46[_0x7d06('0x3f')]('i.*');_0x2fea46[_0x7d06('0x3f')](_0x7d06('0x91'),'Contact.firstName');_0x2fea46['field'](_0x7d06('0x92'),_0x7d06('0x93'));_0x2fea46[_0x7d06('0x3f')](_0x7d06('0x94'),_0x7d06('0x95'));_0x2fea46[_0x7d06('0x3f')]('c.phone',_0x7d06('0x96'));_0x2fea46['field'](_0x7d06('0x97'),'Contact.mobile');_0x2fea46[_0x7d06('0x3f')](_0x7d06('0x98'),_0x7d06('0x99'));_0x2fea46['field'](_0x7d06('0x9a'),'Owner.fullname');_0x2fea46['field'](_0x7d06('0x9b'),_0x7d06('0x9c'));_0x2fea46['field'](_0x7d06('0x9d'),_0x7d06('0x2e'));}if(_0x27d355['limit'])_0x2fea46[_0x7d06('0x20')](_0x27d355[_0x7d06('0x20')]);if(_0x27d355[_0x7d06('0x1d')])_0x2fea46['offset'](_0x27d355['offset']);return db[_0x7d06('0x8a')][_0x7d06('0x33')](_0x2fea46['toString'](),_0x5cd324);})['then'](function(_0x112a97){if(_0x112a97[_0x7d06('0x39')]>0x0)_0x59dba1['where'](_0x7d06('0x9e'),_[_0x7d06('0x2b')](_0x112a97,'id'));return db[_0x7d06('0x8a')][_0x7d06('0x33')](_0x59dba1['toString'](),_0x5cd324)[_0x7d06('0x24')](function(_0x165324){var _0x56c91e=_[_0x7d06('0x9f')](_0x165324,'FaxInteractionId');var _0xd6958a=[];_0x112a97[_0x7d06('0x61')](function(_0x2031e9){_0xd6958a[_0x7d06('0xa0')](updateFaxInteraction(_0x2031e9,_0x5dd9aa,_0x56c91e));});return BPromise[_0x7d06('0xa1')](_0xd6958a);});});})[_0x7d06('0x24')](function(_0x1b8a38){_0x9ad544[_0x7d06('0xa2')]=_0x1b8a38;return _0x9ad544;})[_0x7d06('0x24')](respondWithFilteredResult(_0x373f0f,_0x27d355))[_0x7d06('0x2f')](handleError(_0x373f0f,null));};exports[_0x7d06('0xa3')]=function(_0x575da5,_0x1c1937){var _0x50366f={'raw':![],'where':{'id':_0x575da5['params']['id']}},_0x4680ae={};_0x4680ae[_0x7d06('0x32')]=_[_0x7d06('0x34')](db[_0x7d06('0x30')][_0x7d06('0x31')]);_0x4680ae['query']=_[_0x7d06('0x34')](_0x575da5[_0x7d06('0x33')]);_0x4680ae[_0x7d06('0x35')]=_[_0x7d06('0x36')](_0x4680ae[_0x7d06('0x32')],_0x4680ae[_0x7d06('0x33')]);_0x50366f[_0x7d06('0x37')]=_[_0x7d06('0x36')](_0x4680ae[_0x7d06('0x32')],qs[_0x7d06('0x38')](_0x575da5[_0x7d06('0x33')][_0x7d06('0x38')]));_0x50366f[_0x7d06('0x37')]=_0x50366f['attributes'][_0x7d06('0x39')]?_0x50366f[_0x7d06('0x37')]:_0x4680ae[_0x7d06('0x32')];if(_0x575da5[_0x7d06('0x33')][_0x7d06('0xa4')]){_0x50366f[_0x7d06('0xa5')]=[{'all':!![]}];}_0x50366f=_[_0x7d06('0x8c')]({},_0x50366f,_0x575da5['options']);return db[_0x7d06('0x30')][_0x7d06('0x5b')](_0x50366f)['then'](handleEntityNotFound(_0x1c1937,null))[_0x7d06('0x24')](respondWithResult(_0x1c1937,null))['catch'](handleError(_0x1c1937,null));};exports['create']=function(_0x26cdc2,_0xa493a8){return db[_0x7d06('0x30')][_0x7d06('0xa6')](_0x26cdc2[_0x7d06('0xa7')],{})[_0x7d06('0x24')](respondWithResult(_0xa493a8,0xc9))['catch'](handleError(_0xa493a8,null));};exports[_0x7d06('0x23')]=function(_0x29cdbc,_0x56b91c){if(_0x29cdbc[_0x7d06('0xa7')]['id']){delete _0x29cdbc['body']['id'];}return db['FaxInteraction'][_0x7d06('0x5b')]({'where':{'id':_0x29cdbc[_0x7d06('0xa8')]['id']}})[_0x7d06('0x24')](handleEntityNotFound(_0x56b91c,null))['then'](saveUpdates(_0x29cdbc[_0x7d06('0xa7')],null))[_0x7d06('0x24')](respondWithResult(_0x56b91c,null))['catch'](handleError(_0x56b91c,null));};exports[_0x7d06('0x25')]=function(_0x201aad,_0x15b44c){return db['FaxInteraction'][_0x7d06('0x5b')]({'where':{'id':_0x201aad['params']['id']}})['then'](handleEntityNotFound(_0x15b44c,null))[_0x7d06('0x24')](removeEntity(_0x15b44c,null))[_0x7d06('0x2f')](handleError(_0x15b44c,null));};exports[_0x7d06('0xa9')]=function(_0x714ace,_0x9663ce){return db[_0x7d06('0x30')]['describe']()[_0x7d06('0x24')](respondWithResult(_0x9663ce,null))['catch'](handleError(_0x9663ce,null));};exports[_0x7d06('0xaa')]=function(_0x2da264,_0x101848,_0x5454d1){return db[_0x7d06('0xab')][_0x7d06('0x5b')]({'where':{'id':_0x2da264[_0x7d06('0xa8')]['id']}})[_0x7d06('0x24')](handleEntityNotFound(_0x101848,null))[_0x7d06('0x24')](function(_0x4e74a4){if(_0x4e74a4){return _0x4e74a4['addMessage'](_0x2da264['body']['ids'],_[_0x7d06('0xac')](_0x2da264[_0x7d06('0xa7')],[_0x7d06('0xad'),'id'])||{});}})[_0x7d06('0x24')](respondWithResult(_0x101848,null))[_0x7d06('0x2f')](handleError(_0x101848,null));};exports['getMessages']=function(_0x210ed8,_0x2acf50,_0x3517eb){var _0x2cd238={'raw':![],'where':{}};var _0x541c83={};var _0x2bea95={'count':0x0,'rows':[]};return db[_0x7d06('0x30')][_0x7d06('0xae')]({'where':{'id':_0x210ed8[_0x7d06('0xa8')]['id']}})[_0x7d06('0x24')](handleEntityNotFound(_0x2acf50,null))[_0x7d06('0x24')](function(_0x4ada9d){if(_0x4ada9d){_0x541c83[_0x7d06('0x32')]=_[_0x7d06('0x34')](db[_0x7d06('0xab')][_0x7d06('0x31')]);_0x541c83['query']=_['keys'](_0x210ed8[_0x7d06('0x33')]);_0x541c83[_0x7d06('0x35')]=_[_0x7d06('0x36')](_0x541c83['model'],_0x541c83[_0x7d06('0x33')]);_0x2cd238[_0x7d06('0x37')]=_[_0x7d06('0x36')](_0x541c83[_0x7d06('0x32')],qs[_0x7d06('0x38')](_0x210ed8[_0x7d06('0x33')][_0x7d06('0x38')]));_0x2cd238[_0x7d06('0x37')]=_0x2cd238[_0x7d06('0x37')][_0x7d06('0x39')]?_0x2cd238[_0x7d06('0x37')]:_0x541c83[_0x7d06('0x32')];if(!_0x210ed8[_0x7d06('0x33')][_0x7d06('0x3a')]('nolimit')){_0x2cd238['limit']=qs[_0x7d06('0x20')](_0x210ed8['query'][_0x7d06('0x20')]);_0x2cd238[_0x7d06('0x1d')]=qs[_0x7d06('0x1d')](_0x210ed8[_0x7d06('0x33')]['offset']);}_0x2cd238[_0x7d06('0x3b')]=qs['sort'](_0x210ed8['query'][_0x7d06('0x3c')]);_0x2cd238['where']=qs[_0x7d06('0x35')](_[_0x7d06('0x3d')](_0x210ed8[_0x7d06('0x33')],_0x541c83[_0x7d06('0x35')]));_0x2cd238['where'][_0x7d06('0xaf')]=_0x4ada9d['id'];if(_0x210ed8[_0x7d06('0x33')][_0x7d06('0x76')]){_0x2cd238[_0x7d06('0x69')]=_['merge'](_0x2cd238['where'],{'$or':_['map'](_0x2cd238[_0x7d06('0x37')],function(_0x31d2c8){var _0x1df6dd={};_0x1df6dd[_0x31d2c8]={'$like':'%'+_0x210ed8[_0x7d06('0x33')]['filter']+'%'};return _0x1df6dd;})});}if(_0x210ed8[_0x7d06('0x33')][_0x7d06('0x6c')]){var _0x2f5136=_0x210ed8['query'][_0x7d06('0x6c')][_0x7d06('0x5a')](',');var _0xfcec94={};_0xfcec94[_0x2f5136[0x0]]={'$gte':moment(_0x2f5136[0x1])[_0x7d06('0xb0')](_0x7d06('0xb1'))};_0x2cd238[_0x7d06('0x69')]=_[_0x7d06('0x8c')](_0x2cd238[_0x7d06('0x69')],_0xfcec94);}_0x2cd238=_[_0x7d06('0x8c')]({},_0x2cd238,_0x210ed8[_0x7d06('0xb2')]);return db[_0x7d06('0xab')][_0x7d06('0x1f')]({'where':_0x2cd238[_0x7d06('0x69')]})[_0x7d06('0x24')](function(_0xfb6981){_0x2bea95[_0x7d06('0x1f')]=_0xfb6981;if(_0x210ed8[_0x7d06('0x33')][_0x7d06('0xa4')]){_0x2cd238[_0x7d06('0xa5')]=[{'all':!![]}];}return db[_0x7d06('0xab')][_0x7d06('0xb3')](_0x2cd238);})[_0x7d06('0x24')](function(_0x356c5b){_0x2bea95['rows']=_0x356c5b;return _0x2bea95;});}})[_0x7d06('0x24')](respondWithFilteredResult(_0x2acf50,_0x2cd238))[_0x7d06('0x2f')](handleError(_0x2acf50,null));};exports[_0x7d06('0xb4')]=function(_0x2e75e5,_0x1629ab,_0x279931){return db[_0x7d06('0x30')][_0x7d06('0x5b')]({'where':{'id':_0x2e75e5['params']['id']}})['then'](handleEntityNotFound(_0x1629ab,null))[_0x7d06('0x24')](function(_0x3277b4){if(_0x3277b4){return _0x3277b4[_0x7d06('0xb5')](_0x2e75e5[_0x7d06('0xa7')]['ids'],_[_0x7d06('0xac')](_0x2e75e5[_0x7d06('0xa7')],[_0x7d06('0xad'),'id'])||{})[_0x7d06('0xb6')](function(){return db['Tag'][_0x7d06('0xb3')]({'attributes':['id',_0x7d06('0x29'),_0x7d06('0x40')],'where':{'id':_0x2e75e5[_0x7d06('0xa7')]['ids']}});})[_0x7d06('0x24')](function(_0x2f90ae){socket['emit'](_0x7d06('0xb7'),{'id':Number(_0x2e75e5['params']['id']),'tags':_0x2f90ae||[]});return{'id':Number(_0x2e75e5[_0x7d06('0xa8')]['id']),'tags':_0x2f90ae||[]};});}})['then'](respondWithResult(_0x1629ab,null))[_0x7d06('0x2f')](handleError(_0x1629ab,null));};exports[_0x7d06('0xb8')]=function(_0x5bb284,_0x5196f4,_0x1cf43d){return db[_0x7d06('0x30')][_0x7d06('0x5b')]({'where':{'id':_0x5bb284[_0x7d06('0xa8')]['id']}})['then'](handleEntityNotFound(_0x5196f4,null))[_0x7d06('0x24')](function(_0x490c97){if(_0x490c97){return _0x490c97[_0x7d06('0xb8')](_0x5bb284[_0x7d06('0x33')]['ids']);}})[_0x7d06('0x24')](respondWithStatusCode(_0x5196f4,null))[_0x7d06('0x2f')](handleError(_0x5196f4,null));};exports[_0x7d06('0xb9')]=function(_0x1e68d3,_0x3f8e27){var _0x4140b4=moment()['unix']()[_0x7d06('0x8b')]();var _0x231d0c=path[_0x7d06('0xba')](config[_0x7d06('0xbb')],'server',_0x7d06('0xbc'),_0x7d06('0xbd'));var _0x254a3a=path['join'](config[_0x7d06('0xbb')],_0x7d06('0xbe'),_0x7d06('0xbc'),_0x7d06('0xbf'));var _0x54ce96=path[_0x7d06('0xba')](_0x231d0c,_0x4140b4);var _0x464948=util['format'](_0x7d06('0xc0'),_0x1e68d3[_0x7d06('0xa8')]['id'],_0x4140b4);var _0x1aeb86=path[_0x7d06('0xba')](_0x231d0c,_0x464948);var _0x1a15e6=[];_0x1a15e6[_0x7d06('0xa0')]({'model':db['Attachment'],'as':_0x7d06('0xc1'),'raw':!![]});var _0x258e8d=[{'model':db[_0x7d06('0xab')],'as':_0x7d06('0xc2'),'attributes':['id',_0x7d06('0xa7'),_0x7d06('0x6b')],'include':_0x1a15e6}];return db[_0x7d06('0x30')]['find']({'where':{'id':_0x1e68d3[_0x7d06('0xa8')]['id']},'include':_0x258e8d})[_0x7d06('0x24')](handleEntityNotFound(_0x3f8e27,null))['then'](function(_0x4a0082){if(_0x4a0082&&_0x4a0082[_0x7d06('0xc2')]){var _0x58987b=_0x4a0082[_0x7d06('0xc3')]({'plain':!![]});fs['mkdirSync'](_0x54ce96);for(var _0x4b101b=0x0;_0x4b101b<_0x58987b[_0x7d06('0xc2')][_0x7d06('0x39')];_0x4b101b++){var _0x2f45f3=_0x58987b[_0x7d06('0xc2')][_0x4b101b][_0x7d06('0xc1')];if(_0x2f45f3){var _0x249091=path[_0x7d06('0xba')](_0x254a3a,_0x2f45f3[_0x7d06('0xc4')]);if(fs[_0x7d06('0xc5')](_0x249091)){fs[_0x7d06('0xc6')](_0x249091)[_0x7d06('0xc7')](fs[_0x7d06('0xc8')](path['join'](_0x54ce96,_0x2f45f3['basename'])));}}}return BPromise[_0x7d06('0x82')]()[_0x7d06('0x24')](function(){return new BPromise(function(_0x134088,_0x19bd05){zipdir(_0x54ce96,{'saveTo':_0x1aeb86},function(_0x2057c7,_0x3c2393){if(_0x2057c7)return _0x19bd05(_0x2057c7);return _0x134088(_0x3c2393);});})['then'](function(){return new BPromise(function(_0x221260,_0x2a9561){rimraf(_0x54ce96,function(_0x1252ae){if(_0x1252ae)_0x2a9561(_0x1252ae);return _0x221260();});});})['then'](function(){return _0x3f8e27[_0x7d06('0xb9')](_0x1aeb86,_0x464948,function(_0x518d41){if(_0x518d41){console[_0x7d06('0xc9')](_0x7d06('0xca'),_0x518d41);}else{fs['unlinkSync'](_0x1aeb86);}});});});}else{return _0x3f8e27[_0x7d06('0x26')](0xc8);}})[_0x7d06('0x2f')](handleError(_0x3f8e27,null));};