22b07413a97e402e222e7aca7f8a487b7fd34d96
[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 _0x230b=['Contact','operator','$substring','value','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?','find','ContactId','buildExpression','Tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','text','start','body','compact','isEmpty','FaxAccountId','i.FaxAccountId\x20IN\x20?','concat','createdAt','parse','$gte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','tag','filter','replace','i.id\x20LIKE\x20?','i.fax\x20LIKE\x20?','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','i.id','SELECT','clone','contactName','DESC','t.id\x20IN\x20?','resolve','i.FaxAccountId\x20IS\x20NOT\x20NULL','user','role','agent','getFaxAccounts','i.FaxAccountId\x20IS\x20NULL','toString','merge','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','Account.key','a.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','i.*','c.firstName','Contact.firstName','c.lastName','Contact.lastName','Contact.email','c.phone','Contact.phone','c.mobile','c.fax','o.fullname','Owner.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','sequelize','ui.FaxInteractionId\x20IN\x20?','groupBy','FaxInteractionId','push','all','rows','catch','params','keys','includeAll','options','create','describe','addMessage','ids','omit','getMessages','FaxMessage','YYYY-MM-DD\x20HH:mm:ss','include','findAll','addTags','setTags','spread','emit','removeTags','unix','root','server','files','tmp','join','attachments','transcript-%d-%s.zip','Attachment','Messages','get','mkdirSync','basename','existsSync','createWriteStream','download','err','unlinkSync','eml-format','rimraf','zip-dir','request-promise','moment','path','sox','to-csv','fs-extra','lodash','squel','crypto','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./faxInteraction.socket','register','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','save','update','then','destroy','error','stack','name','send','Users','map','fullname','TagIds','Tags','forEach','waiting','talking','answered','unmanaged','total','closed','UserId','index','FaxInteraction','rawAttributes','fieldName','type','key','model','query','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','filters','pick','select','field','color','from','tools_tags','u.id','u.fullname','ui.FaxInteractionId','left_join','users','u.id\x20=\x20ui.UserId','fax_interactions','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','o.id\x20=\x20i.UserId','a.id\x20=\x20i.FaxAccountId','fax_messages','me.FaxInteractionId\x20=\x20i.id','fax_interaction_has_tags','it.FaxInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','parseSearch','sqlOperator','conditions','length','unreadMessages','having','`\x20=\x200','`\x20>\x200'];(function(_0x59e092,_0x5a88d0){var _0x3d30b7=function(_0x4acace){while(--_0x4acace){_0x59e092['push'](_0x59e092['shift']());}};_0x3d30b7(++_0x5a88d0);}(_0x230b,0x75));var _0xb230=function(_0x4759bc,_0x365b27){_0x4759bc=_0x4759bc-0x0;var _0x1511cc=_0x230b[_0x4759bc];return _0x1511cc;};'use strict';var emlformat=require(_0xb230('0x0'));var rimraf=require(_0xb230('0x1'));var zipdir=require(_0xb230('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xb230('0x3'));var moment=require(_0xb230('0x4'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require('util');var path=require(_0xb230('0x5'));var sox=require(_0xb230('0x6'));var csv=require(_0xb230('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xb230('0x8'));var _=require(_0xb230('0x9'));var squel=require(_0xb230('0xa'));var crypto=require(_0xb230('0xb'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0xb230('0x7'));var querystring=require('querystring');var Papa=require(_0xb230('0xc'));var Redis=require(_0xb230('0xd'));var authService=require('../../components/auth/service');var qs=require(_0xb230('0xe'));var as=require(_0xb230('0xf'));var hardwareService=require(_0xb230('0x10'));var logger=require('../../config/logger')(_0xb230('0x11'));var utils=require('../../config/utils');var config=require(_0xb230('0x12'));var licenseUtil=require(_0xb230('0x13'));var db=require(_0xb230('0x14'))['db'];config[_0xb230('0x15')]=_[_0xb230('0x16')](config['redis'],{'host':_0xb230('0x17'),'port':0x18eb});var socket=require(_0xb230('0x18'))(new Redis(config[_0xb230('0x15')]));require(_0xb230('0x19'))[_0xb230('0x1a')](socket);function respondWithStatusCode(_0x529dc0,_0x3a0537){_0x3a0537=_0x3a0537||0xcc;return function(_0x2a9c14){if(_0x2a9c14){return _0x529dc0[_0xb230('0x1b')](_0x3a0537);}return _0x529dc0[_0xb230('0x1c')](_0x3a0537)[_0xb230('0x1d')]();};}function respondWithResult(_0x134dbf,_0x35de3b){_0x35de3b=_0x35de3b||0xc8;return function(_0x34867a){if(_0x34867a){return _0x134dbf[_0xb230('0x1c')](_0x35de3b)[_0xb230('0x1e')](_0x34867a);}};}function respondWithFilteredResult(_0x560dd6,_0x42f1b0){return function(_0x30b049){if(_0x30b049){var _0x92880a=typeof _0x42f1b0[_0xb230('0x1f')]===_0xb230('0x20')&&typeof _0x42f1b0[_0xb230('0x21')]===_0xb230('0x20');var _0x8ad9d4=_0x30b049[_0xb230('0x22')];var _0x3f9804=_0x92880a?0x0:_0x42f1b0['offset'];var _0x151d6b=_0x92880a?_0x30b049[_0xb230('0x22')]:_0x42f1b0[_0xb230('0x1f')]+_0x42f1b0[_0xb230('0x21')];var _0x394ddd;if(_0x151d6b>=_0x8ad9d4){_0x151d6b=_0x8ad9d4;_0x394ddd=0xc8;}else{_0x394ddd=0xce;}_0x560dd6[_0xb230('0x1c')](_0x394ddd);return _0x560dd6[_0xb230('0x23')](_0xb230('0x24'),_0x3f9804+'-'+_0x151d6b+'/'+_0x8ad9d4)['json'](_0x30b049);}return null;};}function patchUpdates(_0x1ebeac){return function(_0x4cd9de){try{jsonpatch['apply'](_0x4cd9de,_0x1ebeac,!![]);}catch(_0x48525e){return BPromise['reject'](_0x48525e);}return _0x4cd9de[_0xb230('0x25')]();};}function saveUpdates(_0x16b9d3,_0x44a153){return function(_0x5a4be6){if(_0x5a4be6){return _0x5a4be6[_0xb230('0x26')](_0x16b9d3)[_0xb230('0x27')](function(_0x28d783){return _0x28d783;});}return null;};}function removeEntity(_0x274558,_0x46747a){return function(_0x4d559b){if(_0x4d559b){return _0x4d559b[_0xb230('0x28')]()['then'](function(){_0x274558[_0xb230('0x1c')](0xcc)[_0xb230('0x1d')]();});}};}function handleEntityNotFound(_0x2cb9e7,_0x59b15f){return function(_0x3fea26){if(!_0x3fea26){_0x2cb9e7[_0xb230('0x1b')](0x194);}return _0x3fea26;};}function handleError(_0x49b1fc,_0x32ebcd){_0x32ebcd=_0x32ebcd||0x1f4;return function(_0x39aa8f){logger[_0xb230('0x29')](_0x39aa8f[_0xb230('0x2a')]);if(_0x39aa8f[_0xb230('0x2b')]){delete _0x39aa8f[_0xb230('0x2b')];}_0x49b1fc[_0xb230('0x1c')](_0x32ebcd)[_0xb230('0x2c')](_0x39aa8f);};}function getInteractionUsers(_0x257c5a,_0x3343ce){return new BPromise(function(_0x12521e,_0x339266){try{if(_0x3343ce[_0x257c5a['id']]){_0x257c5a[_0xb230('0x2d')]=_[_0xb230('0x2e')](_0x3343ce[_0x257c5a['id']],function(_0x5d43a3){return{'id':_0x5d43a3['id'],'fullname':_0x5d43a3[_0xb230('0x2f')]};});}}catch(_0x45422e){_0x339266(_0x45422e);}_0x12521e(_0x257c5a);});}function getInteractionTags(_0xfe69eb,_0x71f649){return new BPromise(function(_0x1f7549,_0x55df13){try{if(_0xfe69eb[_0xb230('0x30')]){_0xfe69eb[_0xb230('0x31')]=[];_0xfe69eb['TagIds']['split'](',')[_0xb230('0x32')](function(_0x4f848e){_0xfe69eb[_0xb230('0x31')]['push'](_0x71f649[_0x4f848e]);});}delete _0xfe69eb['TagIds'];}catch(_0x4a4134){_0x55df13(_0x4a4134);}_0x1f7549(_0xfe69eb);});}function updateFaxInteraction(_0x558e79,_0x401ff1,_0x38d90e){return new BPromise(function(_0x1a2ef7,_0xde2de8){return getInteractionUsers(_0x558e79,_0x38d90e)[_0xb230('0x27')](function(_0x4a7996){return getInteractionTags(_0x4a7996,_0x401ff1);})[_0xb230('0x27')](function(_0x4c6c3b){return getStateInteraction(_0x4c6c3b);})['then'](function(_0x46cefd){_0x1a2ef7(_0x46cefd);})['catch'](function(_0x92dc8d){_0xde2de8(_0x92dc8d);});});}function getStateInteraction(_0x470259){return new BPromise(function(_0x3e0416){_0x470259[_0xb230('0x33')]=0x0;_0x470259[_0xb230('0x34')]=0x0;_0x470259[_0xb230('0x35')]=0x0;_0x470259[_0xb230('0x36')]=0x0;_0x470259[_0xb230('0x37')]=0x0;if(!_0x470259[_0xb230('0x38')]&&!_0x470259['UserId']){_0x470259['waiting']+=0x1;}if(!_0x470259[_0xb230('0x38')]&&_0x470259[_0xb230('0x39')]){_0x470259[_0xb230('0x34')]+=0x1;if(_0x470259['waiting']){_0x470259['waiting']-=0x1;}}if(_0x470259['closed']&&_0x470259['UserId']){_0x470259[_0xb230('0x35')]+=0x1;if(_0x470259['talking']){_0x470259[_0xb230('0x34')]-=0x1;}}if(_0x470259[_0xb230('0x38')]&&!_0x470259['UserId']){_0x470259[_0xb230('0x36')]+=0x1;if(_0x470259['waiting']){_0x470259[_0xb230('0x33')]-=0x1;}}_0x470259[_0xb230('0x37')]+=0x1;_0x3e0416(_0x470259);});}exports[_0xb230('0x3a')]=function(_0x50c797,_0xec60ed){var _0xcd36f2={},_0x143ae0={},_0x2f3e5d={'count':0x0,'rows':[]};var _0x5457da=_[_0xb230('0x2e')](db[_0xb230('0x3b')][_0xb230('0x3c')],function(_0x5eaec4){return{'name':_0x5eaec4[_0xb230('0x3d')],'type':_0x5eaec4[_0xb230('0x3e')][_0xb230('0x3f')]};});_0x143ae0[_0xb230('0x40')]=_[_0xb230('0x2e')](_0x5457da,_0xb230('0x2b'));_0x143ae0[_0xb230('0x41')]=_['keys'](_0x50c797[_0xb230('0x41')]);_0x143ae0['filters']=_[_0xb230('0x42')](_0x143ae0[_0xb230('0x40')],_0x143ae0[_0xb230('0x41')]);_0xcd36f2[_0xb230('0x43')]=_['intersection'](_0x143ae0[_0xb230('0x40')],qs[_0xb230('0x44')](_0x50c797[_0xb230('0x41')][_0xb230('0x44')]));_0xcd36f2[_0xb230('0x43')]=_0xcd36f2[_0xb230('0x43')]['length']?_0xcd36f2[_0xb230('0x43')]:_0x143ae0[_0xb230('0x40')];if(!_0x50c797[_0xb230('0x41')][_0xb230('0x45')](_0xb230('0x46'))){_0xcd36f2[_0xb230('0x21')]=qs[_0xb230('0x21')](_0x50c797[_0xb230('0x41')][_0xb230('0x21')]);_0xcd36f2[_0xb230('0x1f')]=qs[_0xb230('0x1f')](_0x50c797[_0xb230('0x41')][_0xb230('0x1f')]);}_0xcd36f2[_0xb230('0x47')]=qs[_0xb230('0x48')](_0x50c797[_0xb230('0x41')][_0xb230('0x48')]);_0xcd36f2[_0xb230('0x49')]=qs[_0xb230('0x4a')](_[_0xb230('0x4b')](_0x50c797[_0xb230('0x41')],_0x143ae0[_0xb230('0x4a')]),_0x5457da);var _0x40a661=[];var _0x44d986=squel[_0xb230('0x4c')]()[_0xb230('0x4d')]('id')[_0xb230('0x4d')](_0xb230('0x2b'))[_0xb230('0x4d')](_0xb230('0x4e'))[_0xb230('0x4f')](_0xb230('0x50'));var _0x2e573f=squel[_0xb230('0x4c')]()['field'](_0xb230('0x51'))['field'](_0xb230('0x52'))[_0xb230('0x4d')](_0xb230('0x53'))[_0xb230('0x4f')]('user_has_fax_interactions','ui')[_0xb230('0x54')](_0xb230('0x55'),'u',_0xb230('0x56'));var _0x1713b5=squel['select']()[_0xb230('0x4f')](_0xb230('0x57'),'i')[_0xb230('0x54')]('cm_contacts','c',_0xb230('0x58'))['left_join'](_0xb230('0x55'),'o',_0xb230('0x59'))[_0xb230('0x54')]('fax_accounts','a',_0xb230('0x5a'))[_0xb230('0x54')](_0xb230('0x5b'),'me',_0xb230('0x5c'))['left_join'](_0xb230('0x5d'),'it',_0xb230('0x5e'))[_0xb230('0x54')](_0xb230('0x50'),'t',_0xb230('0x5f'));var _0x3fe3e0=squel[_0xb230('0x60')]();var _0xcfc22a=[];var _0x963765=squel[_0xb230('0x60')]();var _0x53343c;if(_0x50c797[_0xb230('0x41')]['search']){_0x53343c=as[_0xb230('0x61')](_0x50c797['query']['search']);var _0x7ae8ee=_0x53343c[_0xb230('0x62')];for(var _0x2d2be4=0x0;_0x2d2be4<_0x53343c[_0xb230('0x63')][_0xb230('0x64')];_0x2d2be4++){var _0x3d0ecf=_0x53343c[_0xb230('0x63')][_0x2d2be4];var _0xb1827f='i';var _0x4f18f5=_['find'](_0x5457da,[_0xb230('0x2b'),_0x3d0ecf[_0xb230('0x4d')]]);if(!_0x4f18f5){switch(_0x3d0ecf[_0xb230('0x4d')]){case _0xb230('0x65'):if(_0x3d0ecf['value']==0x1){_0x1713b5[_0xb230('0x66')]('`'+_0x3d0ecf['field']+_0xb230('0x67'));}else{_0x1713b5[_0xb230('0x66')]('`'+_0x3d0ecf[_0xb230('0x4d')]+_0xb230('0x68'));}break;case _0xb230('0x69'):if(_0x3d0ecf[_0xb230('0x6a')]===_0xb230('0x6b')){if(_0x3d0ecf[_0xb230('0x6c')]['split']('\x20')[_0xb230('0x64')]>0x1){_0x3fe3e0[_0x7ae8ee](_0xb230('0x6d'),qs[_0xb230('0x6e')](_0x3d0ecf['value']),null);}else{var _0x19e78b='%'+_0x3d0ecf[_0xb230('0x6c')]+'%';_0x3fe3e0[_0x7ae8ee](_0xb230('0x6f'),_0x19e78b,_0x19e78b,_0x19e78b);}}else{_0x4f18f5=_[_0xb230('0x70')](_0x5457da,[_0xb230('0x2b'),_0xb230('0x71')]);_0x3d0ecf[_0xb230('0x4d')]=_0xb230('0x71');_0x232b4e=as[_0xb230('0x72')](_0xb1827f,_0x4f18f5[_0xb230('0x3e')],_0x3d0ecf);_0x3fe3e0[_0x7ae8ee](_0x232b4e['text'],_0x232b4e[_0xb230('0x6c')]['start'],_0x232b4e[_0xb230('0x6c')][_0xb230('0x1d')]);}break;case _0xb230('0x73'):var _0x704fa0=_0x3d0ecf[_0xb230('0x6c')]['split'](',')['map'](function(_0xeceef6){return Number(_0xeceef6);});_0x704fa0[_0xb230('0x32')](function(_0x568348){_0x963765['or'](_0xb230('0x74'),'%,'+_0x568348+',%');});_0xcfc22a=_[_0xb230('0x75')](_0xcfc22a,_0x704fa0);break;case _0xb230('0x76'):if(_0x3d0ecf[_0xb230('0x6a')]===_0xb230('0x6b')){_0x3fe3e0[_0x7ae8ee](_0xb230('0x77'),'%'+_0x3d0ecf[_0xb230('0x6c')]+'%',null);}else{_0x4f18f5=_[_0xb230('0x70')](_0x5457da,[_0xb230('0x2b'),_0xb230('0x39')]);_0x3d0ecf['field']='UserId';_0x232b4e=as[_0xb230('0x72')](_0xb1827f,_0x4f18f5['type'],_0x3d0ecf);_0x3fe3e0[_0x7ae8ee](_0x232b4e[_0xb230('0x78')],_0x232b4e['value'][_0xb230('0x79')],_0x232b4e['value'][_0xb230('0x1d')]);}break;case _0xb230('0x7a'):_0x232b4e=as['buildExpression']('me',null,_0x3d0ecf);_0x3fe3e0[_0x7ae8ee](_0x232b4e[_0xb230('0x78')],_0x232b4e['value'][_0xb230('0x79')],_0x232b4e[_0xb230('0x6c')][_0xb230('0x1d')]);break;}}else{var _0x232b4e=as[_0xb230('0x72')](_0xb1827f,_0x4f18f5[_0xb230('0x3e')],_0x3d0ecf);_0x3fe3e0[_0x7ae8ee](_0x232b4e['text'],_0x232b4e[_0xb230('0x6c')]['start'],_0x232b4e[_0xb230('0x6c')][_0xb230('0x1d')]);}}}else{var _0x93736d=_(_0x50c797['query'])['keys']()['map'](function(_0x2bb90e){return _['some'](_0x5457da,[_0xb230('0x2b'),_0x2bb90e])?_0x2bb90e:undefined;})[_0xb230('0x7b')]()[_0xb230('0x6c')]();if(!_[_0xb230('0x7c')](_0x93736d)){_0x93736d[_0xb230('0x32')](function(_0x64e37c){if(_0x64e37c===_0xb230('0x7d')){_0x1713b5[_0xb230('0x49')](_0xb230('0x7e'),[][_0xb230('0x7f')](_0x50c797['query'][_0x64e37c]));}else if(_0x64e37c===_0xb230('0x80')){var _0x31ace6=JSON[_0xb230('0x81')](_0x50c797[_0xb230('0x41')][_0x64e37c])[_0xb230('0x82')];var _0x408e10=JSON[_0xb230('0x81')](_0x50c797[_0xb230('0x41')][_0x64e37c])['$lte'];_0x1713b5[_0xb230('0x49')](_0xb230('0x83'),_0x31ace6,_0x408e10);}else{if(_0x50c797[_0xb230('0x41')][_0x64e37c]===_0xb230('0x84')){_0x1713b5['where']('i.'+_0x64e37c+_0xb230('0x85'));}else{_0x1713b5['where']('i.'+_0x64e37c+_0xb230('0x86'),_0x50c797['query'][_0x64e37c]);}}});}if(_0x50c797[_0xb230('0x41')]['read']){if(_0x50c797[_0xb230('0x41')][_0xb230('0x87')]==0x1){_0x1713b5[_0xb230('0x66')](_0xb230('0x88'));}else{_0x1713b5[_0xb230('0x66')]('`unreadMessages`\x20>\x200');}}if(_0x50c797['query'][_0xb230('0x89')]){_0xcfc22a=_['isArray'](_0x50c797['query']['tag'])?_0x50c797[_0xb230('0x41')][_0xb230('0x89')]:new Array(_0x50c797['query'][_0xb230('0x89')]);_0xcfc22a[_0xb230('0x32')](function(_0x35adbb){_0x963765['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x35adbb+',%');});}if(_0x50c797['query'][_0xb230('0x8a')]){var _0x1561b1=_0x50c797[_0xb230('0x41')][_0xb230('0x8a')]['replace']('\x5c','\x5c\x5c')[_0xb230('0x8b')](/'/g,'\x27\x27');if(qs['isNumeric'](_0x1561b1)){_0x3fe3e0['or'](_0xb230('0x8c'),_0x1561b1+'%')['or'](_0xb230('0x8d'),_0x1561b1+'%');}_0x3fe3e0['or'](_0xb230('0x8e'),_0x1561b1+'%');}}_0x1713b5[_0xb230('0x49')](_0x3fe3e0);_0x1713b5['group'](_0xb230('0x8f'));var _0x16feff={'type':db['Sequelize']['QueryTypes'][_0xb230('0x90')],'raw':!![]};var _0x27f72c=_0x1713b5[_0xb230('0x91')]();_0x27f72c[_0xb230('0x4d')](_0xb230('0x8f'));_0x27f72c[_0xb230('0x4d')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','unreadMessages');if(_0xcd36f2[_0xb230('0x47')]){_0xcd36f2['order'][_0xb230('0x32')](function(_0x2823ad){var _0x40f5e7=_0x2823ad[0x0]===_0xb230('0x92')?_0x2823ad[0x0]:'i.'+_0x2823ad[0x0];_0x1713b5[_0xb230('0x47')](_0x40f5e7,_0x2823ad[0x1]===_0xb230('0x93')?![]:!![]);});}if(!_['isEmpty'](_0xcfc22a)){_0x1713b5[_0xb230('0x66')](_0x963765);_0x27f72c[_0xb230('0x49')](_0xb230('0x94'),_0xcfc22a);}BPromise[_0xb230('0x95')]()[_0xb230('0x27')](function(){if(!_0x53343c){if(_0x50c797['query']['FaxAccountId'])return;_0x27f72c['where'](_0xb230('0x96'));_0x1713b5[_0xb230('0x49')](_0xb230('0x96'));return;}if(_0x50c797[_0xb230('0x97')][_0xb230('0x98')]!==_0xb230('0x99'))return;return _0x50c797[_0xb230('0x97')][_0xb230('0x9a')]({'attributes':['id'],'raw':!![]})['then'](function(_0x5686d5){if(_[_0xb230('0x7c')](_0x5686d5)){_0x27f72c[_0xb230('0x49')](_0xb230('0x9b'));_0x1713b5[_0xb230('0x49')](_0xb230('0x9b'));}else{_0x27f72c[_0xb230('0x49')](_0xb230('0x7e'),_[_0xb230('0x2e')](_0x5686d5,'id'));_0x1713b5[_0xb230('0x49')]('i.FaxAccountId\x20IN\x20?',_[_0xb230('0x2e')](_0x5686d5,'id'));}});})[_0xb230('0x27')](function(){if(_0x50c797[_0xb230('0x97')][_0xb230('0x98')]===_0xb230('0x99')&&!_0x53343c&&!_0x50c797[_0xb230('0x41')][_0xb230('0x7d')])return[];return db['sequelize']['query'](_0x27f72c[_0xb230('0x9c')](),_0x16feff);})[_0xb230('0x27')](function(_0x70497c){_0x2f3e5d[_0xb230('0x22')]=_0x70497c['length'];if(_0x2f3e5d['count']===0x0)return[];return db['sequelize']['query'](_0x44d986[_0xb230('0x9c')](),_0x16feff)[_0xb230('0x27')](function(_0x56897c){_0x40a661=_['keyBy'](_0x56897c,'id');_0x16feff=_[_0xb230('0x9d')](_0x16feff,{'model':db[_0xb230('0x3b')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x50c797[_0xb230('0x41')][_0xb230('0x44')]){_0xcd36f2['attributes'][_0xb230('0x32')](function(_0xc03aa6){_0x1713b5['field']('i.'+_0xc03aa6);});}else{_0x1713b5['field'](_0xb230('0x9e'),_0xb230('0x65'));_0x1713b5[_0xb230('0x4d')]('a.key',_0xb230('0x9f'));_0x1713b5['field'](_0xb230('0xa0'),'Account.mandatoryDisposition');_0x1713b5[_0xb230('0x4d')](_0xb230('0xa1'),_0xb230('0x92'));_0x1713b5[_0xb230('0x4d')](_0xb230('0xa2'));_0x1713b5[_0xb230('0x4d')](_0xb230('0xa3'),_0xb230('0xa4'));_0x1713b5[_0xb230('0x4d')](_0xb230('0xa5'),_0xb230('0xa6'));_0x1713b5['field']('c.email',_0xb230('0xa7'));_0x1713b5[_0xb230('0x4d')](_0xb230('0xa8'),_0xb230('0xa9'));_0x1713b5[_0xb230('0x4d')](_0xb230('0xaa'),'Contact.mobile');_0x1713b5[_0xb230('0x4d')](_0xb230('0xab'),'Contact.fax');_0x1713b5[_0xb230('0x4d')](_0xb230('0xac'),_0xb230('0xad'));_0x1713b5[_0xb230('0x4d')](_0xb230('0xae'),_0xb230('0xaf'));_0x1713b5[_0xb230('0x4d')](_0xb230('0xb0'),_0xb230('0x30'));}if(_0xcd36f2[_0xb230('0x21')])_0x1713b5[_0xb230('0x21')](_0xcd36f2[_0xb230('0x21')]);if(_0xcd36f2[_0xb230('0x1f')])_0x1713b5['offset'](_0xcd36f2[_0xb230('0x1f')]);return db[_0xb230('0xb1')][_0xb230('0x41')](_0x1713b5[_0xb230('0x9c')](),_0x16feff);})[_0xb230('0x27')](function(_0x5acb35){if(_0x5acb35['length']>0x0)_0x2e573f['where'](_0xb230('0xb2'),_[_0xb230('0x2e')](_0x5acb35,'id'));return db[_0xb230('0xb1')][_0xb230('0x41')](_0x2e573f[_0xb230('0x9c')](),_0x16feff)[_0xb230('0x27')](function(_0x3b70f5){var _0x231eb8=_[_0xb230('0xb3')](_0x3b70f5,_0xb230('0xb4'));var _0x5b9b84=[];_0x5acb35[_0xb230('0x32')](function(_0x3e3fc1){_0x5b9b84[_0xb230('0xb5')](updateFaxInteraction(_0x3e3fc1,_0x40a661,_0x231eb8));});return BPromise[_0xb230('0xb6')](_0x5b9b84);});});})[_0xb230('0x27')](function(_0x519a40){_0x2f3e5d[_0xb230('0xb7')]=_0x519a40;return _0x2f3e5d;})[_0xb230('0x27')](respondWithFilteredResult(_0xec60ed,_0xcd36f2))[_0xb230('0xb8')](handleError(_0xec60ed,null));};exports['show']=function(_0x16858f,_0x1ef3e9){var _0x1a68c5={'raw':![],'where':{'id':_0x16858f[_0xb230('0xb9')]['id']}},_0x454d82={};_0x454d82[_0xb230('0x40')]=_[_0xb230('0xba')](db[_0xb230('0x3b')][_0xb230('0x3c')]);_0x454d82['query']=_[_0xb230('0xba')](_0x16858f[_0xb230('0x41')]);_0x454d82[_0xb230('0x4a')]=_[_0xb230('0x42')](_0x454d82[_0xb230('0x40')],_0x454d82['query']);_0x1a68c5[_0xb230('0x43')]=_[_0xb230('0x42')](_0x454d82['model'],qs['fields'](_0x16858f['query'][_0xb230('0x44')]));_0x1a68c5[_0xb230('0x43')]=_0x1a68c5[_0xb230('0x43')][_0xb230('0x64')]?_0x1a68c5[_0xb230('0x43')]:_0x454d82[_0xb230('0x40')];if(_0x16858f[_0xb230('0x41')][_0xb230('0xbb')]){_0x1a68c5['include']=[{'all':!![]}];}_0x1a68c5=_[_0xb230('0x9d')]({},_0x1a68c5,_0x16858f[_0xb230('0xbc')]);return db[_0xb230('0x3b')]['find'](_0x1a68c5)[_0xb230('0x27')](handleEntityNotFound(_0x1ef3e9,null))['then'](respondWithResult(_0x1ef3e9,null))[_0xb230('0xb8')](handleError(_0x1ef3e9,null));};exports['create']=function(_0x15c5d1,_0x33e1f8){return db['FaxInteraction'][_0xb230('0xbd')](_0x15c5d1['body'],{})['then'](respondWithResult(_0x33e1f8,0xc9))['catch'](handleError(_0x33e1f8,null));};exports[_0xb230('0x26')]=function(_0x1d86a8,_0xa055b8){if(_0x1d86a8[_0xb230('0x7a')]['id']){delete _0x1d86a8[_0xb230('0x7a')]['id'];}return db[_0xb230('0x3b')][_0xb230('0x70')]({'where':{'id':_0x1d86a8['params']['id']}})[_0xb230('0x27')](handleEntityNotFound(_0xa055b8,null))[_0xb230('0x27')](saveUpdates(_0x1d86a8[_0xb230('0x7a')],null))[_0xb230('0x27')](respondWithResult(_0xa055b8,null))[_0xb230('0xb8')](handleError(_0xa055b8,null));};exports[_0xb230('0x28')]=function(_0x1ef0a0,_0x12d94a){return db[_0xb230('0x3b')][_0xb230('0x70')]({'where':{'id':_0x1ef0a0['params']['id']}})[_0xb230('0x27')](handleEntityNotFound(_0x12d94a,null))[_0xb230('0x27')](removeEntity(_0x12d94a,null))[_0xb230('0xb8')](handleError(_0x12d94a,null));};exports[_0xb230('0xbe')]=function(_0x3bc949,_0x58a701){return db['FaxInteraction']['describe']()[_0xb230('0x27')](respondWithResult(_0x58a701,null))['catch'](handleError(_0x58a701,null));};exports[_0xb230('0xbf')]=function(_0xdb906,_0x4969f5,_0x59921a){return db['FaxMessage'][_0xb230('0x70')]({'where':{'id':_0xdb906[_0xb230('0xb9')]['id']}})[_0xb230('0x27')](handleEntityNotFound(_0x4969f5,null))[_0xb230('0x27')](function(_0x53ac68){if(_0x53ac68){return _0x53ac68[_0xb230('0xbf')](_0xdb906[_0xb230('0x7a')][_0xb230('0xc0')],_[_0xb230('0xc1')](_0xdb906['body'],[_0xb230('0xc0'),'id'])||{});}})['then'](respondWithResult(_0x4969f5,null))[_0xb230('0xb8')](handleError(_0x4969f5,null));};exports[_0xb230('0xc2')]=function(_0xfd3d96,_0x19e679,_0x3a6437){var _0x5c9cce={'raw':![],'where':{}};var _0x16d746={};var _0x2669de={'count':0x0,'rows':[]};return db['FaxInteraction']['findOne']({'where':{'id':_0xfd3d96[_0xb230('0xb9')]['id']}})[_0xb230('0x27')](handleEntityNotFound(_0x19e679,null))[_0xb230('0x27')](function(_0x185e22){if(_0x185e22){_0x16d746[_0xb230('0x40')]=_['keys'](db[_0xb230('0xc3')]['rawAttributes']);_0x16d746[_0xb230('0x41')]=_[_0xb230('0xba')](_0xfd3d96['query']);_0x16d746[_0xb230('0x4a')]=_[_0xb230('0x42')](_0x16d746[_0xb230('0x40')],_0x16d746[_0xb230('0x41')]);_0x5c9cce['attributes']=_['intersection'](_0x16d746[_0xb230('0x40')],qs[_0xb230('0x44')](_0xfd3d96[_0xb230('0x41')][_0xb230('0x44')]));_0x5c9cce[_0xb230('0x43')]=_0x5c9cce[_0xb230('0x43')]['length']?_0x5c9cce[_0xb230('0x43')]:_0x16d746[_0xb230('0x40')];if(!_0xfd3d96[_0xb230('0x41')][_0xb230('0x45')]('nolimit')){_0x5c9cce[_0xb230('0x21')]=qs['limit'](_0xfd3d96['query'][_0xb230('0x21')]);_0x5c9cce[_0xb230('0x1f')]=qs[_0xb230('0x1f')](_0xfd3d96[_0xb230('0x41')]['offset']);}_0x5c9cce['order']=qs[_0xb230('0x48')](_0xfd3d96[_0xb230('0x41')]['sort']);_0x5c9cce[_0xb230('0x49')]=qs['filters'](_['pick'](_0xfd3d96[_0xb230('0x41')],_0x16d746[_0xb230('0x4a')]));_0x5c9cce['where'][_0xb230('0xb4')]=_0x185e22['id'];if(_0xfd3d96['query'][_0xb230('0x8a')]){_0x5c9cce['where']=_[_0xb230('0x9d')](_0x5c9cce[_0xb230('0x49')],{'$or':_[_0xb230('0x2e')](_0x5c9cce[_0xb230('0x43')],function(_0x20a183){var _0xaccf0={};_0xaccf0[_0x20a183]={'$like':'%'+_0xfd3d96[_0xb230('0x41')][_0xb230('0x8a')]+'%'};return _0xaccf0;})});}if(_0xfd3d96[_0xb230('0x41')][_0xb230('0x82')]){var _0x49a5ca=_0xfd3d96[_0xb230('0x41')][_0xb230('0x82')]['split'](',');var _0x3bd305={};_0x3bd305[_0x49a5ca[0x0]]={'$gte':moment(_0x49a5ca[0x1])['format'](_0xb230('0xc4'))};_0x5c9cce[_0xb230('0x49')]=_[_0xb230('0x9d')](_0x5c9cce[_0xb230('0x49')],_0x3bd305);}_0x5c9cce=_[_0xb230('0x9d')]({},_0x5c9cce,_0xfd3d96['options']);return db[_0xb230('0xc3')]['count']({'where':_0x5c9cce[_0xb230('0x49')]})[_0xb230('0x27')](function(_0xf94cec){_0x2669de['count']=_0xf94cec;if(_0xfd3d96[_0xb230('0x41')][_0xb230('0xbb')]){_0x5c9cce[_0xb230('0xc5')]=[{'all':!![]}];}return db[_0xb230('0xc3')][_0xb230('0xc6')](_0x5c9cce);})[_0xb230('0x27')](function(_0x4126d8){_0x2669de[_0xb230('0xb7')]=_0x4126d8;return _0x2669de;});}})['then'](respondWithFilteredResult(_0x19e679,_0x5c9cce))[_0xb230('0xb8')](handleError(_0x19e679,null));};exports[_0xb230('0xc7')]=function(_0x2094a2,_0x1a367f,_0x1ee7b6){return db[_0xb230('0x3b')][_0xb230('0x70')]({'where':{'id':_0x2094a2[_0xb230('0xb9')]['id']}})[_0xb230('0x27')](handleEntityNotFound(_0x1a367f,null))[_0xb230('0x27')](function(_0x2c3a51){if(_0x2c3a51){return _0x2c3a51[_0xb230('0xc8')](_0x2094a2['body'][_0xb230('0xc0')],_[_0xb230('0xc1')](_0x2094a2[_0xb230('0x7a')],[_0xb230('0xc0'),'id'])||{})[_0xb230('0xc9')](function(){return db[_0xb230('0x73')][_0xb230('0xc6')]({'attributes':['id',_0xb230('0x2b'),_0xb230('0x4e')],'where':{'id':_0x2094a2['body']['ids']}});})[_0xb230('0x27')](function(_0x19d81e){socket[_0xb230('0xca')]('faxInteractionTags:save',{'id':Number(_0x2094a2['params']['id']),'tags':_0x19d81e||[]});return{'id':Number(_0x2094a2['params']['id']),'tags':_0x19d81e||[]};});}})[_0xb230('0x27')](respondWithResult(_0x1a367f,null))['catch'](handleError(_0x1a367f,null));};exports[_0xb230('0xcb')]=function(_0x2f1140,_0x1359bd,_0x389172){return db['FaxInteraction']['find']({'where':{'id':_0x2f1140['params']['id']}})[_0xb230('0x27')](handleEntityNotFound(_0x1359bd,null))['then'](function(_0x40c645){if(_0x40c645){return _0x40c645[_0xb230('0xcb')](_0x2f1140[_0xb230('0x41')][_0xb230('0xc0')]);}})[_0xb230('0x27')](respondWithStatusCode(_0x1359bd,null))[_0xb230('0xb8')](handleError(_0x1359bd,null));};exports['download']=function(_0x32ab18,_0x339aa4){var _0x1a13a8=moment()[_0xb230('0xcc')]()[_0xb230('0x9c')]();var _0x34d89c=path['join'](config[_0xb230('0xcd')],_0xb230('0xce'),_0xb230('0xcf'),_0xb230('0xd0'));var _0x1ac8ea=path[_0xb230('0xd1')](config[_0xb230('0xcd')],'server',_0xb230('0xcf'),_0xb230('0xd2'));var _0xc0f6a0=path['join'](_0x34d89c,_0x1a13a8);var _0x4f66cc=util['format'](_0xb230('0xd3'),_0x32ab18[_0xb230('0xb9')]['id'],_0x1a13a8);var _0x59352f=path['join'](_0x34d89c,_0x4f66cc);var _0x49cb98=[];_0x49cb98[_0xb230('0xb5')]({'model':db[_0xb230('0xd4')],'as':_0xb230('0xd4'),'raw':!![]});var _0x47a268=[{'model':db[_0xb230('0xc3')],'as':_0xb230('0xd5'),'attributes':['id',_0xb230('0x7a'),_0xb230('0x80')],'include':_0x49cb98}];return db[_0xb230('0x3b')][_0xb230('0x70')]({'where':{'id':_0x32ab18[_0xb230('0xb9')]['id']},'include':_0x47a268})['then'](handleEntityNotFound(_0x339aa4,null))[_0xb230('0x27')](function(_0x2fe2c8){if(_0x2fe2c8&&_0x2fe2c8[_0xb230('0xd5')]){var _0xb53be=_0x2fe2c8[_0xb230('0xd6')]({'plain':!![]});fs[_0xb230('0xd7')](_0xc0f6a0);for(var _0x25ed4c=0x0;_0x25ed4c<_0xb53be[_0xb230('0xd5')][_0xb230('0x64')];_0x25ed4c++){var _0xc85e2e=_0xb53be['Messages'][_0x25ed4c][_0xb230('0xd4')];if(_0xc85e2e){var _0x397622=path[_0xb230('0xd1')](_0x1ac8ea,_0xc85e2e[_0xb230('0xd8')]);if(fs[_0xb230('0xd9')](_0x397622)){fs['createReadStream'](_0x397622)['pipe'](fs[_0xb230('0xda')](path[_0xb230('0xd1')](_0xc0f6a0,_0xc85e2e[_0xb230('0xd8')])));}}}return BPromise['resolve']()[_0xb230('0x27')](function(){return new BPromise(function(_0x43754e,_0x4ee7e1){zipdir(_0xc0f6a0,{'saveTo':_0x59352f},function(_0xf127b8,_0x15bd2c){if(_0xf127b8)return _0x4ee7e1(_0xf127b8);return _0x43754e(_0x15bd2c);});})[_0xb230('0x27')](function(){return new BPromise(function(_0x59ccb,_0x543e25){rimraf(_0xc0f6a0,function(_0x1b86e5){if(_0x1b86e5)_0x543e25(_0x1b86e5);return _0x59ccb();});});})['then'](function(){return _0x339aa4[_0xb230('0xdb')](_0x59352f,_0x4f66cc,function(_0x4169d7){if(_0x4169d7){console['log'](_0xb230('0xdc'),_0x4169d7);}else{fs[_0xb230('0xdd')](_0x59352f);}});});});}else{return _0x339aa4[_0xb230('0x1b')](0xc8);}})[_0xb230('0xb8')](handleError(_0x339aa4,null));};