1bf6af6e2ef2eedc697887d5307ea517c26c4a84
[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 _0xef23=['read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','filter','replace','isNumeric','i.id\x20LIKE\x20?','i.fax\x20LIKE\x20?','i.id','Sequelize','QueryTypes','SELECT','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','unreadMessages','contactName','DESC','t.id\x20IN\x20?','FaxAccountId','i.FaxAccountId\x20IS\x20NOT\x20NULL','user','getFaxAccounts','i.FaxAccountId\x20IS\x20NULL','i.FaxAccountId\x20IN\x20?','role','agent','sequelize','toString','merge','a.key','a.mandatoryDisposition','Account.mandatoryDisposition','CASE\x20WHEN\x20(c.firstName\x20IS\x20NOT\x20NULL\x20AND\x20c.firstName\x20<>\x20\x27\x27)\x20OR\x20(c.lastName\x20IS\x20NOT\x20NULL\x20AND\x20c.lastName\x20<>\x20\x27\x27)\x20THEN\x20CONCAT(IFNULL(c.firstName,\x20\x27\x27),\x20\x27\x20\x27,\x20IFNULL(c.lastName,\x20\x27\x27))\x20ELSE\x20\x27Unknown\x27\x20END','i.*','c.firstName','c.lastName','Contact.lastName','c.email','Contact.email','Contact.phone','c.mobile','c.fax','o.fullname','Owner.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','groupBy','FaxInteractionId','push','all','show','params','includeAll','include','options','create','describe','addMessage','FaxMessage','ids','omit','nolimit','$gte','split','format','YYYY-MM-DD\x20HH:mm:ss','rows','addTags','setTags','spread','Tag','emit','faxInteractionTags:save','removeTags','download','server','files','tmp','join','root','attachments','Messages','mkdirSync','Attachment','createReadStream','pipe','basename','resolve','log','err','unlinkSync','html-pdf','eml-format','zip-dir','fast-json-patch','moment','bluebird','mustache','to-csv','ejs','lodash','squel','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./faxInteraction.socket','register','sendStatus','status','end','count','offset','limit','set','Content-Range','json','apply','reject','save','update','then','destroy','error','stack','name','send','fullname','TagIds','Tags','forEach','catch','index','FaxInteraction','rawAttributes','type','key','model','query','keys','intersection','fields','attributes','hasOwnProperty','order','sort','where','filters','pick','select','field','color','tools_tags','ui.FaxInteractionId','from','user_has_fax_interactions','left_join','users','u.id\x20=\x20ui.UserId','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','fax_messages','me.FaxInteractionId\x20=\x20i.id','fax_interaction_has_tags','it.FaxInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','search','sqlOperator','conditions','length','find','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','ContactId','buildExpression','text','start','map','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','UserId','body','some','compact','concat','createdAt','parse','$lte','null','\x20=\x20?'];(function(_0x3806e6,_0x2f55d1){var _0x43aea8=function(_0x3c9928){while(--_0x3c9928){_0x3806e6['push'](_0x3806e6['shift']());}};_0x43aea8(++_0x2f55d1);}(_0xef23,0x130));var _0x3ef2=function(_0x1a3848,_0x28dc57){_0x1a3848=_0x1a3848-0x0;var _0x287b0f=_0xef23[_0x1a3848];return _0x287b0f;};'use strict';var pdf=require(_0x3ef2('0x0'));var emlformat=require(_0x3ef2('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x3ef2('0x2'));var jsonpatch=require(_0x3ef2('0x3'));var rp=require('request-promise');var moment=require(_0x3ef2('0x4'));var BPromise=require(_0x3ef2('0x5'));var Mustache=require(_0x3ef2('0x6'));var util=require('util');var path=require('path');var sox=require('sox');var csv=require(_0x3ef2('0x7'));var ejs=require(_0x3ef2('0x8'));var fs=require('fs');var _=require(_0x3ef2('0x9'));var squel=require(_0x3ef2('0xa'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x3ef2('0x7'));var querystring=require(_0x3ef2('0xb'));var Papa=require(_0x3ef2('0xc'));var Redis=require('ioredis');var authService=require(_0x3ef2('0xd'));var qs=require(_0x3ef2('0xe'));var as=require(_0x3ef2('0xf'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')('api');var utils=require('../../config/utils');var config=require(_0x3ef2('0x10'));var licenseUtil=require(_0x3ef2('0x11'));var db=require(_0x3ef2('0x12'))['db'];config[_0x3ef2('0x13')]=_[_0x3ef2('0x14')](config[_0x3ef2('0x13')],{'host':_0x3ef2('0x15'),'port':0x18eb});var socket=require(_0x3ef2('0x16'))(new Redis(config[_0x3ef2('0x13')]));require(_0x3ef2('0x17'))[_0x3ef2('0x18')](socket);function respondWithStatusCode(_0x10a382,_0x3f6123){_0x3f6123=_0x3f6123||0xcc;return function(_0x36bf5a){if(_0x36bf5a){return _0x10a382[_0x3ef2('0x19')](_0x3f6123);}return _0x10a382[_0x3ef2('0x1a')](_0x3f6123)[_0x3ef2('0x1b')]();};}function respondWithResult(_0x2e3739,_0x5d1aa4){_0x5d1aa4=_0x5d1aa4||0xc8;return function(_0x5e6fc9){if(_0x5e6fc9){return _0x2e3739[_0x3ef2('0x1a')](_0x5d1aa4)['json'](_0x5e6fc9);}};}function respondWithFilteredResult(_0x55afe5,_0x68a244){return function(_0x1e0c09){if(_0x1e0c09){var _0x48b7ce=_0x1e0c09[_0x3ef2('0x1c')],_0x36e5b1=_0x68a244['offset'],_0x6b682a=_0x68a244[_0x3ef2('0x1d')]+_0x68a244[_0x3ef2('0x1e')],_0x165f0c;if(_0x6b682a>=_0x48b7ce){_0x6b682a=_0x48b7ce;_0x165f0c=0xc8;}else{_0x165f0c=0xce;}_0x55afe5[_0x3ef2('0x1a')](_0x165f0c);return _0x55afe5[_0x3ef2('0x1f')](_0x3ef2('0x20'),_0x36e5b1+'-'+_0x6b682a+'/'+_0x48b7ce)[_0x3ef2('0x21')](_0x1e0c09);}return null;};}function patchUpdates(_0x3a44f3){return function(_0x1f1dc9){try{jsonpatch[_0x3ef2('0x22')](_0x1f1dc9,_0x3a44f3,!![]);}catch(_0x35dee5){return BPromise[_0x3ef2('0x23')](_0x35dee5);}return _0x1f1dc9[_0x3ef2('0x24')]();};}function saveUpdates(_0x22f945,_0x46f858){return function(_0x55e09c){if(_0x55e09c){return _0x55e09c[_0x3ef2('0x25')](_0x22f945)[_0x3ef2('0x26')](function(_0x16f49e){return _0x16f49e;});}return null;};}function removeEntity(_0x1c79d5,_0x34f870){return function(_0xd894e2){if(_0xd894e2){return _0xd894e2[_0x3ef2('0x27')]()['then'](function(){_0x1c79d5[_0x3ef2('0x1a')](0xcc)[_0x3ef2('0x1b')]();});}};}function handleEntityNotFound(_0x270ce4,_0x3193bb){return function(_0x5ad475){if(!_0x5ad475){_0x270ce4[_0x3ef2('0x19')](0x194);}return _0x5ad475;};}function handleError(_0x5e51c7,_0x1333d0){_0x1333d0=_0x1333d0||0x1f4;return function(_0x1a8cda){logger[_0x3ef2('0x28')](_0x1a8cda[_0x3ef2('0x29')]);if(_0x1a8cda[_0x3ef2('0x2a')]){delete _0x1a8cda[_0x3ef2('0x2a')];}_0x5e51c7['status'](_0x1333d0)[_0x3ef2('0x2b')](_0x1a8cda);};}function getInteractionUsers(_0x4fba32,_0x405af8){return new BPromise(function(_0x4ad387,_0x124deb){try{if(_0x405af8[_0x4fba32['id']]){_0x4fba32['Users']=_['map'](_0x405af8[_0x4fba32['id']],function(_0x105e5e){return{'id':_0x105e5e['id'],'fullname':_0x105e5e[_0x3ef2('0x2c')]};});}}catch(_0x530c34){_0x124deb(_0x530c34);}_0x4ad387(_0x4fba32);});}function getInteractionTags(_0x397579,_0x4b6e09){return new BPromise(function(_0x3308d4,_0x11dd91){try{if(_0x397579[_0x3ef2('0x2d')]){_0x397579[_0x3ef2('0x2e')]=[];_0x397579['TagIds']['split'](',')[_0x3ef2('0x2f')](function(_0x1f1bc4){_0x397579[_0x3ef2('0x2e')]['push'](_0x4b6e09[_0x1f1bc4]);});}delete _0x397579[_0x3ef2('0x2d')];}catch(_0x59d6d5){_0x11dd91(_0x59d6d5);}_0x3308d4(_0x397579);});}function updateFaxInteraction(_0x1985ce,_0x137a56,_0x4f478d){return new BPromise(function(_0x2e4c6a,_0x1bd6c5){return getInteractionUsers(_0x1985ce,_0x4f478d)[_0x3ef2('0x26')](function(_0x49811f){return getInteractionTags(_0x49811f,_0x137a56);})['then'](function(_0x14c36f){_0x2e4c6a(_0x14c36f);})[_0x3ef2('0x30')](function(_0x3f7c2a){_0x1bd6c5(_0x3f7c2a);});});}exports[_0x3ef2('0x31')]=function(_0x5838e8,_0x3d91be){var _0x27832f={},_0x41746f={},_0x5a3750={'count':0x0,'rows':[]};var _0x4a4297=_['map'](db[_0x3ef2('0x32')][_0x3ef2('0x33')],function(_0x2900de){return{'name':_0x2900de['fieldName'],'type':_0x2900de[_0x3ef2('0x34')][_0x3ef2('0x35')]};});_0x41746f[_0x3ef2('0x36')]=_['map'](_0x4a4297,'name');_0x41746f[_0x3ef2('0x37')]=_[_0x3ef2('0x38')](_0x5838e8[_0x3ef2('0x37')]);_0x41746f['filters']=_['intersection'](_0x41746f[_0x3ef2('0x36')],_0x41746f[_0x3ef2('0x37')]);_0x27832f['attributes']=_[_0x3ef2('0x39')](_0x41746f[_0x3ef2('0x36')],qs['fields'](_0x5838e8[_0x3ef2('0x37')][_0x3ef2('0x3a')]));_0x27832f[_0x3ef2('0x3b')]=_0x27832f[_0x3ef2('0x3b')]['length']?_0x27832f[_0x3ef2('0x3b')]:_0x41746f['model'];if(!_0x5838e8[_0x3ef2('0x37')][_0x3ef2('0x3c')]('nolimit')){_0x27832f['limit']=qs[_0x3ef2('0x1e')](_0x5838e8['query'][_0x3ef2('0x1e')]);_0x27832f['offset']=qs['offset'](_0x5838e8['query'][_0x3ef2('0x1d')]);}_0x27832f[_0x3ef2('0x3d')]=qs[_0x3ef2('0x3e')](_0x5838e8[_0x3ef2('0x37')][_0x3ef2('0x3e')]);_0x27832f[_0x3ef2('0x3f')]=qs[_0x3ef2('0x40')](_[_0x3ef2('0x41')](_0x5838e8[_0x3ef2('0x37')],_0x41746f['filters']),_0x4a4297);var _0x3e4e9c=[];var _0x395bbe=squel[_0x3ef2('0x42')]()['field']('id')[_0x3ef2('0x43')]('name')[_0x3ef2('0x43')](_0x3ef2('0x44'))['from'](_0x3ef2('0x45'));var _0x3f0da1=squel[_0x3ef2('0x42')]()[_0x3ef2('0x43')]('u.id')[_0x3ef2('0x43')]('u.fullname')[_0x3ef2('0x43')](_0x3ef2('0x46'))[_0x3ef2('0x47')](_0x3ef2('0x48'),'ui')[_0x3ef2('0x49')](_0x3ef2('0x4a'),'u',_0x3ef2('0x4b'));var _0x574676=squel[_0x3ef2('0x42')]()[_0x3ef2('0x47')](_0x3ef2('0x4c'),'i')['left_join'](_0x3ef2('0x4d'),'c',_0x3ef2('0x4e'))[_0x3ef2('0x49')]('users','o',_0x3ef2('0x4f'))[_0x3ef2('0x49')](_0x3ef2('0x50'),'a',_0x3ef2('0x51'))[_0x3ef2('0x49')](_0x3ef2('0x52'),'me',_0x3ef2('0x53'))[_0x3ef2('0x49')](_0x3ef2('0x54'),'it',_0x3ef2('0x55'))[_0x3ef2('0x49')](_0x3ef2('0x45'),'t',_0x3ef2('0x56'));var _0xde8932=squel['expr']();var _0x504494=[];var _0x1a73ee=squel['expr']();var _0x477b47;if(_0x5838e8['query'][_0x3ef2('0x57')]){_0x477b47=as['parseSearch'](_0x5838e8[_0x3ef2('0x37')][_0x3ef2('0x57')]);var _0x5108e3=_0x477b47[_0x3ef2('0x58')];for(var _0x47df15=0x0;_0x47df15<_0x477b47[_0x3ef2('0x59')][_0x3ef2('0x5a')];_0x47df15++){var _0x5d36a8=_0x477b47[_0x3ef2('0x59')][_0x47df15];var _0x3a570a='i';var _0x1b0dea=_[_0x3ef2('0x5b')](_0x4a4297,['name',_0x5d36a8[_0x3ef2('0x43')]]);if(!_0x1b0dea){switch(_0x5d36a8[_0x3ef2('0x43')]){case'unreadMessages':if(_0x5d36a8[_0x3ef2('0x5c')]==0x1){_0x574676[_0x3ef2('0x5d')]('`'+_0x5d36a8[_0x3ef2('0x43')]+_0x3ef2('0x5e'));}else{_0x574676[_0x3ef2('0x5d')]('`'+_0x5d36a8['field']+_0x3ef2('0x5f'));}break;case'Contact':if(_0x5d36a8[_0x3ef2('0x60')]===_0x3ef2('0x61')){if(_0x5d36a8['value']['split']('\x20')[_0x3ef2('0x5a')]>0x1){_0xde8932[_0x5108e3](_0x3ef2('0x62'),qs[_0x3ef2('0x63')](_0x5d36a8[_0x3ef2('0x5c')]),null);}else{var _0x4d215d='%'+_0x5d36a8['value']+'%';_0xde8932[_0x5108e3]('c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?',_0x4d215d,_0x4d215d,_0x4d215d);}}else{_0x1b0dea=_[_0x3ef2('0x5b')](_0x4a4297,['name','ContactId']);_0x5d36a8[_0x3ef2('0x43')]=_0x3ef2('0x64');_0x2833ac=as[_0x3ef2('0x65')](_0x3a570a,_0x1b0dea[_0x3ef2('0x34')],_0x5d36a8);_0xde8932[_0x5108e3](_0x2833ac[_0x3ef2('0x66')],_0x2833ac[_0x3ef2('0x5c')][_0x3ef2('0x67')],_0x2833ac[_0x3ef2('0x5c')][_0x3ef2('0x1b')]);}break;case'Tag':var _0xfcd7d7=_0x5d36a8['value']['split'](',')[_0x3ef2('0x68')](function(_0x50c309){return Number(_0x50c309);});_0xfcd7d7['forEach'](function(_0x2ef601){_0x1a73ee['or'](_0x3ef2('0x69'),'%,'+_0x2ef601+',%');});_0x504494=_[_0x3ef2('0x6a')](_0x504494,_0xfcd7d7);break;case _0x3ef2('0x6b'):if(_0x5d36a8[_0x3ef2('0x60')]===_0x3ef2('0x61')){_0xde8932[_0x5108e3]('CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','%'+_0x5d36a8['value']+'%',null);}else{_0x1b0dea=_[_0x3ef2('0x5b')](_0x4a4297,[_0x3ef2('0x2a'),_0x3ef2('0x6c')]);_0x5d36a8[_0x3ef2('0x43')]=_0x3ef2('0x6c');_0x2833ac=as[_0x3ef2('0x65')](_0x3a570a,_0x1b0dea[_0x3ef2('0x34')],_0x5d36a8);_0xde8932[_0x5108e3](_0x2833ac[_0x3ef2('0x66')],_0x2833ac[_0x3ef2('0x5c')][_0x3ef2('0x67')],_0x2833ac['value'][_0x3ef2('0x1b')]);}break;case _0x3ef2('0x6d'):_0x2833ac=as[_0x3ef2('0x65')]('me',null,_0x5d36a8);_0xde8932[_0x5108e3](_0x2833ac['text'],_0x2833ac[_0x3ef2('0x5c')]['start'],_0x2833ac[_0x3ef2('0x5c')]['end']);break;}}else{var _0x2833ac=as[_0x3ef2('0x65')](_0x3a570a,_0x1b0dea[_0x3ef2('0x34')],_0x5d36a8);_0xde8932[_0x5108e3](_0x2833ac[_0x3ef2('0x66')],_0x2833ac[_0x3ef2('0x5c')][_0x3ef2('0x67')],_0x2833ac['value'][_0x3ef2('0x1b')]);}}}else{var _0x13cae1=_(_0x5838e8['query'])[_0x3ef2('0x38')]()[_0x3ef2('0x68')](function(_0x279afe){return _[_0x3ef2('0x6e')](_0x4a4297,['name',_0x279afe])?_0x279afe:undefined;})[_0x3ef2('0x6f')]()[_0x3ef2('0x5c')]();if(!_['isEmpty'](_0x13cae1)){_0x13cae1[_0x3ef2('0x2f')](function(_0x2a91c9){if(_0x2a91c9==='FaxAccountId'){_0x574676[_0x3ef2('0x3f')]('i.FaxAccountId\x20IN\x20?',[][_0x3ef2('0x70')](_0x5838e8[_0x3ef2('0x37')][_0x2a91c9]));}else if(_0x2a91c9===_0x3ef2('0x71')){var _0x16d241=JSON[_0x3ef2('0x72')](_0x5838e8[_0x3ef2('0x37')][_0x2a91c9])['$gte'];var _0x44e5cd=JSON[_0x3ef2('0x72')](_0x5838e8[_0x3ef2('0x37')][_0x2a91c9])[_0x3ef2('0x73')];_0x574676[_0x3ef2('0x3f')]('i.createdAt\x20BETWEEN\x20?\x20AND\x20?',_0x16d241,_0x44e5cd);}else{if(_0x5838e8['query'][_0x2a91c9]===_0x3ef2('0x74')){_0x574676[_0x3ef2('0x3f')]('i.'+_0x2a91c9+'\x20IS\x20NULL');}else{_0x574676[_0x3ef2('0x3f')]('i.'+_0x2a91c9+_0x3ef2('0x75'),_0x5838e8[_0x3ef2('0x37')][_0x2a91c9]);}}});}if(_0x5838e8[_0x3ef2('0x37')][_0x3ef2('0x76')]){if(_0x5838e8[_0x3ef2('0x37')][_0x3ef2('0x76')]==0x1){_0x574676[_0x3ef2('0x5d')](_0x3ef2('0x77'));}else{_0x574676[_0x3ef2('0x5d')](_0x3ef2('0x78'));}}if(_0x5838e8[_0x3ef2('0x37')][_0x3ef2('0x79')]){_0x504494=_['isArray'](_0x5838e8['query'][_0x3ef2('0x79')])?_0x5838e8[_0x3ef2('0x37')][_0x3ef2('0x79')]:new Array(_0x5838e8[_0x3ef2('0x37')]['tag']);_0x504494[_0x3ef2('0x2f')](function(_0x1d672d){_0x1a73ee['or'](_0x3ef2('0x69'),'%,'+_0x1d672d+',%');});}if(_0x5838e8[_0x3ef2('0x37')][_0x3ef2('0x7a')]){var _0x1f130e=_0x5838e8[_0x3ef2('0x37')]['filter']['replace']('\x5c','\x5c\x5c')[_0x3ef2('0x7b')](/'/g,'\x27\x27');if(qs[_0x3ef2('0x7c')](_0x1f130e)){_0xde8932['or'](_0x3ef2('0x7d'),_0x1f130e+'%')['or'](_0x3ef2('0x7e'),_0x1f130e+'%');}_0xde8932['or']('CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?',_0x1f130e+'%');}}_0x574676[_0x3ef2('0x3f')](_0xde8932);_0x574676['group'](_0x3ef2('0x7f'));var _0x3d4506={'type':db[_0x3ef2('0x80')][_0x3ef2('0x81')][_0x3ef2('0x82')],'raw':!![]};var _0x38b584=_0x574676[_0x3ef2('0x83')]();_0x38b584[_0x3ef2('0x43')]('i.id');_0x38b584[_0x3ef2('0x43')](_0x3ef2('0x84'),_0x3ef2('0x85'));if(_0x27832f[_0x3ef2('0x3d')]){_0x27832f['order'][_0x3ef2('0x2f')](function(_0x11ee68){var _0x246bcd=_0x11ee68[0x0]===_0x3ef2('0x86')?_0x11ee68[0x0]:'i.'+_0x11ee68[0x0];_0x574676[_0x3ef2('0x3d')](_0x246bcd,_0x11ee68[0x1]===_0x3ef2('0x87')?![]:!![]);});}if(!_['isEmpty'](_0x504494)){_0x574676[_0x3ef2('0x5d')](_0x1a73ee);_0x38b584[_0x3ef2('0x3f')](_0x3ef2('0x88'),_0x504494);}BPromise['resolve']()[_0x3ef2('0x26')](function(){if(!_0x477b47){if(_0x5838e8[_0x3ef2('0x37')][_0x3ef2('0x89')])return;_0x38b584[_0x3ef2('0x3f')](_0x3ef2('0x8a'));_0x574676[_0x3ef2('0x3f')](_0x3ef2('0x8a'));return;}if(_0x5838e8[_0x3ef2('0x8b')]['role']!=='agent')return;return _0x5838e8[_0x3ef2('0x8b')][_0x3ef2('0x8c')]({'attributes':['id'],'raw':!![]})[_0x3ef2('0x26')](function(_0x386fdd){if(_['isEmpty'](_0x386fdd)){_0x38b584[_0x3ef2('0x3f')]('i.FaxAccountId\x20IS\x20NULL');_0x574676['where'](_0x3ef2('0x8d'));}else{_0x38b584['where']('i.FaxAccountId\x20IN\x20?',_[_0x3ef2('0x68')](_0x386fdd,'id'));_0x574676[_0x3ef2('0x3f')](_0x3ef2('0x8e'),_[_0x3ef2('0x68')](_0x386fdd,'id'));}});})[_0x3ef2('0x26')](function(){if(_0x5838e8[_0x3ef2('0x8b')][_0x3ef2('0x8f')]===_0x3ef2('0x90')&&!_0x477b47&&!_0x5838e8[_0x3ef2('0x37')][_0x3ef2('0x89')])return[];return db[_0x3ef2('0x91')][_0x3ef2('0x37')](_0x38b584[_0x3ef2('0x92')](),_0x3d4506);})[_0x3ef2('0x26')](function(_0x1522ca){_0x5a3750[_0x3ef2('0x1c')]=_0x1522ca[_0x3ef2('0x5a')];if(_0x5a3750['count']===0x0)return[];return db[_0x3ef2('0x91')][_0x3ef2('0x37')](_0x395bbe[_0x3ef2('0x92')](),_0x3d4506)['then'](function(_0x932982){_0x3e4e9c=_['keyBy'](_0x932982,'id');_0x3d4506=_[_0x3ef2('0x93')](_0x3d4506,{'model':db[_0x3ef2('0x32')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x5838e8[_0x3ef2('0x37')][_0x3ef2('0x3a')]){_0x27832f[_0x3ef2('0x3b')][_0x3ef2('0x2f')](function(_0x33b70d){_0x574676['field']('i.'+_0x33b70d);});}else{_0x574676[_0x3ef2('0x43')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0x3ef2('0x85'));_0x574676['field'](_0x3ef2('0x94'),'Account.key');_0x574676[_0x3ef2('0x43')](_0x3ef2('0x95'),_0x3ef2('0x96'));_0x574676[_0x3ef2('0x43')](_0x3ef2('0x97'),_0x3ef2('0x86'));_0x574676['field'](_0x3ef2('0x98'));_0x574676[_0x3ef2('0x43')](_0x3ef2('0x99'),'Contact.firstName');_0x574676['field'](_0x3ef2('0x9a'),_0x3ef2('0x9b'));_0x574676[_0x3ef2('0x43')](_0x3ef2('0x9c'),_0x3ef2('0x9d'));_0x574676[_0x3ef2('0x43')]('c.phone',_0x3ef2('0x9e'));_0x574676['field'](_0x3ef2('0x9f'),'Contact.mobile');_0x574676[_0x3ef2('0x43')](_0x3ef2('0xa0'),'Contact.fax');_0x574676[_0x3ef2('0x43')](_0x3ef2('0xa1'),_0x3ef2('0xa2'));_0x574676[_0x3ef2('0x43')](_0x3ef2('0xa3'),_0x3ef2('0xa4'));_0x574676[_0x3ef2('0x43')](_0x3ef2('0xa5'),_0x3ef2('0x2d'));}if(_0x27832f['limit'])_0x574676[_0x3ef2('0x1e')](_0x27832f[_0x3ef2('0x1e')]);if(_0x27832f[_0x3ef2('0x1d')])_0x574676[_0x3ef2('0x1d')](_0x27832f[_0x3ef2('0x1d')]);return db[_0x3ef2('0x91')]['query'](_0x574676[_0x3ef2('0x92')](),_0x3d4506);})[_0x3ef2('0x26')](function(_0x2836a3){_0x3f0da1['where']('ui.FaxInteractionId\x20IN\x20?',_['map'](_0x2836a3,'id'));return db[_0x3ef2('0x91')]['query'](_0x3f0da1[_0x3ef2('0x92')](),_0x3d4506)[_0x3ef2('0x26')](function(_0x24046e){var _0x180dd5=_[_0x3ef2('0xa6')](_0x24046e,_0x3ef2('0xa7'));var _0x52a6fe=[];_0x2836a3['forEach'](function(_0x26f995){_0x52a6fe[_0x3ef2('0xa8')](updateFaxInteraction(_0x26f995,_0x3e4e9c,_0x180dd5));});return BPromise[_0x3ef2('0xa9')](_0x52a6fe);});});})['then'](function(_0x2da394){_0x5a3750['rows']=_0x2da394;return _0x5a3750;})[_0x3ef2('0x26')](respondWithFilteredResult(_0x3d91be,_0x27832f))['catch'](handleError(_0x3d91be,null));};exports[_0x3ef2('0xaa')]=function(_0x39cd5c,_0x132a45){var _0x115542={'raw':![],'where':{'id':_0x39cd5c[_0x3ef2('0xab')]['id']}},_0x52866a={};_0x52866a['model']=_[_0x3ef2('0x38')](db['FaxInteraction'][_0x3ef2('0x33')]);_0x52866a[_0x3ef2('0x37')]=_[_0x3ef2('0x38')](_0x39cd5c[_0x3ef2('0x37')]);_0x52866a[_0x3ef2('0x40')]=_[_0x3ef2('0x39')](_0x52866a[_0x3ef2('0x36')],_0x52866a[_0x3ef2('0x37')]);_0x115542['attributes']=_[_0x3ef2('0x39')](_0x52866a['model'],qs[_0x3ef2('0x3a')](_0x39cd5c[_0x3ef2('0x37')]['fields']));_0x115542['attributes']=_0x115542[_0x3ef2('0x3b')][_0x3ef2('0x5a')]?_0x115542[_0x3ef2('0x3b')]:_0x52866a[_0x3ef2('0x36')];if(_0x39cd5c[_0x3ef2('0x37')][_0x3ef2('0xac')]){_0x115542[_0x3ef2('0xad')]=[{'all':!![]}];}_0x115542=_['merge']({},_0x115542,_0x39cd5c[_0x3ef2('0xae')]);return db['FaxInteraction'][_0x3ef2('0x5b')](_0x115542)['then'](handleEntityNotFound(_0x132a45,null))[_0x3ef2('0x26')](respondWithResult(_0x132a45,null))['catch'](handleError(_0x132a45,null));};exports[_0x3ef2('0xaf')]=function(_0xbabd82,_0xe96319){return db[_0x3ef2('0x32')]['create'](_0xbabd82['body'],{})['then'](respondWithResult(_0xe96319,0xc9))[_0x3ef2('0x30')](handleError(_0xe96319,null));};exports[_0x3ef2('0x25')]=function(_0x25f987,_0x1a280d){if(_0x25f987[_0x3ef2('0x6d')]['id']){delete _0x25f987['body']['id'];}return db[_0x3ef2('0x32')][_0x3ef2('0x5b')]({'where':{'id':_0x25f987['params']['id']}})['then'](handleEntityNotFound(_0x1a280d,null))[_0x3ef2('0x26')](saveUpdates(_0x25f987[_0x3ef2('0x6d')],null))['then'](respondWithResult(_0x1a280d,null))['catch'](handleError(_0x1a280d,null));};exports[_0x3ef2('0x27')]=function(_0xac6baa,_0x5995d5){return db['FaxInteraction']['find']({'where':{'id':_0xac6baa[_0x3ef2('0xab')]['id']}})[_0x3ef2('0x26')](handleEntityNotFound(_0x5995d5,null))[_0x3ef2('0x26')](removeEntity(_0x5995d5,null))['catch'](handleError(_0x5995d5,null));};exports[_0x3ef2('0xb0')]=function(_0x541c29,_0x2d78e8){return db[_0x3ef2('0x32')][_0x3ef2('0xb0')]()[_0x3ef2('0x26')](respondWithResult(_0x2d78e8,null))[_0x3ef2('0x30')](handleError(_0x2d78e8,null));};exports[_0x3ef2('0xb1')]=function(_0x35096b,_0x2e3934,_0x424b9d){return db[_0x3ef2('0xb2')][_0x3ef2('0x5b')]({'where':{'id':_0x35096b[_0x3ef2('0xab')]['id']}})[_0x3ef2('0x26')](handleEntityNotFound(_0x2e3934,null))[_0x3ef2('0x26')](function(_0x84a8cb){if(_0x84a8cb){return _0x84a8cb['addMessage'](_0x35096b[_0x3ef2('0x6d')][_0x3ef2('0xb3')],_[_0x3ef2('0xb4')](_0x35096b[_0x3ef2('0x6d')],['ids','id'])||{});}})[_0x3ef2('0x26')](respondWithResult(_0x2e3934,null))[_0x3ef2('0x30')](handleError(_0x2e3934,null));};exports['getMessages']=function(_0x5920a1,_0x19776f,_0x200d0b){var _0x332ae9={'raw':![],'where':{}};var _0x1bfcd3={};var _0x1d7b59={'count':0x0,'rows':[]};return db[_0x3ef2('0x32')]['findOne']({'where':{'id':_0x5920a1[_0x3ef2('0xab')]['id']}})[_0x3ef2('0x26')](handleEntityNotFound(_0x19776f,null))[_0x3ef2('0x26')](function(_0x493241){if(_0x493241){_0x1bfcd3[_0x3ef2('0x36')]=_[_0x3ef2('0x38')](db[_0x3ef2('0xb2')]['rawAttributes']);_0x1bfcd3[_0x3ef2('0x37')]=_['keys'](_0x5920a1['query']);_0x1bfcd3[_0x3ef2('0x40')]=_['intersection'](_0x1bfcd3[_0x3ef2('0x36')],_0x1bfcd3['query']);_0x332ae9['attributes']=_[_0x3ef2('0x39')](_0x1bfcd3[_0x3ef2('0x36')],qs[_0x3ef2('0x3a')](_0x5920a1[_0x3ef2('0x37')][_0x3ef2('0x3a')]));_0x332ae9[_0x3ef2('0x3b')]=_0x332ae9[_0x3ef2('0x3b')]['length']?_0x332ae9[_0x3ef2('0x3b')]:_0x1bfcd3[_0x3ef2('0x36')];if(!_0x5920a1[_0x3ef2('0x37')]['hasOwnProperty'](_0x3ef2('0xb5'))){_0x332ae9[_0x3ef2('0x1e')]=qs['limit'](_0x5920a1[_0x3ef2('0x37')][_0x3ef2('0x1e')]);_0x332ae9[_0x3ef2('0x1d')]=qs[_0x3ef2('0x1d')](_0x5920a1[_0x3ef2('0x37')]['offset']);}_0x332ae9['order']=qs[_0x3ef2('0x3e')](_0x5920a1[_0x3ef2('0x37')]['sort']);_0x332ae9['where']=qs[_0x3ef2('0x40')](_[_0x3ef2('0x41')](_0x5920a1[_0x3ef2('0x37')],_0x1bfcd3[_0x3ef2('0x40')]));_0x332ae9['where'][_0x3ef2('0xa7')]=_0x493241['id'];if(_0x5920a1[_0x3ef2('0x37')][_0x3ef2('0x7a')]){_0x332ae9[_0x3ef2('0x3f')]=_['merge'](_0x332ae9['where'],{'$or':_[_0x3ef2('0x68')](_0x332ae9[_0x3ef2('0x3b')],function(_0x546f69){var _0x22c74f={};_0x22c74f[_0x546f69]={'$like':'%'+_0x5920a1['query'][_0x3ef2('0x7a')]+'%'};return _0x22c74f;})});}if(_0x5920a1[_0x3ef2('0x37')][_0x3ef2('0xb6')]){var _0x1739a6=_0x5920a1[_0x3ef2('0x37')][_0x3ef2('0xb6')][_0x3ef2('0xb7')](',');var _0x26fbf3={};_0x26fbf3[_0x1739a6[0x0]]={'$gte':moment(_0x1739a6[0x1])[_0x3ef2('0xb8')](_0x3ef2('0xb9'))};_0x332ae9[_0x3ef2('0x3f')]=_['merge'](_0x332ae9[_0x3ef2('0x3f')],_0x26fbf3);}_0x332ae9=_[_0x3ef2('0x93')]({},_0x332ae9,_0x5920a1[_0x3ef2('0xae')]);return db[_0x3ef2('0xb2')]['count']({'where':_0x332ae9['where']})[_0x3ef2('0x26')](function(_0x4babfb){_0x1d7b59[_0x3ef2('0x1c')]=_0x4babfb;if(_0x5920a1[_0x3ef2('0x37')]['includeAll']){_0x332ae9[_0x3ef2('0xad')]=[{'all':!![]}];}return db[_0x3ef2('0xb2')]['findAll'](_0x332ae9);})[_0x3ef2('0x26')](function(_0xfba5db){_0x1d7b59[_0x3ef2('0xba')]=_0xfba5db;return _0x1d7b59;});}})[_0x3ef2('0x26')](respondWithFilteredResult(_0x19776f,_0x332ae9))[_0x3ef2('0x30')](handleError(_0x19776f,null));};exports[_0x3ef2('0xbb')]=function(_0x1b7129,_0x2acddb,_0x282668){return db[_0x3ef2('0x32')]['find']({'where':{'id':_0x1b7129['params']['id']}})['then'](handleEntityNotFound(_0x2acddb,null))[_0x3ef2('0x26')](function(_0x4386c6){if(_0x4386c6){return _0x4386c6[_0x3ef2('0xbc')](_0x1b7129[_0x3ef2('0x6d')]['ids'],_[_0x3ef2('0xb4')](_0x1b7129[_0x3ef2('0x6d')],[_0x3ef2('0xb3'),'id'])||{})[_0x3ef2('0xbd')](function(){return db[_0x3ef2('0xbe')]['findAll']({'attributes':['id',_0x3ef2('0x2a'),_0x3ef2('0x44')],'where':{'id':_0x1b7129[_0x3ef2('0x6d')][_0x3ef2('0xb3')]}});})[_0x3ef2('0x26')](function(_0x334300){socket[_0x3ef2('0xbf')](_0x3ef2('0xc0'),{'id':Number(_0x1b7129[_0x3ef2('0xab')]['id']),'tags':_0x334300||[]});return{'id':Number(_0x1b7129['params']['id']),'tags':_0x334300||[]};});}})[_0x3ef2('0x26')](respondWithResult(_0x2acddb,null))[_0x3ef2('0x30')](handleError(_0x2acddb,null));};exports[_0x3ef2('0xc1')]=function(_0x300236,_0x140710,_0x58047b){return db[_0x3ef2('0x32')][_0x3ef2('0x5b')]({'where':{'id':_0x300236['params']['id']}})['then'](handleEntityNotFound(_0x140710,null))[_0x3ef2('0x26')](function(_0x51b7a7){if(_0x51b7a7){return _0x51b7a7[_0x3ef2('0xc1')](_0x300236[_0x3ef2('0x37')][_0x3ef2('0xb3')]);}})['then'](respondWithStatusCode(_0x140710,null))['catch'](handleError(_0x140710,null));};exports[_0x3ef2('0xc2')]=function(_0x31f549,_0x189aba){var _0x3d697f=moment()['unix']()[_0x3ef2('0x92')]();var _0x35388c=path['join'](config['root'],_0x3ef2('0xc3'),_0x3ef2('0xc4'),_0x3ef2('0xc5'));var _0x260fef=path[_0x3ef2('0xc6')](config[_0x3ef2('0xc7')],_0x3ef2('0xc3'),_0x3ef2('0xc4'),_0x3ef2('0xc8'));var _0x6d324=path[_0x3ef2('0xc6')](_0x35388c,_0x3d697f);var _0x5616d5=util[_0x3ef2('0xb8')]('transcript-%d-%s.zip',_0x31f549[_0x3ef2('0xab')]['id'],_0x3d697f);var _0x1567f0=path[_0x3ef2('0xc6')](_0x35388c,_0x5616d5);var _0x30fcde=[];_0x30fcde[_0x3ef2('0xa8')]({'model':db['Attachment'],'as':'Attachment','raw':!![]});var _0x47957c=[{'model':db['FaxMessage'],'as':'Messages','attributes':['id',_0x3ef2('0x6d'),'createdAt'],'include':_0x30fcde}];return db[_0x3ef2('0x32')][_0x3ef2('0x5b')]({'where':{'id':_0x31f549['params']['id']},'include':_0x47957c})[_0x3ef2('0x26')](handleEntityNotFound(_0x189aba,null))['then'](function(_0x322b9e){if(_0x322b9e&&_0x322b9e[_0x3ef2('0xc9')]){var _0x3da11d=_0x322b9e['get']({'plain':!![]});fs[_0x3ef2('0xca')](_0x6d324);for(var _0x4c210c=0x0;_0x4c210c<_0x3da11d[_0x3ef2('0xc9')][_0x3ef2('0x5a')];_0x4c210c++){var _0x50831c=_0x3da11d[_0x3ef2('0xc9')][_0x4c210c][_0x3ef2('0xcb')];if(_0x50831c){var _0x4aa18d=path[_0x3ef2('0xc6')](_0x260fef,_0x50831c['basename']);if(fs['existsSync'](_0x4aa18d)){fs[_0x3ef2('0xcc')](_0x4aa18d)[_0x3ef2('0xcd')](fs['createWriteStream'](path[_0x3ef2('0xc6')](_0x6d324,_0x50831c[_0x3ef2('0xce')])));}}}return BPromise[_0x3ef2('0xcf')]()['then'](function(){return new BPromise(function(_0x54b6cc,_0x567ce4){zipdir(_0x6d324,{'saveTo':_0x1567f0},function(_0x2b207e,_0x194a82){if(_0x2b207e)return _0x567ce4(_0x2b207e);return _0x54b6cc(_0x194a82);});})[_0x3ef2('0x26')](function(){return new BPromise(function(_0x156ddc,_0xc704cf){rimraf(_0x6d324,function(_0x26e328){if(_0x26e328)_0xc704cf(_0x26e328);return _0x156ddc();});});})['then'](function(){return _0x189aba['download'](_0x1567f0,_0x5616d5,function(_0x5060b7){if(_0x5060b7){console[_0x3ef2('0xd0')](_0x3ef2('0xd1'),_0x5060b7);}else{fs[_0x3ef2('0xd2')](_0x1567f0);}});});});}else{return _0x189aba['sendStatus'](0xc8);}})['catch'](handleError(_0x189aba,null));};