c43c7c51c09e15b02ba510af8e0eb891a432f207
[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 _0xfef3=['getFaxAccounts','i.FaxAccountId\x20IS\x20NULL','sequelize','toString','count','merge','FaxInteraction','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','Account.key','a.mandatoryDisposition','Account.mandatoryDisposition','i.*','c.lastName','Contact.lastName','c.email','Contact.email','Contact.phone','c.mobile','c.fax','Contact.fax','Owner.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.FaxInteractionId\x20IN\x20?','groupBy','FaxInteractionId','all','rows','show','params','include','options','create','body','describe','addMessage','ids','omit','findOne','FaxMessage','$gte','includeAll','addTags','findAll','faxInteractionTags:save','removeTags','download','unix','join','server','tmp','root','files','attachments','transcript-%d-%s.zip','Attachment','createdAt','Messages','get','mkdirSync','basename','createReadStream','pipe','createWriteStream','resolve','err','unlinkSync','html-pdf','rimraf','fast-json-patch','request-promise','bluebird','mustache','path','sox','ejs','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb','defaults','redis','localhost','register','sendStatus','status','end','json','offset','limit','set','Content-Range','apply','reject','save','destroy','error','name','send','Users','map','fullname','Tags','TagIds','split','forEach','push','then','catch','index','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','field','color','from','u.id','u.fullname','ui.FaxInteractionId','user_has_fax_interactions','left_join','users','u.id\x20=\x20ui.UserId','select','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','me.FaxInteractionId\x20=\x20i.id','it.FaxInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','parseSearch','search','sqlOperator','conditions','length','find','unreadMessages','value','having','`\x20>\x200','Contact','operator','$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','start','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','User','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','text','compact','isEmpty','FaxAccountId','i.FaxAccountId\x20IN\x20?','concat','$lte','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','isArray','filter','i.id\x20LIKE\x20?','i.fax\x20LIKE\x20?','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','i.id','Sequelize','QueryTypes','clone','contactName','DESC','t.id\x20IN\x20?','i.FaxAccountId\x20IS\x20NOT\x20NULL','user'];(function(_0x4b046b,_0x548966){var _0x235bf8=function(_0x2d0996){while(--_0x2d0996){_0x4b046b['push'](_0x4b046b['shift']());}};_0x235bf8(++_0x548966);}(_0xfef3,0x118));var _0x3fef=function(_0x427f38,_0x34f332){_0x427f38=_0x427f38-0x0;var _0x2f39d7=_0xfef3[_0x427f38];return _0x2f39d7;};'use strict';var pdf=require(_0x3fef('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x3fef('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x3fef('0x2'));var rp=require(_0x3fef('0x3'));var moment=require('moment');var BPromise=require(_0x3fef('0x4'));var Mustache=require(_0x3fef('0x5'));var util=require('util');var path=require(_0x3fef('0x6'));var sox=require(_0x3fef('0x7'));var csv=require('to-csv');var ejs=require(_0x3fef('0x8'));var fs=require('fs');var _=require(_0x3fef('0x9'));var squel=require(_0x3fef('0xa'));var crypto=require(_0x3fef('0xb'));var jsforce=require(_0x3fef('0xc'));var deskjs=require(_0x3fef('0xd'));var toCsv=require(_0x3fef('0xe'));var querystring=require(_0x3fef('0xf'));var Papa=require(_0x3fef('0x10'));var Redis=require(_0x3fef('0x11'));var authService=require(_0x3fef('0x12'));var qs=require(_0x3fef('0x13'));var as=require(_0x3fef('0x14'));var hardwareService=require(_0x3fef('0x15'));var logger=require('../../config/logger')(_0x3fef('0x16'));var utils=require(_0x3fef('0x17'));var config=require(_0x3fef('0x18'));var licenseUtil=require('../../config/license/util');var db=require(_0x3fef('0x19'))['db'];config['redis']=_[_0x3fef('0x1a')](config[_0x3fef('0x1b')],{'host':_0x3fef('0x1c'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x3fef('0x1b')]));require('./faxInteraction.socket')[_0x3fef('0x1d')](socket);function respondWithStatusCode(_0x14c053,_0x56a65d){_0x56a65d=_0x56a65d||0xcc;return function(_0x2dec1b){if(_0x2dec1b){return _0x14c053[_0x3fef('0x1e')](_0x56a65d);}return _0x14c053[_0x3fef('0x1f')](_0x56a65d)[_0x3fef('0x20')]();};}function respondWithResult(_0x395df0,_0x2af1ba){_0x2af1ba=_0x2af1ba||0xc8;return function(_0x5c899f){if(_0x5c899f){return _0x395df0[_0x3fef('0x1f')](_0x2af1ba)[_0x3fef('0x21')](_0x5c899f);}};}function respondWithFilteredResult(_0x1ec282,_0x3f2997){return function(_0x1613ad){if(_0x1613ad){var _0xaa0ae3=_0x1613ad['count'],_0x53d993=_0x3f2997[_0x3fef('0x22')],_0x36669d=_0x3f2997[_0x3fef('0x22')]+_0x3f2997[_0x3fef('0x23')],_0x3eb287;if(_0x36669d>=_0xaa0ae3){_0x36669d=_0xaa0ae3;_0x3eb287=0xc8;}else{_0x3eb287=0xce;}_0x1ec282[_0x3fef('0x1f')](_0x3eb287);return _0x1ec282[_0x3fef('0x24')](_0x3fef('0x25'),_0x53d993+'-'+_0x36669d+'/'+_0xaa0ae3)[_0x3fef('0x21')](_0x1613ad);}return null;};}function patchUpdates(_0x6ab9bc){return function(_0x124e7c){try{jsonpatch[_0x3fef('0x26')](_0x124e7c,_0x6ab9bc,!![]);}catch(_0x1f5aaf){return BPromise[_0x3fef('0x27')](_0x1f5aaf);}return _0x124e7c[_0x3fef('0x28')]();};}function saveUpdates(_0x39a8ea,_0x433a3e){return function(_0x58f6cf){if(_0x58f6cf){return _0x58f6cf['update'](_0x39a8ea)['then'](function(_0x378b03){return _0x378b03;});}return null;};}function removeEntity(_0x3ba38d,_0xa16dc){return function(_0x5f047c){if(_0x5f047c){return _0x5f047c[_0x3fef('0x29')]()['then'](function(){_0x3ba38d[_0x3fef('0x1f')](0xcc)[_0x3fef('0x20')]();});}};}function handleEntityNotFound(_0x64d3e6,_0xf2b269){return function(_0x30e17a){if(!_0x30e17a){_0x64d3e6['sendStatus'](0x194);}return _0x30e17a;};}function handleError(_0x4b4dee,_0x563556){_0x563556=_0x563556||0x1f4;return function(_0x121ff0){logger[_0x3fef('0x2a')](_0x121ff0['stack']);if(_0x121ff0[_0x3fef('0x2b')]){delete _0x121ff0[_0x3fef('0x2b')];}_0x4b4dee['status'](_0x563556)[_0x3fef('0x2c')](_0x121ff0);};}function getInteractionUsers(_0x3bdf03,_0xf892bb){return new BPromise(function(_0x2b73fb,_0x3a1a0a){try{if(_0xf892bb[_0x3bdf03['id']]){_0x3bdf03[_0x3fef('0x2d')]=_[_0x3fef('0x2e')](_0xf892bb[_0x3bdf03['id']],function(_0x4a632c){return{'id':_0x4a632c['id'],'fullname':_0x4a632c[_0x3fef('0x2f')]};});}}catch(_0xc20ce5){_0x3a1a0a(_0xc20ce5);}_0x2b73fb(_0x3bdf03);});}function getInteractionTags(_0x21aad4,_0x11bd40){return new BPromise(function(_0x5dbbc0,_0xcd635d){try{if(_0x21aad4['TagIds']){_0x21aad4[_0x3fef('0x30')]=[];_0x21aad4[_0x3fef('0x31')][_0x3fef('0x32')](',')[_0x3fef('0x33')](function(_0x10b803){_0x21aad4[_0x3fef('0x30')][_0x3fef('0x34')](_0x11bd40[_0x10b803]);});}delete _0x21aad4[_0x3fef('0x31')];}catch(_0x3cfe11){_0xcd635d(_0x3cfe11);}_0x5dbbc0(_0x21aad4);});}function updateFaxInteraction(_0x179c2c,_0x4f1061,_0x48e1fa){return new BPromise(function(_0x3ea279,_0x4b2bc5){return getInteractionUsers(_0x179c2c,_0x48e1fa)[_0x3fef('0x35')](function(_0x1503c5){return getInteractionTags(_0x1503c5,_0x4f1061);})[_0x3fef('0x35')](function(_0x2d8045){_0x3ea279(_0x2d8045);})[_0x3fef('0x36')](function(_0x2229df){_0x4b2bc5(_0x2229df);});});}exports[_0x3fef('0x37')]=function(_0x2ce6c4,_0x205690){var _0xd77b2e={},_0x841e6d={},_0xd9d51e={'count':0x0,'rows':[]};var _0x10c91e=_[_0x3fef('0x2e')](db['FaxInteraction'][_0x3fef('0x38')],function(_0x428486){return{'name':_0x428486[_0x3fef('0x39')],'type':_0x428486[_0x3fef('0x3a')][_0x3fef('0x3b')]};});_0x841e6d[_0x3fef('0x3c')]=_['map'](_0x10c91e,'name');_0x841e6d[_0x3fef('0x3d')]=_[_0x3fef('0x3e')](_0x2ce6c4[_0x3fef('0x3d')]);_0x841e6d[_0x3fef('0x3f')]=_[_0x3fef('0x40')](_0x841e6d[_0x3fef('0x3c')],_0x841e6d[_0x3fef('0x3d')]);_0xd77b2e[_0x3fef('0x41')]=_[_0x3fef('0x40')](_0x841e6d[_0x3fef('0x3c')],qs[_0x3fef('0x42')](_0x2ce6c4['query'][_0x3fef('0x42')]));_0xd77b2e[_0x3fef('0x41')]=_0xd77b2e['attributes']['length']?_0xd77b2e[_0x3fef('0x41')]:_0x841e6d[_0x3fef('0x3c')];if(!_0x2ce6c4[_0x3fef('0x3d')][_0x3fef('0x43')](_0x3fef('0x44'))){_0xd77b2e[_0x3fef('0x23')]=qs[_0x3fef('0x23')](_0x2ce6c4[_0x3fef('0x3d')]['limit']);_0xd77b2e[_0x3fef('0x22')]=qs[_0x3fef('0x22')](_0x2ce6c4[_0x3fef('0x3d')][_0x3fef('0x22')]);}_0xd77b2e[_0x3fef('0x45')]=qs[_0x3fef('0x46')](_0x2ce6c4[_0x3fef('0x3d')][_0x3fef('0x46')]);_0xd77b2e[_0x3fef('0x47')]=qs[_0x3fef('0x3f')](_[_0x3fef('0x48')](_0x2ce6c4[_0x3fef('0x3d')],_0x841e6d[_0x3fef('0x3f')]),_0x10c91e);var _0x15d2c7=[];var _0x2b1411=squel['select']()[_0x3fef('0x49')]('id')[_0x3fef('0x49')](_0x3fef('0x2b'))[_0x3fef('0x49')](_0x3fef('0x4a'))[_0x3fef('0x4b')]('tools_tags');var _0xf35f0a=squel['select']()[_0x3fef('0x49')](_0x3fef('0x4c'))['field'](_0x3fef('0x4d'))['field'](_0x3fef('0x4e'))[_0x3fef('0x4b')](_0x3fef('0x4f'),'ui')[_0x3fef('0x50')](_0x3fef('0x51'),'u',_0x3fef('0x52'));var _0x12dae9=squel[_0x3fef('0x53')]()[_0x3fef('0x4b')](_0x3fef('0x54'),'i')[_0x3fef('0x50')](_0x3fef('0x55'),'c',_0x3fef('0x56'))['left_join'](_0x3fef('0x51'),'o',_0x3fef('0x57'))['left_join'](_0x3fef('0x58'),'a',_0x3fef('0x59'))[_0x3fef('0x50')]('fax_messages','me',_0x3fef('0x5a'))[_0x3fef('0x50')]('fax_interaction_has_tags','it',_0x3fef('0x5b'))['left_join']('tools_tags','t',_0x3fef('0x5c'));var _0x580d6b=squel[_0x3fef('0x5d')]();var _0x1ac27f=[];var _0x4f7b3c=squel[_0x3fef('0x5d')]();var _0x2823f4;if(_0x2ce6c4[_0x3fef('0x3d')]['search']){_0x2823f4=as[_0x3fef('0x5e')](_0x2ce6c4[_0x3fef('0x3d')][_0x3fef('0x5f')]);var _0x5b1acb=_0x2823f4[_0x3fef('0x60')];for(var _0x154311=0x0;_0x154311<_0x2823f4[_0x3fef('0x61')][_0x3fef('0x62')];_0x154311++){var _0x3ae6a7=_0x2823f4['conditions'][_0x154311];var _0x35db07='i';var _0xbbf255=_[_0x3fef('0x63')](_0x10c91e,[_0x3fef('0x2b'),_0x3ae6a7[_0x3fef('0x49')]]);if(!_0xbbf255){switch(_0x3ae6a7[_0x3fef('0x49')]){case _0x3fef('0x64'):if(_0x3ae6a7[_0x3fef('0x65')]==0x1){_0x12dae9[_0x3fef('0x66')]('`'+_0x3ae6a7['field']+'`\x20=\x200');}else{_0x12dae9[_0x3fef('0x66')]('`'+_0x3ae6a7[_0x3fef('0x49')]+_0x3fef('0x67'));}break;case _0x3fef('0x68'):if(_0x3ae6a7[_0x3fef('0x69')]===_0x3fef('0x6a')){if(_0x3ae6a7[_0x3fef('0x65')][_0x3fef('0x32')]('\x20')[_0x3fef('0x62')]>0x1){_0x580d6b[_0x5b1acb](_0x3fef('0x6b'),qs[_0x3fef('0x6c')](_0x3ae6a7[_0x3fef('0x65')]),null);}else{var _0x54525c='%'+_0x3ae6a7[_0x3fef('0x65')]+'%';_0x580d6b[_0x5b1acb](_0x3fef('0x6d'),_0x54525c,_0x54525c,_0x54525c);}}else{_0xbbf255=_[_0x3fef('0x63')](_0x10c91e,[_0x3fef('0x2b'),'ContactId']);_0x3ae6a7[_0x3fef('0x49')]=_0x3fef('0x6e');_0x1d474f=as[_0x3fef('0x6f')](_0x35db07,_0xbbf255[_0x3fef('0x3a')],_0x3ae6a7);_0x580d6b[_0x5b1acb](_0x1d474f['text'],_0x1d474f[_0x3fef('0x65')][_0x3fef('0x70')],_0x1d474f[_0x3fef('0x65')]['end']);}break;case'Tag':var _0x324d42=_0x3ae6a7[_0x3fef('0x65')][_0x3fef('0x32')](',')[_0x3fef('0x2e')](function(_0x493ecf){return Number(_0x493ecf);});_0x324d42[_0x3fef('0x33')](function(_0x4824d0){_0x4f7b3c['or'](_0x3fef('0x71'),'%,'+_0x4824d0+',%');});_0x1ac27f=_['union'](_0x1ac27f,_0x324d42);break;case _0x3fef('0x72'):if(_0x3ae6a7['operator']===_0x3fef('0x6a')){_0x580d6b[_0x5b1acb](_0x3fef('0x73'),'%'+_0x3ae6a7[_0x3fef('0x65')]+'%',null);}else{_0xbbf255=_['find'](_0x10c91e,['name',_0x3fef('0x74')]);_0x3ae6a7[_0x3fef('0x49')]=_0x3fef('0x74');_0x1d474f=as[_0x3fef('0x6f')](_0x35db07,_0xbbf255[_0x3fef('0x3a')],_0x3ae6a7);_0x580d6b[_0x5b1acb](_0x1d474f[_0x3fef('0x75')],_0x1d474f[_0x3fef('0x65')][_0x3fef('0x70')],_0x1d474f['value'][_0x3fef('0x20')]);}break;case'body':_0x1d474f=as['buildExpression']('me',null,_0x3ae6a7);_0x580d6b[_0x5b1acb](_0x1d474f[_0x3fef('0x75')],_0x1d474f[_0x3fef('0x65')][_0x3fef('0x70')],_0x1d474f[_0x3fef('0x65')][_0x3fef('0x20')]);break;}}else{var _0x1d474f=as[_0x3fef('0x6f')](_0x35db07,_0xbbf255[_0x3fef('0x3a')],_0x3ae6a7);_0x580d6b[_0x5b1acb](_0x1d474f[_0x3fef('0x75')],_0x1d474f['value'][_0x3fef('0x70')],_0x1d474f['value'][_0x3fef('0x20')]);}}}else{var _0x1f25f7=_(_0x2ce6c4[_0x3fef('0x3d')])[_0x3fef('0x3e')]()[_0x3fef('0x2e')](function(_0x39c57f){return _['some'](_0x10c91e,[_0x3fef('0x2b'),_0x39c57f])?_0x39c57f:undefined;})[_0x3fef('0x76')]()[_0x3fef('0x65')]();if(!_[_0x3fef('0x77')](_0x1f25f7)){_0x1f25f7[_0x3fef('0x33')](function(_0x40bd7e){if(_0x40bd7e===_0x3fef('0x78')){_0x12dae9[_0x3fef('0x47')](_0x3fef('0x79'),[][_0x3fef('0x7a')](_0x2ce6c4[_0x3fef('0x3d')][_0x40bd7e]));}else if(_0x40bd7e==='createdAt'){var _0x161fc2=JSON['parse'](_0x2ce6c4['query'][_0x40bd7e])['$gte'];var _0x126bab=JSON['parse'](_0x2ce6c4[_0x3fef('0x3d')][_0x40bd7e])[_0x3fef('0x7b')];_0x12dae9[_0x3fef('0x47')]('i.createdAt\x20BETWEEN\x20?\x20AND\x20?',_0x161fc2,_0x126bab);}else{if(_0x2ce6c4[_0x3fef('0x3d')][_0x40bd7e]==='null'){_0x12dae9[_0x3fef('0x47')]('i.'+_0x40bd7e+_0x3fef('0x7c'));}else{_0x12dae9['where']('i.'+_0x40bd7e+_0x3fef('0x7d'),_0x2ce6c4[_0x3fef('0x3d')][_0x40bd7e]);}}});}if(_0x2ce6c4[_0x3fef('0x3d')][_0x3fef('0x7e')]){if(_0x2ce6c4[_0x3fef('0x3d')][_0x3fef('0x7e')]==0x1){_0x12dae9[_0x3fef('0x66')](_0x3fef('0x7f'));}else{_0x12dae9['having'](_0x3fef('0x80'));}}if(_0x2ce6c4[_0x3fef('0x3d')][_0x3fef('0x81')]){_0x1ac27f=_[_0x3fef('0x82')](_0x2ce6c4[_0x3fef('0x3d')][_0x3fef('0x81')])?_0x2ce6c4[_0x3fef('0x3d')][_0x3fef('0x81')]:new Array(_0x2ce6c4[_0x3fef('0x3d')][_0x3fef('0x81')]);_0x1ac27f[_0x3fef('0x33')](function(_0x212a9f){_0x4f7b3c['or'](_0x3fef('0x71'),'%,'+_0x212a9f+',%');});}if(_0x2ce6c4[_0x3fef('0x3d')]['filter']){var _0xcddad6=_0x2ce6c4[_0x3fef('0x3d')][_0x3fef('0x83')]['replace']('\x5c','\x5c\x5c')['replace'](/'/g,'\x27\x27');if(qs['isNumeric'](_0xcddad6)){_0x580d6b['or'](_0x3fef('0x84'),_0xcddad6+'%')['or'](_0x3fef('0x85'),_0xcddad6+'%');}_0x580d6b['or'](_0x3fef('0x86'),_0xcddad6+'%');}}_0x12dae9[_0x3fef('0x47')](_0x580d6b);_0x12dae9['group'](_0x3fef('0x87'));var _0x17856b={'type':db[_0x3fef('0x88')][_0x3fef('0x89')]['SELECT'],'raw':!![]};var _0xcf98c3=_0x12dae9[_0x3fef('0x8a')]();_0xcf98c3[_0x3fef('0x49')](_0x3fef('0x87'));_0xcf98c3[_0x3fef('0x49')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0x3fef('0x64'));if(_0xd77b2e['order']){_0xd77b2e[_0x3fef('0x45')]['forEach'](function(_0x25431a){var _0x13b272=_0x25431a[0x0]===_0x3fef('0x8b')?_0x25431a[0x0]:'i.'+_0x25431a[0x0];_0x12dae9[_0x3fef('0x45')](_0x13b272,_0x25431a[0x1]===_0x3fef('0x8c')?![]:!![]);});}if(!_[_0x3fef('0x77')](_0x1ac27f)){_0x12dae9[_0x3fef('0x66')](_0x4f7b3c);_0xcf98c3[_0x3fef('0x47')](_0x3fef('0x8d'),_0x1ac27f);}BPromise['resolve']()[_0x3fef('0x35')](function(){if(!_0x2823f4){if(_0x2ce6c4[_0x3fef('0x3d')][_0x3fef('0x78')]||_0x2ce6c4[_0x3fef('0x3d')]['journey'])return;_0xcf98c3[_0x3fef('0x47')](_0x3fef('0x8e'));_0x12dae9[_0x3fef('0x47')](_0x3fef('0x8e'));return;}return _0x2ce6c4[_0x3fef('0x8f')][_0x3fef('0x90')]({'attributes':['id'],'raw':!![]})['then'](function(_0x34aecb){if(_[_0x3fef('0x77')](_0x34aecb)){_0xcf98c3[_0x3fef('0x47')](_0x3fef('0x91'));_0x12dae9[_0x3fef('0x47')](_0x3fef('0x91'));}else{_0xcf98c3['where'](_0x3fef('0x79'),_[_0x3fef('0x2e')](_0x34aecb,'id'));_0x12dae9[_0x3fef('0x47')](_0x3fef('0x79'),_[_0x3fef('0x2e')](_0x34aecb,'id'));}});})['then'](function(){db[_0x3fef('0x92')][_0x3fef('0x3d')](_0xcf98c3[_0x3fef('0x93')](),_0x17856b)['then'](function(_0x18159c){_0xd9d51e[_0x3fef('0x94')]=_0x18159c[_0x3fef('0x62')];if(_0xd9d51e['count']===0x0)return[];return db['sequelize'][_0x3fef('0x3d')](_0x2b1411[_0x3fef('0x93')](),_0x17856b)[_0x3fef('0x35')](function(_0x25914c){_0x15d2c7=_['keyBy'](_0x25914c,'id');_0x17856b=_[_0x3fef('0x95')](_0x17856b,{'model':db[_0x3fef('0x96')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x2ce6c4[_0x3fef('0x3d')]['fields']){_0xd77b2e[_0x3fef('0x41')][_0x3fef('0x33')](function(_0x3dcff5){_0x12dae9[_0x3fef('0x49')]('i.'+_0x3dcff5);});}else{_0x12dae9[_0x3fef('0x49')](_0x3fef('0x97'),_0x3fef('0x64'));_0x12dae9['field']('a.key',_0x3fef('0x98'));_0x12dae9['field'](_0x3fef('0x99'),_0x3fef('0x9a'));_0x12dae9[_0x3fef('0x49')]('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',_0x3fef('0x8b'));_0x12dae9['field'](_0x3fef('0x9b'));_0x12dae9['field']('c.firstName','Contact.firstName');_0x12dae9[_0x3fef('0x49')](_0x3fef('0x9c'),_0x3fef('0x9d'));_0x12dae9[_0x3fef('0x49')](_0x3fef('0x9e'),_0x3fef('0x9f'));_0x12dae9[_0x3fef('0x49')]('c.phone',_0x3fef('0xa0'));_0x12dae9[_0x3fef('0x49')](_0x3fef('0xa1'),'Contact.mobile');_0x12dae9[_0x3fef('0x49')](_0x3fef('0xa2'),_0x3fef('0xa3'));_0x12dae9[_0x3fef('0x49')]('o.fullname',_0x3fef('0xa4'));_0x12dae9['field'](_0x3fef('0xa5'),_0x3fef('0xa6'));_0x12dae9[_0x3fef('0x49')](_0x3fef('0xa7'),_0x3fef('0x31'));}if(_0xd77b2e[_0x3fef('0x23')])_0x12dae9[_0x3fef('0x23')](_0xd77b2e[_0x3fef('0x23')]);if(_0xd77b2e['offset'])_0x12dae9[_0x3fef('0x22')](_0xd77b2e['offset']);return db['sequelize'][_0x3fef('0x3d')](_0x12dae9[_0x3fef('0x93')](),_0x17856b);})[_0x3fef('0x35')](function(_0x2461d5){_0xf35f0a['where'](_0x3fef('0xa8'),_[_0x3fef('0x2e')](_0x2461d5,'id'));return db[_0x3fef('0x92')][_0x3fef('0x3d')](_0xf35f0a['toString'](),_0x17856b)[_0x3fef('0x35')](function(_0x38169c){var _0x236567=_[_0x3fef('0xa9')](_0x38169c,_0x3fef('0xaa'));var _0x4cf5c0=[];_0x2461d5[_0x3fef('0x33')](function(_0x23907f){_0x4cf5c0[_0x3fef('0x34')](updateFaxInteraction(_0x23907f,_0x15d2c7,_0x236567));});return BPromise[_0x3fef('0xab')](_0x4cf5c0);});});})[_0x3fef('0x35')](function(_0x5894f5){_0xd9d51e[_0x3fef('0xac')]=_0x5894f5;return _0xd9d51e;})[_0x3fef('0x35')](respondWithFilteredResult(_0x205690,_0xd77b2e));})[_0x3fef('0x36')](handleError(_0x205690,null));};exports[_0x3fef('0xad')]=function(_0x400fff,_0x4db0b7){var _0x281fbd={'raw':![],'where':{'id':_0x400fff[_0x3fef('0xae')]['id']}},_0x2d4d7c={};_0x2d4d7c[_0x3fef('0x3c')]=_[_0x3fef('0x3e')](db[_0x3fef('0x96')]['rawAttributes']);_0x2d4d7c['query']=_['keys'](_0x400fff['query']);_0x2d4d7c['filters']=_[_0x3fef('0x40')](_0x2d4d7c[_0x3fef('0x3c')],_0x2d4d7c[_0x3fef('0x3d')]);_0x281fbd[_0x3fef('0x41')]=_[_0x3fef('0x40')](_0x2d4d7c['model'],qs[_0x3fef('0x42')](_0x400fff[_0x3fef('0x3d')][_0x3fef('0x42')]));_0x281fbd[_0x3fef('0x41')]=_0x281fbd[_0x3fef('0x41')][_0x3fef('0x62')]?_0x281fbd[_0x3fef('0x41')]:_0x2d4d7c['model'];if(_0x400fff[_0x3fef('0x3d')]['includeAll']){_0x281fbd[_0x3fef('0xaf')]=[{'all':!![]}];}_0x281fbd=_[_0x3fef('0x95')]({},_0x281fbd,_0x400fff[_0x3fef('0xb0')]);return db[_0x3fef('0x96')][_0x3fef('0x63')](_0x281fbd)[_0x3fef('0x35')](handleEntityNotFound(_0x4db0b7,null))[_0x3fef('0x35')](respondWithResult(_0x4db0b7,null))['catch'](handleError(_0x4db0b7,null));};exports['create']=function(_0x539299,_0x5144e9){return db[_0x3fef('0x96')][_0x3fef('0xb1')](_0x539299[_0x3fef('0xb2')],{})[_0x3fef('0x35')](respondWithResult(_0x5144e9,0xc9))[_0x3fef('0x36')](handleError(_0x5144e9,null));};exports['update']=function(_0x8d6d0e,_0x41edc4){if(_0x8d6d0e[_0x3fef('0xb2')]['id']){delete _0x8d6d0e['body']['id'];}return db[_0x3fef('0x96')][_0x3fef('0x63')]({'where':{'id':_0x8d6d0e['params']['id']}})['then'](handleEntityNotFound(_0x41edc4,null))[_0x3fef('0x35')](saveUpdates(_0x8d6d0e['body'],null))[_0x3fef('0x35')](respondWithResult(_0x41edc4,null))[_0x3fef('0x36')](handleError(_0x41edc4,null));};exports['destroy']=function(_0x6745e2,_0x1a777b){return db[_0x3fef('0x96')]['find']({'where':{'id':_0x6745e2[_0x3fef('0xae')]['id']}})[_0x3fef('0x35')](handleEntityNotFound(_0x1a777b,null))['then'](removeEntity(_0x1a777b,null))[_0x3fef('0x36')](handleError(_0x1a777b,null));};exports[_0x3fef('0xb3')]=function(_0xb08e2c,_0x10aa57){return db['FaxInteraction']['describe']()[_0x3fef('0x35')](respondWithResult(_0x10aa57,null))['catch'](handleError(_0x10aa57,null));};exports[_0x3fef('0xb4')]=function(_0x11a3d3,_0x3aa73a,_0x2296ae){return db['FaxMessage'][_0x3fef('0x63')]({'where':{'id':_0x11a3d3[_0x3fef('0xae')]['id']}})[_0x3fef('0x35')](handleEntityNotFound(_0x3aa73a,null))[_0x3fef('0x35')](function(_0x562aaa){if(_0x562aaa){return _0x562aaa[_0x3fef('0xb4')](_0x11a3d3['body'][_0x3fef('0xb5')],_[_0x3fef('0xb6')](_0x11a3d3[_0x3fef('0xb2')],['ids','id'])||{});}})[_0x3fef('0x35')](respondWithResult(_0x3aa73a,null))[_0x3fef('0x36')](handleError(_0x3aa73a,null));};exports['getMessages']=function(_0x10452c,_0x4280f8,_0x4e43ca){var _0x5b0f46={'raw':![],'where':{}};var _0x425091={};var _0x37d7b7={'count':0x0,'rows':[]};return db['FaxInteraction'][_0x3fef('0xb7')]({'where':{'id':_0x10452c[_0x3fef('0xae')]['id']}})[_0x3fef('0x35')](handleEntityNotFound(_0x4280f8,null))['then'](function(_0x248d0b){if(_0x248d0b){_0x425091[_0x3fef('0x3c')]=_[_0x3fef('0x3e')](db[_0x3fef('0xb8')][_0x3fef('0x38')]);_0x425091['query']=_[_0x3fef('0x3e')](_0x10452c[_0x3fef('0x3d')]);_0x425091[_0x3fef('0x3f')]=_['intersection'](_0x425091[_0x3fef('0x3c')],_0x425091['query']);_0x5b0f46['attributes']=_[_0x3fef('0x40')](_0x425091[_0x3fef('0x3c')],qs['fields'](_0x10452c[_0x3fef('0x3d')][_0x3fef('0x42')]));_0x5b0f46['attributes']=_0x5b0f46['attributes'][_0x3fef('0x62')]?_0x5b0f46[_0x3fef('0x41')]:_0x425091[_0x3fef('0x3c')];if(!_0x10452c['query'][_0x3fef('0x43')](_0x3fef('0x44'))){_0x5b0f46[_0x3fef('0x23')]=qs[_0x3fef('0x23')](_0x10452c[_0x3fef('0x3d')][_0x3fef('0x23')]);_0x5b0f46[_0x3fef('0x22')]=qs[_0x3fef('0x22')](_0x10452c[_0x3fef('0x3d')][_0x3fef('0x22')]);}_0x5b0f46[_0x3fef('0x45')]=qs['sort'](_0x10452c[_0x3fef('0x3d')][_0x3fef('0x46')]);_0x5b0f46[_0x3fef('0x47')]=qs[_0x3fef('0x3f')](_['pick'](_0x10452c[_0x3fef('0x3d')],_0x425091[_0x3fef('0x3f')]));_0x5b0f46[_0x3fef('0x47')][_0x3fef('0xaa')]=_0x248d0b['id'];if(_0x10452c['query']['filter']){_0x5b0f46[_0x3fef('0x47')]=_[_0x3fef('0x95')](_0x5b0f46[_0x3fef('0x47')],{'$or':_[_0x3fef('0x2e')](_0x5b0f46[_0x3fef('0x41')],function(_0x4e796e){var _0x272d58={};_0x272d58[_0x4e796e]={'$like':'%'+_0x10452c[_0x3fef('0x3d')]['filter']+'%'};return _0x272d58;})});}if(_0x10452c['query'][_0x3fef('0xb9')]){var _0x336e67=_0x10452c[_0x3fef('0x3d')][_0x3fef('0xb9')][_0x3fef('0x32')](',');var _0x3ee841={};_0x3ee841[_0x336e67[0x0]]={'$gte':moment(_0x336e67[0x1])['format']('YYYY-MM-DD\x20HH:mm:ss')};_0x5b0f46[_0x3fef('0x47')]=_['merge'](_0x5b0f46[_0x3fef('0x47')],_0x3ee841);}_0x5b0f46=_[_0x3fef('0x95')]({},_0x5b0f46,_0x10452c[_0x3fef('0xb0')]);return db['FaxMessage'][_0x3fef('0x94')]({'where':_0x5b0f46[_0x3fef('0x47')]})[_0x3fef('0x35')](function(_0x259fc1){_0x37d7b7['count']=_0x259fc1;if(_0x10452c[_0x3fef('0x3d')][_0x3fef('0xba')]){_0x5b0f46[_0x3fef('0xaf')]=[{'all':!![]}];}return db[_0x3fef('0xb8')]['findAll'](_0x5b0f46);})[_0x3fef('0x35')](function(_0xb97af9){_0x37d7b7[_0x3fef('0xac')]=_0xb97af9;return _0x37d7b7;});}})[_0x3fef('0x35')](respondWithFilteredResult(_0x4280f8,_0x5b0f46))[_0x3fef('0x36')](handleError(_0x4280f8,null));};exports[_0x3fef('0xbb')]=function(_0x23545a,_0x31e38e,_0x2eddc5){return db['FaxInteraction']['find']({'where':{'id':_0x23545a[_0x3fef('0xae')]['id']}})[_0x3fef('0x35')](handleEntityNotFound(_0x31e38e,null))[_0x3fef('0x35')](function(_0x232813){if(_0x232813){return _0x232813['setTags'](_0x23545a[_0x3fef('0xb2')][_0x3fef('0xb5')],_[_0x3fef('0xb6')](_0x23545a['body'],[_0x3fef('0xb5'),'id'])||{})['spread'](function(){return db['Tag'][_0x3fef('0xbc')]({'attributes':['id',_0x3fef('0x2b'),'color'],'where':{'id':_0x23545a[_0x3fef('0xb2')][_0x3fef('0xb5')]}});})[_0x3fef('0x35')](function(_0x1bcdd9){socket['emit'](_0x3fef('0xbd'),{'id':Number(_0x23545a['params']['id']),'tags':_0x1bcdd9||[]});return{'id':Number(_0x23545a['params']['id']),'tags':_0x1bcdd9||[]};});}})[_0x3fef('0x35')](respondWithResult(_0x31e38e,null))[_0x3fef('0x36')](handleError(_0x31e38e,null));};exports[_0x3fef('0xbe')]=function(_0x4cd6a3,_0x3e25f5,_0x5b3951){return db[_0x3fef('0x96')][_0x3fef('0x63')]({'where':{'id':_0x4cd6a3[_0x3fef('0xae')]['id']}})['then'](handleEntityNotFound(_0x3e25f5,null))[_0x3fef('0x35')](function(_0x128b1c){if(_0x128b1c){return _0x128b1c['removeTags'](_0x4cd6a3[_0x3fef('0x3d')][_0x3fef('0xb5')]);}})[_0x3fef('0x35')](respondWithStatusCode(_0x3e25f5,null))['catch'](handleError(_0x3e25f5,null));};exports[_0x3fef('0xbf')]=function(_0x3a5177,_0x2ca273){var _0x4baa22=moment()[_0x3fef('0xc0')]()[_0x3fef('0x93')]();var _0x3c92d0=path[_0x3fef('0xc1')](config['root'],_0x3fef('0xc2'),'files',_0x3fef('0xc3'));var _0x107f46=path[_0x3fef('0xc1')](config[_0x3fef('0xc4')],_0x3fef('0xc2'),_0x3fef('0xc5'),_0x3fef('0xc6'));var _0x49fc64=path[_0x3fef('0xc1')](_0x3c92d0,_0x4baa22);var _0x262c92=util['format'](_0x3fef('0xc7'),_0x3a5177[_0x3fef('0xae')]['id'],_0x4baa22);var _0x101f45=path['join'](_0x3c92d0,_0x262c92);var _0x5ad214=[];_0x5ad214['push']({'model':db['Attachment'],'as':_0x3fef('0xc8'),'raw':!![]});var _0x4b984c=[{'model':db[_0x3fef('0xb8')],'as':'Messages','attributes':['id',_0x3fef('0xb2'),_0x3fef('0xc9')],'include':_0x5ad214}];return db[_0x3fef('0x96')][_0x3fef('0x63')]({'where':{'id':_0x3a5177['params']['id']},'include':_0x4b984c})[_0x3fef('0x35')](handleEntityNotFound(_0x2ca273,null))[_0x3fef('0x35')](function(_0x448909){if(_0x448909&&_0x448909[_0x3fef('0xca')]){var _0x5e23a5=_0x448909[_0x3fef('0xcb')]({'plain':!![]});fs[_0x3fef('0xcc')](_0x49fc64);for(var _0x573a0e=0x0;_0x573a0e<_0x5e23a5[_0x3fef('0xca')][_0x3fef('0x62')];_0x573a0e++){var _0x141b05=_0x5e23a5['Messages'][_0x573a0e][_0x3fef('0xc8')];if(_0x141b05){var _0x556027=path[_0x3fef('0xc1')](_0x107f46,_0x141b05[_0x3fef('0xcd')]);if(fs['existsSync'](_0x556027)){fs[_0x3fef('0xce')](_0x556027)[_0x3fef('0xcf')](fs[_0x3fef('0xd0')](path[_0x3fef('0xc1')](_0x49fc64,_0x141b05['basename'])));}}}return BPromise[_0x3fef('0xd1')]()[_0x3fef('0x35')](function(){return new BPromise(function(_0x1002b5,_0x2351a1){zipdir(_0x49fc64,{'saveTo':_0x101f45},function(_0x3ec2db,_0x1a0084){if(_0x3ec2db)return _0x2351a1(_0x3ec2db);return _0x1002b5(_0x1a0084);});})[_0x3fef('0x35')](function(){return new BPromise(function(_0x5c7c12,_0x5c13cc){rimraf(_0x49fc64,function(_0x571cf0){if(_0x571cf0)_0x5c13cc(_0x571cf0);return _0x5c7c12();});});})['then'](function(){return _0x2ca273[_0x3fef('0xbf')](_0x101f45,_0x262c92,function(_0x12ee5d){if(_0x12ee5d){console['log'](_0x3fef('0xd2'),_0x12ee5d);}else{fs[_0x3fef('0xd3')](_0x101f45);}});});});}else{return _0x2ca273[_0x3fef('0x1e')](0xc8);}})[_0x3fef('0x36')](handleError(_0x2ca273,null));};