bdc445233b99358be2de85ccb38f0f22e800876b
[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 _0x170b=['Contact.firstName','c.lastName','Contact.lastName','Contact.email','c.phone','Contact.phone','c.mobile','Contact.mobile','c.fax','o.fullname','o.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.FaxInteractionId\x20IN\x20?','FaxInteractionId','push','rows','show','includeAll','include','create','describe','addMessage','params','ids','getMessages','findOne','FaxMessage','nolimit','$gte','format','findAll','addTags','setTags','spread','color','emit','faxInteractionTags:save','removeTags','join','server','root','files','attachments','transcript-%d-%s.zip','Attachment','Messages','get','mkdirSync','basename','createWriteStream','resolve','log','err','unlinkSync','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','fs-extra','lodash','squel','crypto','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./faxInteraction.socket','register','end','json','offset','undefined','count','limit','status','Content-Range','apply','reject','save','update','then','sendStatus','error','Users','map','fullname','TagIds','split','forEach','Tags','catch','FaxInteraction','rawAttributes','type','key','model','name','query','keys','intersection','attributes','fields','length','hasOwnProperty','sort','where','filters','pick','select','field','from','tools_tags','u.fullname','users','u.id\x20=\x20ui.UserId','fax_interactions','cm_contacts','left_join','o.id\x20=\x20i.UserId','fax_accounts','a.id\x20=\x20i.FaxAccountId','fax_messages','fax_interaction_has_tags','t.id\x20=\x20it.TagId','expr','search','parseSearch','sqlOperator','conditions','unreadMessages','value','having','`\x20=\x200','`\x20>\x200','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','text','Tag','union','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','find','UserId','start','body','some','isEmpty','FaxAccountId','i.FaxAccountId\x20IN\x20?','concat','parse','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','isArray','tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','filter','replace','isNumeric','i.id\x20LIKE\x20?','i.fax\x20LIKE\x20?','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','i.id','Sequelize','QueryTypes','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','order','contactName','DESC','t.id\x20IN\x20?','i.FaxAccountId\x20IS\x20NOT\x20NULL','role','agent','user','getFaxAccounts','i.FaxAccountId\x20IS\x20NULL','sequelize','toString','keyBy','merge','a.key','Account.key','a.mandatoryDisposition','Account.mandatoryDisposition','i.*','c.firstName'];(function(_0x6a734c,_0x1b2d9f){var _0x494d0d=function(_0x36fd39){while(--_0x36fd39){_0x6a734c['push'](_0x6a734c['shift']());}};_0x494d0d(++_0x1b2d9f);}(_0x170b,0x1e4));var _0xb170=function(_0x2d9e4c,_0x3ff4d2){_0x2d9e4c=_0x2d9e4c-0x0;var _0xe17eec=_0x170b[_0x2d9e4c];return _0xe17eec;};'use strict';var emlformat=require(_0xb170('0x0'));var rimraf=require(_0xb170('0x1'));var zipdir=require(_0xb170('0x2'));var jsonpatch=require(_0xb170('0x3'));var rp=require(_0xb170('0x4'));var moment=require(_0xb170('0x5'));var BPromise=require(_0xb170('0x6'));var Mustache=require(_0xb170('0x7'));var util=require('util');var path=require(_0xb170('0x8'));var sox=require(_0xb170('0x9'));var csv=require(_0xb170('0xa'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xb170('0xb'));var _=require(_0xb170('0xc'));var squel=require(_0xb170('0xd'));var crypto=require(_0xb170('0xe'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0xb170('0xa'));var querystring=require(_0xb170('0xf'));var Papa=require(_0xb170('0x10'));var Redis=require(_0xb170('0x11'));var authService=require('../../components/auth/service');var qs=require(_0xb170('0x12'));var as=require(_0xb170('0x13'));var hardwareService=require(_0xb170('0x14'));var logger=require(_0xb170('0x15'))(_0xb170('0x16'));var utils=require(_0xb170('0x17'));var config=require(_0xb170('0x18'));var licenseUtil=require('../../config/license/util');var db=require(_0xb170('0x19'))['db'];config[_0xb170('0x1a')]=_[_0xb170('0x1b')](config['redis'],{'host':_0xb170('0x1c'),'port':0x18eb});var socket=require(_0xb170('0x1d'))(new Redis(config[_0xb170('0x1a')]));require(_0xb170('0x1e'))[_0xb170('0x1f')](socket);function respondWithStatusCode(_0x17584e,_0x4ec6fa){_0x4ec6fa=_0x4ec6fa||0xcc;return function(_0x1b2555){if(_0x1b2555){return _0x17584e['sendStatus'](_0x4ec6fa);}return _0x17584e['status'](_0x4ec6fa)[_0xb170('0x20')]();};}function respondWithResult(_0x42d05d,_0x36b525){_0x36b525=_0x36b525||0xc8;return function(_0x446aa5){if(_0x446aa5){return _0x42d05d['status'](_0x36b525)[_0xb170('0x21')](_0x446aa5);}};}function respondWithFilteredResult(_0x20fcfa,_0x2d3264){return function(_0xa00daf){if(_0xa00daf){var _0x318d0d=typeof _0x2d3264[_0xb170('0x22')]===_0xb170('0x23')&&typeof _0x2d3264['limit']===_0xb170('0x23');var _0x3531c3=_0xa00daf['count'];var _0x317ab3=_0x318d0d?0x0:_0x2d3264[_0xb170('0x22')];var _0x3f1f56=_0x318d0d?_0xa00daf[_0xb170('0x24')]:_0x2d3264[_0xb170('0x22')]+_0x2d3264[_0xb170('0x25')];var _0x11a0c8;if(_0x3f1f56>=_0x3531c3){_0x3f1f56=_0x3531c3;_0x11a0c8=0xc8;}else{_0x11a0c8=0xce;}_0x20fcfa[_0xb170('0x26')](_0x11a0c8);return _0x20fcfa['set'](_0xb170('0x27'),_0x317ab3+'-'+_0x3f1f56+'/'+_0x3531c3)['json'](_0xa00daf);}return null;};}function patchUpdates(_0x4e7fcb){return function(_0xc19cff){try{jsonpatch[_0xb170('0x28')](_0xc19cff,_0x4e7fcb,!![]);}catch(_0x3f4af5){return BPromise[_0xb170('0x29')](_0x3f4af5);}return _0xc19cff[_0xb170('0x2a')]();};}function saveUpdates(_0x4999f7,_0x4119e0){return function(_0x52125b){if(_0x52125b){return _0x52125b[_0xb170('0x2b')](_0x4999f7)[_0xb170('0x2c')](function(_0x1130bb){return _0x1130bb;});}return null;};}function removeEntity(_0x2627c6,_0x562c0e){return function(_0x56a200){if(_0x56a200){return _0x56a200['destroy']()['then'](function(){_0x2627c6[_0xb170('0x26')](0xcc)[_0xb170('0x20')]();});}};}function handleEntityNotFound(_0x47ee56,_0xddbc6c){return function(_0x3dd678){if(!_0x3dd678){_0x47ee56[_0xb170('0x2d')](0x194);}return _0x3dd678;};}function handleError(_0x59f9f8,_0x38e300){_0x38e300=_0x38e300||0x1f4;return function(_0x4d20f1){logger[_0xb170('0x2e')](_0x4d20f1['stack']);if(_0x4d20f1['name']){delete _0x4d20f1['name'];}_0x59f9f8[_0xb170('0x26')](_0x38e300)['send'](_0x4d20f1);};}function getInteractionUsers(_0x3e1392,_0x3999f7){return new BPromise(function(_0xca978d,_0x25761f){try{if(_0x3999f7[_0x3e1392['id']]){_0x3e1392[_0xb170('0x2f')]=_[_0xb170('0x30')](_0x3999f7[_0x3e1392['id']],function(_0x3b84f3){return{'id':_0x3b84f3['id'],'fullname':_0x3b84f3[_0xb170('0x31')]};});}}catch(_0x3f26c5){_0x25761f(_0x3f26c5);}_0xca978d(_0x3e1392);});}function getInteractionTags(_0x4f6bc0,_0xacffd3){return new BPromise(function(_0x305016,_0x343c3e){try{if(_0x4f6bc0[_0xb170('0x32')]){_0x4f6bc0['Tags']=[];_0x4f6bc0[_0xb170('0x32')][_0xb170('0x33')](',')[_0xb170('0x34')](function(_0xf806ff){_0x4f6bc0[_0xb170('0x35')]['push'](_0xacffd3[_0xf806ff]);});}delete _0x4f6bc0[_0xb170('0x32')];}catch(_0x331526){_0x343c3e(_0x331526);}_0x305016(_0x4f6bc0);});}function updateFaxInteraction(_0x374a68,_0x3be36c,_0x528317){return new BPromise(function(_0x1425df,_0x47808f){return getInteractionUsers(_0x374a68,_0x528317)['then'](function(_0x300efa){return getInteractionTags(_0x300efa,_0x3be36c);})[_0xb170('0x2c')](function(_0xc1d7a8){_0x1425df(_0xc1d7a8);})[_0xb170('0x36')](function(_0x1314e0){_0x47808f(_0x1314e0);});});}exports['index']=function(_0x5b73f8,_0x266dfc){var _0x15ae52={},_0x37121d={},_0xdda00c={'count':0x0,'rows':[]};var _0xdf68b3=_[_0xb170('0x30')](db[_0xb170('0x37')][_0xb170('0x38')],function(_0x280486){return{'name':_0x280486['fieldName'],'type':_0x280486[_0xb170('0x39')][_0xb170('0x3a')]};});_0x37121d[_0xb170('0x3b')]=_[_0xb170('0x30')](_0xdf68b3,_0xb170('0x3c'));_0x37121d[_0xb170('0x3d')]=_[_0xb170('0x3e')](_0x5b73f8[_0xb170('0x3d')]);_0x37121d['filters']=_[_0xb170('0x3f')](_0x37121d[_0xb170('0x3b')],_0x37121d['query']);_0x15ae52[_0xb170('0x40')]=_[_0xb170('0x3f')](_0x37121d[_0xb170('0x3b')],qs[_0xb170('0x41')](_0x5b73f8['query']['fields']));_0x15ae52['attributes']=_0x15ae52[_0xb170('0x40')][_0xb170('0x42')]?_0x15ae52[_0xb170('0x40')]:_0x37121d[_0xb170('0x3b')];if(!_0x5b73f8[_0xb170('0x3d')][_0xb170('0x43')]('nolimit')){_0x15ae52[_0xb170('0x25')]=qs[_0xb170('0x25')](_0x5b73f8[_0xb170('0x3d')][_0xb170('0x25')]);_0x15ae52[_0xb170('0x22')]=qs[_0xb170('0x22')](_0x5b73f8[_0xb170('0x3d')]['offset']);}_0x15ae52['order']=qs['sort'](_0x5b73f8[_0xb170('0x3d')][_0xb170('0x44')]);_0x15ae52[_0xb170('0x45')]=qs[_0xb170('0x46')](_[_0xb170('0x47')](_0x5b73f8[_0xb170('0x3d')],_0x37121d[_0xb170('0x46')]),_0xdf68b3);var _0x2fe066=[];var _0x4ac4ae=squel[_0xb170('0x48')]()[_0xb170('0x49')]('id')['field']('name')[_0xb170('0x49')]('color')[_0xb170('0x4a')](_0xb170('0x4b'));var _0x3a339e=squel[_0xb170('0x48')]()['field']('u.id')[_0xb170('0x49')](_0xb170('0x4c'))[_0xb170('0x49')]('ui.FaxInteractionId')[_0xb170('0x4a')]('user_has_fax_interactions','ui')['left_join'](_0xb170('0x4d'),'u',_0xb170('0x4e'));var _0x16af22=squel[_0xb170('0x48')]()[_0xb170('0x4a')](_0xb170('0x4f'),'i')['left_join'](_0xb170('0x50'),'c','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL')[_0xb170('0x51')]('users','o',_0xb170('0x52'))['left_join'](_0xb170('0x53'),'a',_0xb170('0x54'))['left_join'](_0xb170('0x55'),'me','me.FaxInteractionId\x20=\x20i.id')[_0xb170('0x51')](_0xb170('0x56'),'it','it.FaxInteractionId\x20=\x20i.id')[_0xb170('0x51')](_0xb170('0x4b'),'t',_0xb170('0x57'));var _0x177f48=squel[_0xb170('0x58')]();var _0x18cceb=[];var _0x56c501=squel['expr']();var _0x5392a5;if(_0x5b73f8[_0xb170('0x3d')][_0xb170('0x59')]){_0x5392a5=as[_0xb170('0x5a')](_0x5b73f8[_0xb170('0x3d')]['search']);var _0x4d019c=_0x5392a5[_0xb170('0x5b')];for(var _0x403353=0x0;_0x403353<_0x5392a5[_0xb170('0x5c')][_0xb170('0x42')];_0x403353++){var _0x285b56=_0x5392a5[_0xb170('0x5c')][_0x403353];var _0x2af445='i';var _0x23ed54=_['find'](_0xdf68b3,['name',_0x285b56[_0xb170('0x49')]]);if(!_0x23ed54){switch(_0x285b56[_0xb170('0x49')]){case _0xb170('0x5d'):if(_0x285b56[_0xb170('0x5e')]==0x1){_0x16af22[_0xb170('0x5f')]('`'+_0x285b56[_0xb170('0x49')]+_0xb170('0x60'));}else{_0x16af22[_0xb170('0x5f')]('`'+_0x285b56[_0xb170('0x49')]+_0xb170('0x61'));}break;case'Contact':if(_0x285b56[_0xb170('0x62')]===_0xb170('0x63')){if(_0x285b56['value']['split']('\x20')[_0xb170('0x42')]>0x1){_0x177f48[_0x4d019c](_0xb170('0x64'),qs[_0xb170('0x65')](_0x285b56['value']),null);}else{var _0x59a613='%'+_0x285b56['value']+'%';_0x177f48[_0x4d019c](_0xb170('0x66'),_0x59a613,_0x59a613,_0x59a613);}}else{_0x23ed54=_['find'](_0xdf68b3,[_0xb170('0x3c'),_0xb170('0x67')]);_0x285b56[_0xb170('0x49')]=_0xb170('0x67');_0x4be924=as[_0xb170('0x68')](_0x2af445,_0x23ed54[_0xb170('0x39')],_0x285b56);_0x177f48[_0x4d019c](_0x4be924[_0xb170('0x69')],_0x4be924['value']['start'],_0x4be924[_0xb170('0x5e')][_0xb170('0x20')]);}break;case _0xb170('0x6a'):var _0x145827=_0x285b56[_0xb170('0x5e')][_0xb170('0x33')](',')[_0xb170('0x30')](function(_0x1fc2d5){return Number(_0x1fc2d5);});_0x145827[_0xb170('0x34')](function(_0x30106a){_0x56c501['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x30106a+',%');});_0x18cceb=_[_0xb170('0x6b')](_0x18cceb,_0x145827);break;case'User':if(_0x285b56['operator']===_0xb170('0x63')){_0x177f48[_0x4d019c](_0xb170('0x6c'),'%'+_0x285b56[_0xb170('0x5e')]+'%',null);}else{_0x23ed54=_[_0xb170('0x6d')](_0xdf68b3,['name',_0xb170('0x6e')]);_0x285b56['field']=_0xb170('0x6e');_0x4be924=as['buildExpression'](_0x2af445,_0x23ed54['type'],_0x285b56);_0x177f48[_0x4d019c](_0x4be924[_0xb170('0x69')],_0x4be924['value'][_0xb170('0x6f')],_0x4be924[_0xb170('0x5e')][_0xb170('0x20')]);}break;case _0xb170('0x70'):_0x4be924=as['buildExpression']('me',null,_0x285b56);_0x177f48[_0x4d019c](_0x4be924[_0xb170('0x69')],_0x4be924['value'][_0xb170('0x6f')],_0x4be924[_0xb170('0x5e')][_0xb170('0x20')]);break;}}else{var _0x4be924=as[_0xb170('0x68')](_0x2af445,_0x23ed54[_0xb170('0x39')],_0x285b56);_0x177f48[_0x4d019c](_0x4be924[_0xb170('0x69')],_0x4be924[_0xb170('0x5e')]['start'],_0x4be924[_0xb170('0x5e')][_0xb170('0x20')]);}}}else{var _0x51c27e=_(_0x5b73f8[_0xb170('0x3d')])[_0xb170('0x3e')]()['map'](function(_0x2a750e){return _[_0xb170('0x71')](_0xdf68b3,['name',_0x2a750e])?_0x2a750e:undefined;})['compact']()['value']();if(!_[_0xb170('0x72')](_0x51c27e)){_0x51c27e['forEach'](function(_0x49dfbe){if(_0x49dfbe===_0xb170('0x73')){_0x16af22[_0xb170('0x45')](_0xb170('0x74'),[][_0xb170('0x75')](_0x5b73f8[_0xb170('0x3d')][_0x49dfbe]));}else if(_0x49dfbe==='createdAt'){var _0x105415=JSON[_0xb170('0x76')](_0x5b73f8[_0xb170('0x3d')][_0x49dfbe])['$gte'];var _0x407e48=JSON[_0xb170('0x76')](_0x5b73f8[_0xb170('0x3d')][_0x49dfbe])[_0xb170('0x77')];_0x16af22[_0xb170('0x45')](_0xb170('0x78'),_0x105415,_0x407e48);}else{if(_0x5b73f8[_0xb170('0x3d')][_0x49dfbe]===_0xb170('0x79')){_0x16af22['where']('i.'+_0x49dfbe+_0xb170('0x7a'));}else{_0x16af22[_0xb170('0x45')]('i.'+_0x49dfbe+_0xb170('0x7b'),_0x5b73f8[_0xb170('0x3d')][_0x49dfbe]);}}});}if(_0x5b73f8[_0xb170('0x3d')][_0xb170('0x7c')]){if(_0x5b73f8[_0xb170('0x3d')][_0xb170('0x7c')]==0x1){_0x16af22[_0xb170('0x5f')](_0xb170('0x7d'));}else{_0x16af22[_0xb170('0x5f')](_0xb170('0x7e'));}}if(_0x5b73f8[_0xb170('0x3d')]['tag']){_0x18cceb=_[_0xb170('0x7f')](_0x5b73f8[_0xb170('0x3d')][_0xb170('0x80')])?_0x5b73f8[_0xb170('0x3d')][_0xb170('0x80')]:new Array(_0x5b73f8[_0xb170('0x3d')][_0xb170('0x80')]);_0x18cceb['forEach'](function(_0x2f4e68){_0x56c501['or'](_0xb170('0x81'),'%,'+_0x2f4e68+',%');});}if(_0x5b73f8['query'][_0xb170('0x82')]){var _0xd8ad67=_0x5b73f8[_0xb170('0x3d')][_0xb170('0x82')][_0xb170('0x83')]('\x5c','\x5c\x5c')[_0xb170('0x83')](/'/g,'\x27\x27');if(qs[_0xb170('0x84')](_0xd8ad67)){_0x177f48['or'](_0xb170('0x85'),_0xd8ad67+'%')['or'](_0xb170('0x86'),_0xd8ad67+'%');}_0x177f48['or'](_0xb170('0x87'),_0xd8ad67+'%');}}_0x16af22[_0xb170('0x45')](_0x177f48);_0x16af22[_0xb170('0x88')](_0xb170('0x89'));var _0xe10f0f={'type':db[_0xb170('0x8a')][_0xb170('0x8b')]['SELECT'],'raw':!![]};var _0x30a96c=_0x16af22['clone']();_0x30a96c['field'](_0xb170('0x89'));_0x30a96c['field'](_0xb170('0x8c'),_0xb170('0x5d'));if(_0x15ae52['order']){_0x15ae52[_0xb170('0x8d')][_0xb170('0x34')](function(_0x558d08){var _0x309cba=_0x558d08[0x0]===_0xb170('0x8e')?_0x558d08[0x0]:'i.'+_0x558d08[0x0];_0x16af22[_0xb170('0x8d')](_0x309cba,_0x558d08[0x1]===_0xb170('0x8f')?![]:!![]);});}if(!_[_0xb170('0x72')](_0x18cceb)){_0x16af22[_0xb170('0x5f')](_0x56c501);_0x30a96c[_0xb170('0x45')](_0xb170('0x90'),_0x18cceb);}BPromise['resolve']()[_0xb170('0x2c')](function(){if(!_0x5392a5){if(_0x5b73f8[_0xb170('0x3d')]['FaxAccountId'])return;_0x30a96c[_0xb170('0x45')](_0xb170('0x91'));_0x16af22['where'](_0xb170('0x91'));return;}if(_0x5b73f8['user'][_0xb170('0x92')]!==_0xb170('0x93'))return;return _0x5b73f8[_0xb170('0x94')][_0xb170('0x95')]({'attributes':['id'],'raw':!![]})[_0xb170('0x2c')](function(_0x2cbf19){if(_[_0xb170('0x72')](_0x2cbf19)){_0x30a96c['where'](_0xb170('0x96'));_0x16af22[_0xb170('0x45')](_0xb170('0x96'));}else{_0x30a96c['where'](_0xb170('0x74'),_[_0xb170('0x30')](_0x2cbf19,'id'));_0x16af22[_0xb170('0x45')]('i.FaxAccountId\x20IN\x20?',_[_0xb170('0x30')](_0x2cbf19,'id'));}});})['then'](function(){if(_0x5b73f8[_0xb170('0x94')][_0xb170('0x92')]==='agent'&&!_0x5392a5&&!_0x5b73f8['query']['FaxAccountId'])return[];return db[_0xb170('0x97')][_0xb170('0x3d')](_0x30a96c[_0xb170('0x98')](),_0xe10f0f);})['then'](function(_0x522ccd){_0xdda00c[_0xb170('0x24')]=_0x522ccd['length'];if(_0xdda00c[_0xb170('0x24')]===0x0)return[];return db['sequelize'][_0xb170('0x3d')](_0x4ac4ae[_0xb170('0x98')](),_0xe10f0f)[_0xb170('0x2c')](function(_0x2d3c8f){_0x2fe066=_[_0xb170('0x99')](_0x2d3c8f,'id');_0xe10f0f=_[_0xb170('0x9a')](_0xe10f0f,{'model':db[_0xb170('0x37')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x5b73f8[_0xb170('0x3d')][_0xb170('0x41')]){_0x15ae52[_0xb170('0x40')][_0xb170('0x34')](function(_0x2ec1c6){_0x16af22[_0xb170('0x49')]('i.'+_0x2ec1c6);});}else{_0x16af22[_0xb170('0x49')](_0xb170('0x8c'),_0xb170('0x5d'));_0x16af22[_0xb170('0x49')](_0xb170('0x9b'),_0xb170('0x9c'));_0x16af22[_0xb170('0x49')](_0xb170('0x9d'),_0xb170('0x9e'));_0x16af22['field']('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',_0xb170('0x8e'));_0x16af22[_0xb170('0x49')](_0xb170('0x9f'));_0x16af22['field'](_0xb170('0xa0'),_0xb170('0xa1'));_0x16af22[_0xb170('0x49')](_0xb170('0xa2'),_0xb170('0xa3'));_0x16af22[_0xb170('0x49')]('c.email',_0xb170('0xa4'));_0x16af22[_0xb170('0x49')](_0xb170('0xa5'),_0xb170('0xa6'));_0x16af22[_0xb170('0x49')](_0xb170('0xa7'),_0xb170('0xa8'));_0x16af22[_0xb170('0x49')](_0xb170('0xa9'),'Contact.fax');_0x16af22['field'](_0xb170('0xaa'),'Owner.fullname');_0x16af22[_0xb170('0x49')](_0xb170('0xab'),'Owner.internal');_0x16af22[_0xb170('0x49')](_0xb170('0xac'),_0xb170('0x32'));}if(_0x15ae52[_0xb170('0x25')])_0x16af22[_0xb170('0x25')](_0x15ae52['limit']);if(_0x15ae52['offset'])_0x16af22['offset'](_0x15ae52[_0xb170('0x22')]);return db['sequelize']['query'](_0x16af22[_0xb170('0x98')](),_0xe10f0f);})['then'](function(_0xd6daf0){if(_0xd6daf0[_0xb170('0x42')]>0x0)_0x3a339e[_0xb170('0x45')](_0xb170('0xad'),_[_0xb170('0x30')](_0xd6daf0,'id'));return db[_0xb170('0x97')][_0xb170('0x3d')](_0x3a339e[_0xb170('0x98')](),_0xe10f0f)[_0xb170('0x2c')](function(_0x12b169){var _0x3f734a=_['groupBy'](_0x12b169,_0xb170('0xae'));var _0x514508=[];_0xd6daf0[_0xb170('0x34')](function(_0x241362){_0x514508[_0xb170('0xaf')](updateFaxInteraction(_0x241362,_0x2fe066,_0x3f734a));});return BPromise['all'](_0x514508);});});})['then'](function(_0x1579af){_0xdda00c[_0xb170('0xb0')]=_0x1579af;return _0xdda00c;})['then'](respondWithFilteredResult(_0x266dfc,_0x15ae52))[_0xb170('0x36')](handleError(_0x266dfc,null));};exports[_0xb170('0xb1')]=function(_0x2c0974,_0x18d849){var _0x44ebe0={'raw':![],'where':{'id':_0x2c0974['params']['id']}},_0x26485a={};_0x26485a[_0xb170('0x3b')]=_[_0xb170('0x3e')](db[_0xb170('0x37')][_0xb170('0x38')]);_0x26485a['query']=_['keys'](_0x2c0974[_0xb170('0x3d')]);_0x26485a[_0xb170('0x46')]=_[_0xb170('0x3f')](_0x26485a['model'],_0x26485a[_0xb170('0x3d')]);_0x44ebe0[_0xb170('0x40')]=_[_0xb170('0x3f')](_0x26485a['model'],qs[_0xb170('0x41')](_0x2c0974[_0xb170('0x3d')][_0xb170('0x41')]));_0x44ebe0[_0xb170('0x40')]=_0x44ebe0['attributes']['length']?_0x44ebe0['attributes']:_0x26485a[_0xb170('0x3b')];if(_0x2c0974[_0xb170('0x3d')][_0xb170('0xb2')]){_0x44ebe0[_0xb170('0xb3')]=[{'all':!![]}];}_0x44ebe0=_[_0xb170('0x9a')]({},_0x44ebe0,_0x2c0974['options']);return db[_0xb170('0x37')][_0xb170('0x6d')](_0x44ebe0)['then'](handleEntityNotFound(_0x18d849,null))[_0xb170('0x2c')](respondWithResult(_0x18d849,null))['catch'](handleError(_0x18d849,null));};exports[_0xb170('0xb4')]=function(_0x4c9f31,_0x367f3b){return db[_0xb170('0x37')]['create'](_0x4c9f31[_0xb170('0x70')],{})[_0xb170('0x2c')](respondWithResult(_0x367f3b,0xc9))[_0xb170('0x36')](handleError(_0x367f3b,null));};exports[_0xb170('0x2b')]=function(_0x427d2d,_0x54abed){if(_0x427d2d[_0xb170('0x70')]['id']){delete _0x427d2d[_0xb170('0x70')]['id'];}return db['FaxInteraction'][_0xb170('0x6d')]({'where':{'id':_0x427d2d['params']['id']}})[_0xb170('0x2c')](handleEntityNotFound(_0x54abed,null))[_0xb170('0x2c')](saveUpdates(_0x427d2d[_0xb170('0x70')],null))[_0xb170('0x2c')](respondWithResult(_0x54abed,null))['catch'](handleError(_0x54abed,null));};exports['destroy']=function(_0x1b8ba5,_0x50c81a){return db[_0xb170('0x37')][_0xb170('0x6d')]({'where':{'id':_0x1b8ba5['params']['id']}})['then'](handleEntityNotFound(_0x50c81a,null))['then'](removeEntity(_0x50c81a,null))['catch'](handleError(_0x50c81a,null));};exports[_0xb170('0xb5')]=function(_0xffe11d,_0x59a3db){return db[_0xb170('0x37')][_0xb170('0xb5')]()[_0xb170('0x2c')](respondWithResult(_0x59a3db,null))['catch'](handleError(_0x59a3db,null));};exports[_0xb170('0xb6')]=function(_0x1f2951,_0x267759,_0x3aa8e1){return db['FaxMessage'][_0xb170('0x6d')]({'where':{'id':_0x1f2951[_0xb170('0xb7')]['id']}})['then'](handleEntityNotFound(_0x267759,null))[_0xb170('0x2c')](function(_0x1ec2a6){if(_0x1ec2a6){return _0x1ec2a6[_0xb170('0xb6')](_0x1f2951['body'][_0xb170('0xb8')],_['omit'](_0x1f2951[_0xb170('0x70')],[_0xb170('0xb8'),'id'])||{});}})[_0xb170('0x2c')](respondWithResult(_0x267759,null))[_0xb170('0x36')](handleError(_0x267759,null));};exports[_0xb170('0xb9')]=function(_0x24bfa2,_0xa1db00,_0xb32b71){var _0x1a6ec5={'raw':![],'where':{}};var _0x321cd4={};var _0xeac706={'count':0x0,'rows':[]};return db[_0xb170('0x37')][_0xb170('0xba')]({'where':{'id':_0x24bfa2[_0xb170('0xb7')]['id']}})[_0xb170('0x2c')](handleEntityNotFound(_0xa1db00,null))[_0xb170('0x2c')](function(_0xc3be11){if(_0xc3be11){_0x321cd4[_0xb170('0x3b')]=_['keys'](db[_0xb170('0xbb')][_0xb170('0x38')]);_0x321cd4[_0xb170('0x3d')]=_[_0xb170('0x3e')](_0x24bfa2['query']);_0x321cd4[_0xb170('0x46')]=_[_0xb170('0x3f')](_0x321cd4[_0xb170('0x3b')],_0x321cd4[_0xb170('0x3d')]);_0x1a6ec5[_0xb170('0x40')]=_['intersection'](_0x321cd4[_0xb170('0x3b')],qs[_0xb170('0x41')](_0x24bfa2[_0xb170('0x3d')][_0xb170('0x41')]));_0x1a6ec5[_0xb170('0x40')]=_0x1a6ec5['attributes']['length']?_0x1a6ec5['attributes']:_0x321cd4[_0xb170('0x3b')];if(!_0x24bfa2[_0xb170('0x3d')][_0xb170('0x43')](_0xb170('0xbc'))){_0x1a6ec5['limit']=qs['limit'](_0x24bfa2[_0xb170('0x3d')]['limit']);_0x1a6ec5[_0xb170('0x22')]=qs[_0xb170('0x22')](_0x24bfa2[_0xb170('0x3d')]['offset']);}_0x1a6ec5['order']=qs[_0xb170('0x44')](_0x24bfa2[_0xb170('0x3d')][_0xb170('0x44')]);_0x1a6ec5[_0xb170('0x45')]=qs[_0xb170('0x46')](_[_0xb170('0x47')](_0x24bfa2[_0xb170('0x3d')],_0x321cd4[_0xb170('0x46')]));_0x1a6ec5[_0xb170('0x45')][_0xb170('0xae')]=_0xc3be11['id'];if(_0x24bfa2[_0xb170('0x3d')][_0xb170('0x82')]){_0x1a6ec5['where']=_[_0xb170('0x9a')](_0x1a6ec5[_0xb170('0x45')],{'$or':_[_0xb170('0x30')](_0x1a6ec5['attributes'],function(_0x165acf){var _0x2d7825={};_0x2d7825[_0x165acf]={'$like':'%'+_0x24bfa2[_0xb170('0x3d')][_0xb170('0x82')]+'%'};return _0x2d7825;})});}if(_0x24bfa2[_0xb170('0x3d')]['$gte']){var _0x4258ec=_0x24bfa2[_0xb170('0x3d')][_0xb170('0xbd')][_0xb170('0x33')](',');var _0x9e7ac8={};_0x9e7ac8[_0x4258ec[0x0]]={'$gte':moment(_0x4258ec[0x1])[_0xb170('0xbe')]('YYYY-MM-DD\x20HH:mm:ss')};_0x1a6ec5['where']=_[_0xb170('0x9a')](_0x1a6ec5[_0xb170('0x45')],_0x9e7ac8);}_0x1a6ec5=_['merge']({},_0x1a6ec5,_0x24bfa2['options']);return db[_0xb170('0xbb')]['count']({'where':_0x1a6ec5['where']})['then'](function(_0x2ab124){_0xeac706[_0xb170('0x24')]=_0x2ab124;if(_0x24bfa2[_0xb170('0x3d')]['includeAll']){_0x1a6ec5[_0xb170('0xb3')]=[{'all':!![]}];}return db[_0xb170('0xbb')][_0xb170('0xbf')](_0x1a6ec5);})['then'](function(_0x3ef9ac){_0xeac706[_0xb170('0xb0')]=_0x3ef9ac;return _0xeac706;});}})['then'](respondWithFilteredResult(_0xa1db00,_0x1a6ec5))[_0xb170('0x36')](handleError(_0xa1db00,null));};exports[_0xb170('0xc0')]=function(_0x4885d1,_0x13ec2a,_0x4bbaef){return db['FaxInteraction'][_0xb170('0x6d')]({'where':{'id':_0x4885d1[_0xb170('0xb7')]['id']}})[_0xb170('0x2c')](handleEntityNotFound(_0x13ec2a,null))['then'](function(_0x2f164d){if(_0x2f164d){return _0x2f164d[_0xb170('0xc1')](_0x4885d1[_0xb170('0x70')][_0xb170('0xb8')],_['omit'](_0x4885d1[_0xb170('0x70')],[_0xb170('0xb8'),'id'])||{})[_0xb170('0xc2')](function(){return db['Tag'][_0xb170('0xbf')]({'attributes':['id',_0xb170('0x3c'),_0xb170('0xc3')],'where':{'id':_0x4885d1['body'][_0xb170('0xb8')]}});})[_0xb170('0x2c')](function(_0x46a362){socket[_0xb170('0xc4')](_0xb170('0xc5'),{'id':Number(_0x4885d1['params']['id']),'tags':_0x46a362||[]});return{'id':Number(_0x4885d1['params']['id']),'tags':_0x46a362||[]};});}})['then'](respondWithResult(_0x13ec2a,null))['catch'](handleError(_0x13ec2a,null));};exports['removeTags']=function(_0x1defc6,_0xf7b199,_0x2f86cd){return db[_0xb170('0x37')]['find']({'where':{'id':_0x1defc6[_0xb170('0xb7')]['id']}})['then'](handleEntityNotFound(_0xf7b199,null))[_0xb170('0x2c')](function(_0x3b6656){if(_0x3b6656){return _0x3b6656[_0xb170('0xc6')](_0x1defc6['query'][_0xb170('0xb8')]);}})[_0xb170('0x2c')](respondWithStatusCode(_0xf7b199,null))[_0xb170('0x36')](handleError(_0xf7b199,null));};exports['download']=function(_0x3a9aa6,_0x48209d){var _0x37df2e=moment()['unix']()['toString']();var _0x800c25=path[_0xb170('0xc7')](config['root'],_0xb170('0xc8'),'files','tmp');var _0x144fef=path[_0xb170('0xc7')](config[_0xb170('0xc9')],_0xb170('0xc8'),_0xb170('0xca'),_0xb170('0xcb'));var _0x2d504b=path[_0xb170('0xc7')](_0x800c25,_0x37df2e);var _0x468444=util['format'](_0xb170('0xcc'),_0x3a9aa6[_0xb170('0xb7')]['id'],_0x37df2e);var _0x28cc0e=path['join'](_0x800c25,_0x468444);var _0x4b3894=[];_0x4b3894['push']({'model':db[_0xb170('0xcd')],'as':_0xb170('0xcd'),'raw':!![]});var _0x4aff79=[{'model':db[_0xb170('0xbb')],'as':_0xb170('0xce'),'attributes':['id',_0xb170('0x70'),'createdAt'],'include':_0x4b3894}];return db[_0xb170('0x37')][_0xb170('0x6d')]({'where':{'id':_0x3a9aa6[_0xb170('0xb7')]['id']},'include':_0x4aff79})[_0xb170('0x2c')](handleEntityNotFound(_0x48209d,null))[_0xb170('0x2c')](function(_0x48aaa0){if(_0x48aaa0&&_0x48aaa0['Messages']){var _0x423610=_0x48aaa0[_0xb170('0xcf')]({'plain':!![]});fs[_0xb170('0xd0')](_0x2d504b);for(var _0x12c236=0x0;_0x12c236<_0x423610['Messages'][_0xb170('0x42')];_0x12c236++){var _0x51e53b=_0x423610[_0xb170('0xce')][_0x12c236][_0xb170('0xcd')];if(_0x51e53b){var _0x16b7c1=path[_0xb170('0xc7')](_0x144fef,_0x51e53b[_0xb170('0xd1')]);if(fs['existsSync'](_0x16b7c1)){fs['createReadStream'](_0x16b7c1)['pipe'](fs[_0xb170('0xd2')](path[_0xb170('0xc7')](_0x2d504b,_0x51e53b['basename'])));}}}return BPromise[_0xb170('0xd3')]()[_0xb170('0x2c')](function(){return new BPromise(function(_0x53c0e2,_0x2833a2){zipdir(_0x2d504b,{'saveTo':_0x28cc0e},function(_0x19948e,_0x348e64){if(_0x19948e)return _0x2833a2(_0x19948e);return _0x53c0e2(_0x348e64);});})[_0xb170('0x2c')](function(){return new BPromise(function(_0x39588b,_0x2fc117){rimraf(_0x2d504b,function(_0x37bc2f){if(_0x37bc2f)_0x2fc117(_0x37bc2f);return _0x39588b();});});})[_0xb170('0x2c')](function(){return _0x48209d['download'](_0x28cc0e,_0x468444,function(_0x1f9e71){if(_0x1f9e71){console[_0xb170('0xd4')](_0xb170('0xd5'),_0x1f9e71);}else{fs[_0xb170('0xd6')](_0x28cc0e);}});});});}else{return _0x48209d[_0xb170('0x2d')](0xc8);}})[_0xb170('0x36')](handleError(_0x48209d,null));};