Built motion from commit 43538d75.|2.5.35
[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 _0x257f=['rows','show','params','include','options','create','destroy','describe','addMessage','FaxMessage','ids','omit','getMessages','findOne','sort','format','YYYY-MM-DD\x20HH:mm:ss','includeAll','findAll','addTags','setTags','spread','emit','faxInteractionTags:save','removeTags','download','unix','root','server','files','join','attachments','transcript-%d-%s.zip','Messages','get','mkdirSync','existsSync','createReadStream','pipe','createWriteStream','resolve','log','err','unlinkSync','eml-format','rimraf','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','querystring','papaparse','../../components/auth/service','../../config/logger','api','../../config/environment','../../mysqldb','redis','defaults','localhost','./faxInteraction.socket','register','end','status','json','offset','undefined','limit','count','set','apply','reject','save','sendStatus','error','name','map','fullname','TagIds','split','forEach','Tags','push','then','catch','index','FaxInteraction','rawAttributes','type','key','query','keys','filters','intersection','model','fields','attributes','length','hasOwnProperty','nolimit','order','where','pick','field','color','tools_tags','select','u.id','u.fullname','ui.FaxInteractionId','from','left_join','fax_interactions','o.id\x20=\x20i.UserId','fax_accounts','fax_messages','me.FaxInteractionId\x20=\x20i.id','fax_interaction_has_tags','expr','search','parseSearch','sqlOperator','conditions','find','unreadMessages','value','`\x20=\x200','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?','buildExpression','start','Tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','text','body','some','compact','i.FaxAccountId\x20IN\x20?','concat','createdAt','parse','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','\x20=\x20?','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','filter','replace','isNumeric','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','Sequelize','i.id','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','contactName','DESC','isEmpty','t.id\x20IN\x20?','i.FaxAccountId\x20IS\x20NOT\x20NULL','user','role','agent','getFaxAccounts','i.FaxAccountId\x20IS\x20NULL','FaxAccountId','sequelize','toString','keyBy','merge','a.key','Account.key','Account.mandatoryDisposition','c.firstName','c.lastName','Contact.email','Contact.phone','c.mobile','Contact.mobile','c.fax','Contact.fax','o.fullname','Owner.fullname','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.FaxInteractionId\x20IN\x20?','groupBy','FaxInteractionId','all'];(function(_0xeed0ed,_0x213395){var _0x35ae78=function(_0xb06afe){while(--_0xb06afe){_0xeed0ed['push'](_0xeed0ed['shift']());}};_0x35ae78(++_0x213395);}(_0x257f,0x1cc));var _0xf257=function(_0x31b971,_0x4a8349){_0x31b971=_0x31b971-0x0;var _0x568822=_0x257f[_0x31b971];return _0x568822;};'use strict';var emlformat=require(_0xf257('0x0'));var rimraf=require(_0xf257('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0xf257('0x2'));var BPromise=require(_0xf257('0x3'));var Mustache=require(_0xf257('0x4'));var util=require(_0xf257('0x5'));var path=require(_0xf257('0x6'));var sox=require(_0xf257('0x7'));var csv=require(_0xf257('0x8'));var ejs=require(_0xf257('0x9'));var fs=require('fs');var fs_extra=require(_0xf257('0xa'));var _=require(_0xf257('0xb'));var squel=require(_0xf257('0xc'));var crypto=require(_0xf257('0xd'));var jsforce=require(_0xf257('0xe'));var deskjs=require('desk.js');var toCsv=require(_0xf257('0x8'));var querystring=require(_0xf257('0xf'));var Papa=require(_0xf257('0x10'));var Redis=require('ioredis');var authService=require(_0xf257('0x11'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0xf257('0x12'))(_0xf257('0x13'));var utils=require('../../config/utils');var config=require(_0xf257('0x14'));var licenseUtil=require('../../config/license/util');var db=require(_0xf257('0x15'))['db'];config[_0xf257('0x16')]=_[_0xf257('0x17')](config[_0xf257('0x16')],{'host':_0xf257('0x18'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require(_0xf257('0x19'))[_0xf257('0x1a')](socket);function respondWithStatusCode(_0x28f53d,_0x1110e5){_0x1110e5=_0x1110e5||0xcc;return function(_0x1cb61e){if(_0x1cb61e){return _0x28f53d['sendStatus'](_0x1110e5);}return _0x28f53d['status'](_0x1110e5)[_0xf257('0x1b')]();};}function respondWithResult(_0x380de1,_0x4900a5){_0x4900a5=_0x4900a5||0xc8;return function(_0x271d56){if(_0x271d56){return _0x380de1[_0xf257('0x1c')](_0x4900a5)[_0xf257('0x1d')](_0x271d56);}};}function respondWithFilteredResult(_0x2c7f56,_0x268f9c){return function(_0x39ac64){if(_0x39ac64){var _0x1185db=typeof _0x268f9c[_0xf257('0x1e')]===_0xf257('0x1f')&&typeof _0x268f9c[_0xf257('0x20')]==='undefined';var _0xab7568=_0x39ac64[_0xf257('0x21')];var _0x157248=_0x1185db?0x0:_0x268f9c[_0xf257('0x1e')];var _0x4fbf9d=_0x1185db?_0x39ac64[_0xf257('0x21')]:_0x268f9c['offset']+_0x268f9c[_0xf257('0x20')];var _0x539fab;if(_0x4fbf9d>=_0xab7568){_0x4fbf9d=_0xab7568;_0x539fab=0xc8;}else{_0x539fab=0xce;}_0x2c7f56['status'](_0x539fab);return _0x2c7f56[_0xf257('0x22')]('Content-Range',_0x157248+'-'+_0x4fbf9d+'/'+_0xab7568)['json'](_0x39ac64);}return null;};}function patchUpdates(_0x28b0df){return function(_0x32e3a4){try{jsonpatch[_0xf257('0x23')](_0x32e3a4,_0x28b0df,!![]);}catch(_0x23507b){return BPromise[_0xf257('0x24')](_0x23507b);}return _0x32e3a4[_0xf257('0x25')]();};}function saveUpdates(_0x40f66d,_0xfc66df){return function(_0x218c1b){if(_0x218c1b){return _0x218c1b['update'](_0x40f66d)['then'](function(_0x40cec5){return _0x40cec5;});}return null;};}function removeEntity(_0x30056c,_0x337cc8){return function(_0x61acf7){if(_0x61acf7){return _0x61acf7['destroy']()['then'](function(){_0x30056c['status'](0xcc)[_0xf257('0x1b')]();});}};}function handleEntityNotFound(_0x291b81,_0x5db676){return function(_0x3795c5){if(!_0x3795c5){_0x291b81[_0xf257('0x26')](0x194);}return _0x3795c5;};}function handleError(_0x349e0f,_0x88c2dd){_0x88c2dd=_0x88c2dd||0x1f4;return function(_0x1fb5d0){logger[_0xf257('0x27')](_0x1fb5d0['stack']);if(_0x1fb5d0[_0xf257('0x28')]){delete _0x1fb5d0[_0xf257('0x28')];}_0x349e0f[_0xf257('0x1c')](_0x88c2dd)['send'](_0x1fb5d0);};}function getInteractionUsers(_0x27b818,_0x561b1a){return new BPromise(function(_0x2be171,_0x239b42){try{if(_0x561b1a[_0x27b818['id']]){_0x27b818['Users']=_[_0xf257('0x29')](_0x561b1a[_0x27b818['id']],function(_0x513fc0){return{'id':_0x513fc0['id'],'fullname':_0x513fc0[_0xf257('0x2a')]};});}}catch(_0x2b6010){_0x239b42(_0x2b6010);}_0x2be171(_0x27b818);});}function getInteractionTags(_0x34c32f,_0x181256){return new BPromise(function(_0x1d1e9f,_0x3b5914){try{if(_0x34c32f[_0xf257('0x2b')]){_0x34c32f['Tags']=[];_0x34c32f['TagIds'][_0xf257('0x2c')](',')[_0xf257('0x2d')](function(_0x127dec){_0x34c32f[_0xf257('0x2e')][_0xf257('0x2f')](_0x181256[_0x127dec]);});}delete _0x34c32f[_0xf257('0x2b')];}catch(_0x1f99bc){_0x3b5914(_0x1f99bc);}_0x1d1e9f(_0x34c32f);});}function updateFaxInteraction(_0xbb1ee7,_0x3e138c,_0x3c9e34){return new BPromise(function(_0x5b0fcf,_0xe6f1cb){return getInteractionUsers(_0xbb1ee7,_0x3c9e34)[_0xf257('0x30')](function(_0x21bee0){return getInteractionTags(_0x21bee0,_0x3e138c);})[_0xf257('0x30')](function(_0x500ce4){_0x5b0fcf(_0x500ce4);})[_0xf257('0x31')](function(_0x4387d1){_0xe6f1cb(_0x4387d1);});});}exports[_0xf257('0x32')]=function(_0x2cdc32,_0x187b41){var _0x362891={},_0x4f046d={},_0x42f05d={'count':0x0,'rows':[]};var _0x286fb1=_[_0xf257('0x29')](db[_0xf257('0x33')][_0xf257('0x34')],function(_0x25234f){return{'name':_0x25234f['fieldName'],'type':_0x25234f[_0xf257('0x35')][_0xf257('0x36')]};});_0x4f046d['model']=_[_0xf257('0x29')](_0x286fb1,_0xf257('0x28'));_0x4f046d[_0xf257('0x37')]=_[_0xf257('0x38')](_0x2cdc32[_0xf257('0x37')]);_0x4f046d[_0xf257('0x39')]=_[_0xf257('0x3a')](_0x4f046d[_0xf257('0x3b')],_0x4f046d[_0xf257('0x37')]);_0x362891['attributes']=_['intersection'](_0x4f046d[_0xf257('0x3b')],qs[_0xf257('0x3c')](_0x2cdc32[_0xf257('0x37')]['fields']));_0x362891[_0xf257('0x3d')]=_0x362891[_0xf257('0x3d')][_0xf257('0x3e')]?_0x362891[_0xf257('0x3d')]:_0x4f046d[_0xf257('0x3b')];if(!_0x2cdc32['query'][_0xf257('0x3f')](_0xf257('0x40'))){_0x362891[_0xf257('0x20')]=qs['limit'](_0x2cdc32['query']['limit']);_0x362891['offset']=qs['offset'](_0x2cdc32[_0xf257('0x37')][_0xf257('0x1e')]);}_0x362891[_0xf257('0x41')]=qs['sort'](_0x2cdc32['query']['sort']);_0x362891[_0xf257('0x42')]=qs[_0xf257('0x39')](_[_0xf257('0x43')](_0x2cdc32[_0xf257('0x37')],_0x4f046d[_0xf257('0x39')]),_0x286fb1);var _0x3fb959=[];var _0x34d78b=squel['select']()[_0xf257('0x44')]('id')[_0xf257('0x44')](_0xf257('0x28'))[_0xf257('0x44')](_0xf257('0x45'))['from'](_0xf257('0x46'));var _0x173670=squel[_0xf257('0x47')]()[_0xf257('0x44')](_0xf257('0x48'))[_0xf257('0x44')](_0xf257('0x49'))[_0xf257('0x44')](_0xf257('0x4a'))[_0xf257('0x4b')]('user_has_fax_interactions','ui')[_0xf257('0x4c')]('users','u','u.id\x20=\x20ui.UserId');var _0x180eb5=squel[_0xf257('0x47')]()[_0xf257('0x4b')](_0xf257('0x4d'),'i')[_0xf257('0x4c')]('cm_contacts','c','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL')[_0xf257('0x4c')]('users','o',_0xf257('0x4e'))['left_join'](_0xf257('0x4f'),'a','a.id\x20=\x20i.FaxAccountId')[_0xf257('0x4c')](_0xf257('0x50'),'me',_0xf257('0x51'))[_0xf257('0x4c')](_0xf257('0x52'),'it','it.FaxInteractionId\x20=\x20i.id')[_0xf257('0x4c')](_0xf257('0x46'),'t','t.id\x20=\x20it.TagId');var _0x2b7062=squel['expr']();var _0x3453ac=[];var _0x44b315=squel[_0xf257('0x53')]();var _0x22d65b;if(_0x2cdc32[_0xf257('0x37')][_0xf257('0x54')]){_0x22d65b=as[_0xf257('0x55')](_0x2cdc32[_0xf257('0x37')]['search']);var _0x4c6f6e=_0x22d65b[_0xf257('0x56')];for(var _0x4c3ccc=0x0;_0x4c3ccc<_0x22d65b[_0xf257('0x57')][_0xf257('0x3e')];_0x4c3ccc++){var _0x14f072=_0x22d65b[_0xf257('0x57')][_0x4c3ccc];var _0x232dd5='i';var _0x5204fd=_[_0xf257('0x58')](_0x286fb1,[_0xf257('0x28'),_0x14f072[_0xf257('0x44')]]);if(!_0x5204fd){switch(_0x14f072[_0xf257('0x44')]){case _0xf257('0x59'):if(_0x14f072[_0xf257('0x5a')]==0x1){_0x180eb5['having']('`'+_0x14f072[_0xf257('0x44')]+_0xf257('0x5b'));}else{_0x180eb5[_0xf257('0x5c')]('`'+_0x14f072[_0xf257('0x44')]+_0xf257('0x5d'));}break;case _0xf257('0x5e'):if(_0x14f072[_0xf257('0x5f')]===_0xf257('0x60')){if(_0x14f072['value'][_0xf257('0x2c')]('\x20')[_0xf257('0x3e')]>0x1){_0x2b7062[_0x4c6f6e](_0xf257('0x61'),qs[_0xf257('0x62')](_0x14f072[_0xf257('0x5a')]),null);}else{var _0x5b3198='%'+_0x14f072['value']+'%';_0x2b7062[_0x4c6f6e](_0xf257('0x63'),_0x5b3198,_0x5b3198,_0x5b3198);}}else{_0x5204fd=_['find'](_0x286fb1,[_0xf257('0x28'),'ContactId']);_0x14f072[_0xf257('0x44')]='ContactId';_0x5113e0=as[_0xf257('0x64')](_0x232dd5,_0x5204fd[_0xf257('0x35')],_0x14f072);_0x2b7062[_0x4c6f6e](_0x5113e0['text'],_0x5113e0[_0xf257('0x5a')][_0xf257('0x65')],_0x5113e0[_0xf257('0x5a')][_0xf257('0x1b')]);}break;case _0xf257('0x66'):var _0x51161a=_0x14f072[_0xf257('0x5a')][_0xf257('0x2c')](',')['map'](function(_0x2f7ff3){return Number(_0x2f7ff3);});_0x51161a['forEach'](function(_0x2c461f){_0x44b315['or'](_0xf257('0x67'),'%,'+_0x2c461f+',%');});_0x3453ac=_['union'](_0x3453ac,_0x51161a);break;case'User':if(_0x14f072['operator']===_0xf257('0x60')){_0x2b7062[_0x4c6f6e](_0xf257('0x68'),'%'+_0x14f072[_0xf257('0x5a')]+'%',null);}else{_0x5204fd=_[_0xf257('0x58')](_0x286fb1,[_0xf257('0x28'),_0xf257('0x69')]);_0x14f072[_0xf257('0x44')]='UserId';_0x5113e0=as[_0xf257('0x64')](_0x232dd5,_0x5204fd[_0xf257('0x35')],_0x14f072);_0x2b7062[_0x4c6f6e](_0x5113e0[_0xf257('0x6a')],_0x5113e0[_0xf257('0x5a')][_0xf257('0x65')],_0x5113e0[_0xf257('0x5a')][_0xf257('0x1b')]);}break;case _0xf257('0x6b'):_0x5113e0=as[_0xf257('0x64')]('me',null,_0x14f072);_0x2b7062[_0x4c6f6e](_0x5113e0['text'],_0x5113e0['value']['start'],_0x5113e0['value']['end']);break;}}else{var _0x5113e0=as[_0xf257('0x64')](_0x232dd5,_0x5204fd[_0xf257('0x35')],_0x14f072);_0x2b7062[_0x4c6f6e](_0x5113e0['text'],_0x5113e0['value'][_0xf257('0x65')],_0x5113e0[_0xf257('0x5a')]['end']);}}}else{var _0x5c858f=_(_0x2cdc32[_0xf257('0x37')])[_0xf257('0x38')]()[_0xf257('0x29')](function(_0x4c3d85){return _[_0xf257('0x6c')](_0x286fb1,[_0xf257('0x28'),_0x4c3d85])?_0x4c3d85:undefined;})[_0xf257('0x6d')]()['value']();if(!_['isEmpty'](_0x5c858f)){_0x5c858f[_0xf257('0x2d')](function(_0x4a4444){if(_0x4a4444==='FaxAccountId'){_0x180eb5[_0xf257('0x42')](_0xf257('0x6e'),[][_0xf257('0x6f')](_0x2cdc32[_0xf257('0x37')][_0x4a4444]));}else if(_0x4a4444===_0xf257('0x70')){var _0x114e56=JSON[_0xf257('0x71')](_0x2cdc32['query'][_0x4a4444])[_0xf257('0x72')];var _0x459b90=JSON[_0xf257('0x71')](_0x2cdc32[_0xf257('0x37')][_0x4a4444])[_0xf257('0x73')];_0x180eb5[_0xf257('0x42')](_0xf257('0x74'),_0x114e56,_0x459b90);}else{if(_0x2cdc32[_0xf257('0x37')][_0x4a4444]==='null'){_0x180eb5[_0xf257('0x42')]('i.'+_0x4a4444+'\x20IS\x20NULL');}else{_0x180eb5['where']('i.'+_0x4a4444+_0xf257('0x75'),_0x2cdc32['query'][_0x4a4444]);}}});}if(_0x2cdc32[_0xf257('0x37')][_0xf257('0x76')]){if(_0x2cdc32['query'][_0xf257('0x76')]==0x1){_0x180eb5[_0xf257('0x5c')](_0xf257('0x77'));}else{_0x180eb5['having'](_0xf257('0x78'));}}if(_0x2cdc32['query'][_0xf257('0x79')]){_0x3453ac=_['isArray'](_0x2cdc32[_0xf257('0x37')]['tag'])?_0x2cdc32['query']['tag']:new Array(_0x2cdc32['query']['tag']);_0x3453ac[_0xf257('0x2d')](function(_0x4fe8e0){_0x44b315['or'](_0xf257('0x67'),'%,'+_0x4fe8e0+',%');});}if(_0x2cdc32[_0xf257('0x37')][_0xf257('0x7a')]){var _0x4208f8=_0x2cdc32[_0xf257('0x37')][_0xf257('0x7a')][_0xf257('0x7b')]('\x5c','\x5c\x5c')[_0xf257('0x7b')](/'/g,'\x27\x27');if(qs[_0xf257('0x7c')](_0x4208f8)){_0x2b7062['or']('i.id\x20LIKE\x20?',_0x4208f8+'%')['or']('i.fax\x20LIKE\x20?',_0x4208f8+'%');}_0x2b7062['or'](_0xf257('0x7d'),_0x4208f8+'%');}}_0x180eb5[_0xf257('0x42')](_0x2b7062);_0x180eb5[_0xf257('0x7e')]('i.id');var _0x548fe6={'type':db[_0xf257('0x7f')]['QueryTypes']['SELECT'],'raw':!![]};var _0x22f3fa=_0x180eb5['clone']();_0x22f3fa[_0xf257('0x44')](_0xf257('0x80'));_0x22f3fa[_0xf257('0x44')](_0xf257('0x81'),_0xf257('0x59'));if(_0x362891[_0xf257('0x41')]){_0x362891[_0xf257('0x41')][_0xf257('0x2d')](function(_0x53480e){var _0x5b2bd7=_0x53480e[0x0]===_0xf257('0x82')?_0x53480e[0x0]:'i.'+_0x53480e[0x0];_0x180eb5[_0xf257('0x41')](_0x5b2bd7,_0x53480e[0x1]===_0xf257('0x83')?![]:!![]);});}if(!_[_0xf257('0x84')](_0x3453ac)){_0x180eb5[_0xf257('0x5c')](_0x44b315);_0x22f3fa['where'](_0xf257('0x85'),_0x3453ac);}BPromise['resolve']()[_0xf257('0x30')](function(){if(!_0x22d65b){if(_0x2cdc32[_0xf257('0x37')]['FaxAccountId'])return;_0x22f3fa[_0xf257('0x42')](_0xf257('0x86'));_0x180eb5[_0xf257('0x42')](_0xf257('0x86'));return;}if(_0x2cdc32[_0xf257('0x87')][_0xf257('0x88')]!==_0xf257('0x89'))return;return _0x2cdc32[_0xf257('0x87')][_0xf257('0x8a')]({'attributes':['id'],'raw':!![]})[_0xf257('0x30')](function(_0x5f3d45){if(_[_0xf257('0x84')](_0x5f3d45)){_0x22f3fa[_0xf257('0x42')](_0xf257('0x8b'));_0x180eb5[_0xf257('0x42')](_0xf257('0x8b'));}else{_0x22f3fa[_0xf257('0x42')]('i.FaxAccountId\x20IN\x20?',_[_0xf257('0x29')](_0x5f3d45,'id'));_0x180eb5[_0xf257('0x42')]('i.FaxAccountId\x20IN\x20?',_[_0xf257('0x29')](_0x5f3d45,'id'));}});})['then'](function(){if(_0x2cdc32[_0xf257('0x87')]['role']==='agent'&&!_0x22d65b&&!_0x2cdc32['query'][_0xf257('0x8c')])return[];return db[_0xf257('0x8d')]['query'](_0x22f3fa['toString'](),_0x548fe6);})['then'](function(_0x5a0158){_0x42f05d[_0xf257('0x21')]=_0x5a0158[_0xf257('0x3e')];if(_0x42f05d['count']===0x0)return[];return db[_0xf257('0x8d')][_0xf257('0x37')](_0x34d78b[_0xf257('0x8e')](),_0x548fe6)[_0xf257('0x30')](function(_0x2c1510){_0x3fb959=_[_0xf257('0x8f')](_0x2c1510,'id');_0x548fe6=_[_0xf257('0x90')](_0x548fe6,{'model':db['FaxInteraction'],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x2cdc32[_0xf257('0x37')]['fields']){_0x362891[_0xf257('0x3d')][_0xf257('0x2d')](function(_0x25e584){_0x180eb5[_0xf257('0x44')]('i.'+_0x25e584);});}else{_0x180eb5[_0xf257('0x44')](_0xf257('0x81'),_0xf257('0x59'));_0x180eb5[_0xf257('0x44')](_0xf257('0x91'),_0xf257('0x92'));_0x180eb5[_0xf257('0x44')]('a.mandatoryDisposition',_0xf257('0x93'));_0x180eb5[_0xf257('0x44')]('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',_0xf257('0x82'));_0x180eb5[_0xf257('0x44')]('i.*');_0x180eb5['field'](_0xf257('0x94'),'Contact.firstName');_0x180eb5[_0xf257('0x44')](_0xf257('0x95'),'Contact.lastName');_0x180eb5[_0xf257('0x44')]('c.email',_0xf257('0x96'));_0x180eb5['field']('c.phone',_0xf257('0x97'));_0x180eb5[_0xf257('0x44')](_0xf257('0x98'),_0xf257('0x99'));_0x180eb5[_0xf257('0x44')](_0xf257('0x9a'),_0xf257('0x9b'));_0x180eb5[_0xf257('0x44')](_0xf257('0x9c'),_0xf257('0x9d'));_0x180eb5['field']('o.internal',_0xf257('0x9e'));_0x180eb5['field'](_0xf257('0x9f'),_0xf257('0x2b'));}if(_0x362891[_0xf257('0x20')])_0x180eb5[_0xf257('0x20')](_0x362891['limit']);if(_0x362891['offset'])_0x180eb5['offset'](_0x362891[_0xf257('0x1e')]);return db[_0xf257('0x8d')][_0xf257('0x37')](_0x180eb5['toString'](),_0x548fe6);})[_0xf257('0x30')](function(_0x3843c9){if(_0x3843c9[_0xf257('0x3e')]>0x0)_0x173670[_0xf257('0x42')](_0xf257('0xa0'),_[_0xf257('0x29')](_0x3843c9,'id'));return db[_0xf257('0x8d')][_0xf257('0x37')](_0x173670['toString'](),_0x548fe6)['then'](function(_0x4d85b2){var _0x1bd289=_[_0xf257('0xa1')](_0x4d85b2,_0xf257('0xa2'));var _0x17397e=[];_0x3843c9[_0xf257('0x2d')](function(_0x5c3eff){_0x17397e['push'](updateFaxInteraction(_0x5c3eff,_0x3fb959,_0x1bd289));});return BPromise[_0xf257('0xa3')](_0x17397e);});});})[_0xf257('0x30')](function(_0x3c1c60){_0x42f05d[_0xf257('0xa4')]=_0x3c1c60;return _0x42f05d;})[_0xf257('0x30')](respondWithFilteredResult(_0x187b41,_0x362891))[_0xf257('0x31')](handleError(_0x187b41,null));};exports[_0xf257('0xa5')]=function(_0x2e43ae,_0x4de9e4){var _0x111768={'raw':![],'where':{'id':_0x2e43ae[_0xf257('0xa6')]['id']}},_0xfbf563={};_0xfbf563['model']=_['keys'](db['FaxInteraction'][_0xf257('0x34')]);_0xfbf563[_0xf257('0x37')]=_[_0xf257('0x38')](_0x2e43ae[_0xf257('0x37')]);_0xfbf563[_0xf257('0x39')]=_[_0xf257('0x3a')](_0xfbf563[_0xf257('0x3b')],_0xfbf563[_0xf257('0x37')]);_0x111768[_0xf257('0x3d')]=_['intersection'](_0xfbf563[_0xf257('0x3b')],qs['fields'](_0x2e43ae[_0xf257('0x37')][_0xf257('0x3c')]));_0x111768['attributes']=_0x111768[_0xf257('0x3d')]['length']?_0x111768[_0xf257('0x3d')]:_0xfbf563[_0xf257('0x3b')];if(_0x2e43ae[_0xf257('0x37')]['includeAll']){_0x111768[_0xf257('0xa7')]=[{'all':!![]}];}_0x111768=_[_0xf257('0x90')]({},_0x111768,_0x2e43ae[_0xf257('0xa8')]);return db['FaxInteraction']['find'](_0x111768)[_0xf257('0x30')](handleEntityNotFound(_0x4de9e4,null))['then'](respondWithResult(_0x4de9e4,null))[_0xf257('0x31')](handleError(_0x4de9e4,null));};exports[_0xf257('0xa9')]=function(_0x29479b,_0x2eed0){return db[_0xf257('0x33')]['create'](_0x29479b['body'],{})[_0xf257('0x30')](respondWithResult(_0x2eed0,0xc9))['catch'](handleError(_0x2eed0,null));};exports['update']=function(_0x13f858,_0x2a9239){if(_0x13f858[_0xf257('0x6b')]['id']){delete _0x13f858[_0xf257('0x6b')]['id'];}return db[_0xf257('0x33')][_0xf257('0x58')]({'where':{'id':_0x13f858[_0xf257('0xa6')]['id']}})[_0xf257('0x30')](handleEntityNotFound(_0x2a9239,null))[_0xf257('0x30')](saveUpdates(_0x13f858['body'],null))[_0xf257('0x30')](respondWithResult(_0x2a9239,null))[_0xf257('0x31')](handleError(_0x2a9239,null));};exports[_0xf257('0xaa')]=function(_0x2a21f2,_0x43ac9a){return db['FaxInteraction']['find']({'where':{'id':_0x2a21f2[_0xf257('0xa6')]['id']}})[_0xf257('0x30')](handleEntityNotFound(_0x43ac9a,null))['then'](removeEntity(_0x43ac9a,null))[_0xf257('0x31')](handleError(_0x43ac9a,null));};exports[_0xf257('0xab')]=function(_0x2b3d84,_0x265bf7){return db[_0xf257('0x33')][_0xf257('0xab')]()[_0xf257('0x30')](respondWithResult(_0x265bf7,null))[_0xf257('0x31')](handleError(_0x265bf7,null));};exports[_0xf257('0xac')]=function(_0x1fa7eb,_0x5ac84b,_0x1958c3){return db[_0xf257('0xad')]['find']({'where':{'id':_0x1fa7eb[_0xf257('0xa6')]['id']}})['then'](handleEntityNotFound(_0x5ac84b,null))[_0xf257('0x30')](function(_0x3e8e){if(_0x3e8e){return _0x3e8e[_0xf257('0xac')](_0x1fa7eb[_0xf257('0x6b')][_0xf257('0xae')],_[_0xf257('0xaf')](_0x1fa7eb['body'],[_0xf257('0xae'),'id'])||{});}})['then'](respondWithResult(_0x5ac84b,null))[_0xf257('0x31')](handleError(_0x5ac84b,null));};exports[_0xf257('0xb0')]=function(_0x45310f,_0x36e0ce,_0x41c79f){var _0x38e6c1={'raw':![],'where':{}};var _0x2cb869={};var _0x2bc29e={'count':0x0,'rows':[]};return db[_0xf257('0x33')][_0xf257('0xb1')]({'where':{'id':_0x45310f[_0xf257('0xa6')]['id']}})['then'](handleEntityNotFound(_0x36e0ce,null))[_0xf257('0x30')](function(_0x431fc7){if(_0x431fc7){_0x2cb869['model']=_[_0xf257('0x38')](db[_0xf257('0xad')]['rawAttributes']);_0x2cb869['query']=_[_0xf257('0x38')](_0x45310f[_0xf257('0x37')]);_0x2cb869[_0xf257('0x39')]=_[_0xf257('0x3a')](_0x2cb869['model'],_0x2cb869[_0xf257('0x37')]);_0x38e6c1['attributes']=_[_0xf257('0x3a')](_0x2cb869[_0xf257('0x3b')],qs['fields'](_0x45310f[_0xf257('0x37')][_0xf257('0x3c')]));_0x38e6c1[_0xf257('0x3d')]=_0x38e6c1[_0xf257('0x3d')]['length']?_0x38e6c1[_0xf257('0x3d')]:_0x2cb869['model'];if(!_0x45310f[_0xf257('0x37')]['hasOwnProperty'](_0xf257('0x40'))){_0x38e6c1['limit']=qs[_0xf257('0x20')](_0x45310f['query'][_0xf257('0x20')]);_0x38e6c1[_0xf257('0x1e')]=qs[_0xf257('0x1e')](_0x45310f['query'][_0xf257('0x1e')]);}_0x38e6c1[_0xf257('0x41')]=qs['sort'](_0x45310f['query'][_0xf257('0xb2')]);_0x38e6c1['where']=qs[_0xf257('0x39')](_[_0xf257('0x43')](_0x45310f['query'],_0x2cb869[_0xf257('0x39')]));_0x38e6c1[_0xf257('0x42')][_0xf257('0xa2')]=_0x431fc7['id'];if(_0x45310f[_0xf257('0x37')][_0xf257('0x7a')]){_0x38e6c1[_0xf257('0x42')]=_[_0xf257('0x90')](_0x38e6c1[_0xf257('0x42')],{'$or':_[_0xf257('0x29')](_0x38e6c1[_0xf257('0x3d')],function(_0x1962e9){var _0x3925e1={};_0x3925e1[_0x1962e9]={'$like':'%'+_0x45310f['query']['filter']+'%'};return _0x3925e1;})});}if(_0x45310f[_0xf257('0x37')][_0xf257('0x72')]){var _0x595e18=_0x45310f[_0xf257('0x37')]['$gte'][_0xf257('0x2c')](',');var _0x41f0a4={};_0x41f0a4[_0x595e18[0x0]]={'$gte':moment(_0x595e18[0x1])[_0xf257('0xb3')](_0xf257('0xb4'))};_0x38e6c1[_0xf257('0x42')]=_[_0xf257('0x90')](_0x38e6c1[_0xf257('0x42')],_0x41f0a4);}_0x38e6c1=_[_0xf257('0x90')]({},_0x38e6c1,_0x45310f['options']);return db[_0xf257('0xad')][_0xf257('0x21')]({'where':_0x38e6c1['where']})['then'](function(_0x505f5b){_0x2bc29e[_0xf257('0x21')]=_0x505f5b;if(_0x45310f['query'][_0xf257('0xb5')]){_0x38e6c1['include']=[{'all':!![]}];}return db['FaxMessage'][_0xf257('0xb6')](_0x38e6c1);})['then'](function(_0x12be58){_0x2bc29e['rows']=_0x12be58;return _0x2bc29e;});}})['then'](respondWithFilteredResult(_0x36e0ce,_0x38e6c1))[_0xf257('0x31')](handleError(_0x36e0ce,null));};exports[_0xf257('0xb7')]=function(_0x5b5455,_0x5c04e7,_0x34908c){return db[_0xf257('0x33')][_0xf257('0x58')]({'where':{'id':_0x5b5455[_0xf257('0xa6')]['id']}})[_0xf257('0x30')](handleEntityNotFound(_0x5c04e7,null))[_0xf257('0x30')](function(_0xd86b61){if(_0xd86b61){return _0xd86b61[_0xf257('0xb8')](_0x5b5455['body']['ids'],_['omit'](_0x5b5455[_0xf257('0x6b')],[_0xf257('0xae'),'id'])||{})[_0xf257('0xb9')](function(){return db[_0xf257('0x66')]['findAll']({'attributes':['id',_0xf257('0x28'),_0xf257('0x45')],'where':{'id':_0x5b5455[_0xf257('0x6b')][_0xf257('0xae')]}});})[_0xf257('0x30')](function(_0x14e3e3){socket[_0xf257('0xba')](_0xf257('0xbb'),{'id':Number(_0x5b5455['params']['id']),'tags':_0x14e3e3||[]});return{'id':Number(_0x5b5455['params']['id']),'tags':_0x14e3e3||[]};});}})[_0xf257('0x30')](respondWithResult(_0x5c04e7,null))[_0xf257('0x31')](handleError(_0x5c04e7,null));};exports[_0xf257('0xbc')]=function(_0x5c8839,_0x38b70f,_0x16f2a9){return db[_0xf257('0x33')][_0xf257('0x58')]({'where':{'id':_0x5c8839[_0xf257('0xa6')]['id']}})[_0xf257('0x30')](handleEntityNotFound(_0x38b70f,null))[_0xf257('0x30')](function(_0x1884f6){if(_0x1884f6){return _0x1884f6[_0xf257('0xbc')](_0x5c8839[_0xf257('0x37')]['ids']);}})[_0xf257('0x30')](respondWithStatusCode(_0x38b70f,null))[_0xf257('0x31')](handleError(_0x38b70f,null));};exports[_0xf257('0xbd')]=function(_0x7319b0,_0x2b9f45){var _0x4177c5=moment()[_0xf257('0xbe')]()[_0xf257('0x8e')]();var _0xfaf500=path['join'](config[_0xf257('0xbf')],_0xf257('0xc0'),_0xf257('0xc1'),'tmp');var _0x393ed3=path[_0xf257('0xc2')](config['root'],_0xf257('0xc0'),_0xf257('0xc1'),_0xf257('0xc3'));var _0x51dbd9=path[_0xf257('0xc2')](_0xfaf500,_0x4177c5);var _0x269281=util[_0xf257('0xb3')](_0xf257('0xc4'),_0x7319b0[_0xf257('0xa6')]['id'],_0x4177c5);var _0x47bdd8=path['join'](_0xfaf500,_0x269281);var _0x642658=[];_0x642658[_0xf257('0x2f')]({'model':db['Attachment'],'as':'Attachment','raw':!![]});var _0x60c8f8=[{'model':db[_0xf257('0xad')],'as':'Messages','attributes':['id',_0xf257('0x6b'),_0xf257('0x70')],'include':_0x642658}];return db[_0xf257('0x33')][_0xf257('0x58')]({'where':{'id':_0x7319b0[_0xf257('0xa6')]['id']},'include':_0x60c8f8})[_0xf257('0x30')](handleEntityNotFound(_0x2b9f45,null))['then'](function(_0x3f456a){if(_0x3f456a&&_0x3f456a[_0xf257('0xc5')]){var _0x4bb515=_0x3f456a[_0xf257('0xc6')]({'plain':!![]});fs[_0xf257('0xc7')](_0x51dbd9);for(var _0x49f591=0x0;_0x49f591<_0x4bb515['Messages'][_0xf257('0x3e')];_0x49f591++){var _0x25a2f4=_0x4bb515[_0xf257('0xc5')][_0x49f591]['Attachment'];if(_0x25a2f4){var _0x5a3f53=path[_0xf257('0xc2')](_0x393ed3,_0x25a2f4['basename']);if(fs[_0xf257('0xc8')](_0x5a3f53)){fs[_0xf257('0xc9')](_0x5a3f53)[_0xf257('0xca')](fs[_0xf257('0xcb')](path[_0xf257('0xc2')](_0x51dbd9,_0x25a2f4['basename'])));}}}return BPromise[_0xf257('0xcc')]()[_0xf257('0x30')](function(){return new BPromise(function(_0x34946e,_0x2c9e4e){zipdir(_0x51dbd9,{'saveTo':_0x47bdd8},function(_0x5e7719,_0x46f46e){if(_0x5e7719)return _0x2c9e4e(_0x5e7719);return _0x34946e(_0x46f46e);});})[_0xf257('0x30')](function(){return new BPromise(function(_0x9b6fbf,_0x372af3){rimraf(_0x51dbd9,function(_0x35c9cb){if(_0x35c9cb)_0x372af3(_0x35c9cb);return _0x9b6fbf();});});})[_0xf257('0x30')](function(){return _0x2b9f45[_0xf257('0xbd')](_0x47bdd8,_0x269281,function(_0x5d2c84){if(_0x5d2c84){console[_0xf257('0xcd')](_0xf257('0xce'),_0x5d2c84);}else{fs[_0xf257('0xcf')](_0x47bdd8);}});});});}else{return _0x2b9f45[_0xf257('0x26')](0xc8);}})[_0xf257('0x31')](handleError(_0x2b9f45,null));};