39b39f6b063854decefcbcda81a7a781f9ee9c81
[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 _0x61cd=['TagIds','Tags','split','push','index','FaxInteraction','rawAttributes','type','key','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','field','color','from','u.id','u.fullname','left_join','users','u.id\x20=\x20ui.UserId','select','fax_interactions','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','o.id\x20=\x20i.UserId','fax_accounts','fax_messages','me.FaxInteractionId\x20=\x20i.id','fax_interaction_has_tags','it.FaxInteractionId\x20=\x20i.id','tools_tags','t.id\x20=\x20it.TagId','expr','search','parseSearch','sqlOperator','conditions','find','value','having','`\x20=\x200','`\x20>\x200','Contact','operator','$substring','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','buildExpression','text','Tag','UserId','body','start','compact','isEmpty','forEach','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','isArray','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','replace','isNumeric','i.id\x20LIKE\x20?','i.fax\x20LIKE\x20?','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','Sequelize','SELECT','clone','i.id','unreadMessages','t.id\x20IN\x20?','resolve','journey','i.FaxAccountId\x20IS\x20NOT\x20NULL','user','getFaxAccounts','i.FaxAccountId\x20IS\x20NULL','sequelize','merge','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','Account.key','Account.mandatoryDisposition','i.*','c.firstName','Contact.firstName','c.lastName','Contact.lastName','Contact.email','c.phone','Contact.phone','c.mobile','Contact.mobile','Contact.fax','o.fullname','Owner.fullname','o.internal','Owner.internal','toString','FaxInteractionId','all','rows','catch','params','includeAll','include','options','create','addMessage','FaxMessage','getMessages','findOne','filter','YYYY-MM-DD\x20HH:mm:ss','addTags','setTags','ids','omit','spread','findAll','emit','faxInteractionTags:save','removeTags','unix','join','root','server','files','format','transcript-%d-%s.zip','Attachment','Messages','get','mkdirSync','basename','existsSync','createReadStream','pipe','createWriteStream','download','log','err','zip-dir','fast-json-patch','bluebird','path','sox','ejs','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./faxInteraction.socket','register','status','end','json','count','offset','limit','set','apply','reject','save','update','then','destroy','sendStatus','error','stack','name','send','Users','map','fullname'];(function(_0x20c8f6,_0x44c08b){var _0x2d17b9=function(_0x3c5343){while(--_0x3c5343){_0x20c8f6['push'](_0x20c8f6['shift']());}};_0x2d17b9(++_0x44c08b);}(_0x61cd,0xa3));var _0xd61c=function(_0x2c91e9,_0x2fb965){_0x2c91e9=_0x2c91e9-0x0;var _0x13f0ff=_0x61cd[_0x2c91e9];return _0x13f0ff;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0xd61c('0x0'));var jsonpatch=require(_0xd61c('0x1'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0xd61c('0x2'));var Mustache=require('mustache');var util=require('util');var path=require(_0xd61c('0x3'));var sox=require(_0xd61c('0x4'));var csv=require('to-csv');var ejs=require(_0xd61c('0x5'));var fs=require('fs');var _=require(_0xd61c('0x6'));var squel=require(_0xd61c('0x7'));var crypto=require(_0xd61c('0x8'));var jsforce=require(_0xd61c('0x9'));var deskjs=require(_0xd61c('0xa'));var toCsv=require(_0xd61c('0xb'));var querystring=require(_0xd61c('0xc'));var Papa=require('papaparse');var Redis=require(_0xd61c('0xd'));var authService=require('../../components/auth/service');var qs=require(_0xd61c('0xe'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xd61c('0xf'));var logger=require(_0xd61c('0x10'))('api');var utils=require(_0xd61c('0x11'));var config=require(_0xd61c('0x12'));var db=require(_0xd61c('0x13'))['db'];config[_0xd61c('0x14')]=_[_0xd61c('0x15')](config['redis'],{'host':_0xd61c('0x16'),'port':0x18eb});var socket=require(_0xd61c('0x17'))(new Redis(config[_0xd61c('0x14')]));require(_0xd61c('0x18'))[_0xd61c('0x19')](socket);function respondWithStatusCode(_0x4c5d47,_0x8d447b){_0x8d447b=_0x8d447b||0xcc;return function(_0x238d03){if(_0x238d03){return _0x4c5d47['sendStatus'](_0x8d447b);}return _0x4c5d47[_0xd61c('0x1a')](_0x8d447b)[_0xd61c('0x1b')]();};}function respondWithResult(_0x36aa70,_0xcd5ca1){_0xcd5ca1=_0xcd5ca1||0xc8;return function(_0x685642){if(_0x685642){return _0x36aa70[_0xd61c('0x1a')](_0xcd5ca1)[_0xd61c('0x1c')](_0x685642);}};}function respondWithFilteredResult(_0x57d376,_0x4aaae0){return function(_0x5d24b2){if(_0x5d24b2){var _0x495f35=_0x5d24b2[_0xd61c('0x1d')],_0x41b2ac=_0x4aaae0[_0xd61c('0x1e')],_0x23b5b1=_0x4aaae0[_0xd61c('0x1e')]+_0x4aaae0[_0xd61c('0x1f')],_0x18ea24;if(_0x23b5b1>=_0x495f35){_0x23b5b1=_0x495f35;_0x18ea24=0xc8;}else{_0x18ea24=0xce;}_0x57d376[_0xd61c('0x1a')](_0x18ea24);return _0x57d376[_0xd61c('0x20')]('Content-Range',_0x41b2ac+'-'+_0x23b5b1+'/'+_0x495f35)[_0xd61c('0x1c')](_0x5d24b2);}return null;};}function patchUpdates(_0x852135){return function(_0x4979eb){try{jsonpatch[_0xd61c('0x21')](_0x4979eb,_0x852135,!![]);}catch(_0x3bdf50){return BPromise[_0xd61c('0x22')](_0x3bdf50);}return _0x4979eb[_0xd61c('0x23')]();};}function saveUpdates(_0x40c9a6,_0x145ac7){return function(_0x4749bd){if(_0x4749bd){return _0x4749bd[_0xd61c('0x24')](_0x40c9a6)[_0xd61c('0x25')](function(_0x1b6712){return _0x1b6712;});}return null;};}function removeEntity(_0x4424b8,_0x2d44c6){return function(_0x33961a){if(_0x33961a){return _0x33961a[_0xd61c('0x26')]()[_0xd61c('0x25')](function(){_0x4424b8['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0xa8eda3,_0x137433){return function(_0x27ab75){if(!_0x27ab75){_0xa8eda3[_0xd61c('0x27')](0x194);}return _0x27ab75;};}function handleError(_0x37df77,_0x463f31){_0x463f31=_0x463f31||0x1f4;return function(_0x1c1d4f){logger[_0xd61c('0x28')](_0x1c1d4f[_0xd61c('0x29')]);if(_0x1c1d4f[_0xd61c('0x2a')]){delete _0x1c1d4f[_0xd61c('0x2a')];}_0x37df77[_0xd61c('0x1a')](_0x463f31)[_0xd61c('0x2b')](_0x1c1d4f);};}function getInteractionUsers(_0x1d2d1a,_0x4a0cff){return new BPromise(function(_0x16c090,_0x1938d3){try{if(_0x4a0cff[_0x1d2d1a['id']]){_0x1d2d1a[_0xd61c('0x2c')]=_[_0xd61c('0x2d')](_0x4a0cff[_0x1d2d1a['id']],function(_0x4126af){return{'id':_0x4126af['id'],'fullname':_0x4126af[_0xd61c('0x2e')]};});}}catch(_0x208312){_0x1938d3(_0x208312);}_0x16c090(_0x1d2d1a);});}function getInteractionTags(_0x163c3d,_0x5b43b3){return new BPromise(function(_0x2f8440,_0x47373d){try{if(_0x163c3d[_0xd61c('0x2f')]){_0x163c3d[_0xd61c('0x30')]=[];_0x163c3d['TagIds'][_0xd61c('0x31')](',')['forEach'](function(_0x55a46b){_0x163c3d[_0xd61c('0x30')][_0xd61c('0x32')](_0x5b43b3[_0x55a46b]);});}delete _0x163c3d['TagIds'];}catch(_0xcfd4ca){_0x47373d(_0xcfd4ca);}_0x2f8440(_0x163c3d);});}function updateFaxInteraction(_0x55f633,_0x215f52,_0x183327){return new BPromise(function(_0x5dc278,_0x37a4c9){return getInteractionUsers(_0x55f633,_0x183327)[_0xd61c('0x25')](function(_0x4b758c){return getInteractionTags(_0x4b758c,_0x215f52);})[_0xd61c('0x25')](function(_0x2fb63c){_0x5dc278(_0x2fb63c);})['catch'](function(_0x70a6e6){_0x37a4c9(_0x70a6e6);});});}exports[_0xd61c('0x33')]=function(_0x9b5024,_0x2a9122){var _0x2b56e5={},_0x12d68a={},_0x7d9bba={'count':0x0,'rows':[]};var _0x5ee4b3=_['map'](db[_0xd61c('0x34')][_0xd61c('0x35')],function(_0x2a3e7a){return{'name':_0x2a3e7a['fieldName'],'type':_0x2a3e7a[_0xd61c('0x36')][_0xd61c('0x37')]};});_0x12d68a[_0xd61c('0x38')]=_['map'](_0x5ee4b3,'name');_0x12d68a[_0xd61c('0x39')]=_[_0xd61c('0x3a')](_0x9b5024[_0xd61c('0x39')]);_0x12d68a[_0xd61c('0x3b')]=_[_0xd61c('0x3c')](_0x12d68a[_0xd61c('0x38')],_0x12d68a['query']);_0x2b56e5['attributes']=_[_0xd61c('0x3c')](_0x12d68a[_0xd61c('0x38')],qs[_0xd61c('0x3d')](_0x9b5024[_0xd61c('0x39')][_0xd61c('0x3d')]));_0x2b56e5[_0xd61c('0x3e')]=_0x2b56e5[_0xd61c('0x3e')][_0xd61c('0x3f')]?_0x2b56e5['attributes']:_0x12d68a[_0xd61c('0x38')];if(!_0x9b5024[_0xd61c('0x39')][_0xd61c('0x40')](_0xd61c('0x41'))){_0x2b56e5[_0xd61c('0x1f')]=qs[_0xd61c('0x1f')](_0x9b5024['query']['limit']);_0x2b56e5[_0xd61c('0x1e')]=qs[_0xd61c('0x1e')](_0x9b5024[_0xd61c('0x39')][_0xd61c('0x1e')]);}_0x2b56e5[_0xd61c('0x42')]=qs['sort'](_0x9b5024[_0xd61c('0x39')][_0xd61c('0x43')]);_0x2b56e5[_0xd61c('0x44')]=qs[_0xd61c('0x3b')](_[_0xd61c('0x45')](_0x9b5024[_0xd61c('0x39')],_0x12d68a['filters']));var _0x1321b2=[];var _0x53b60d=squel['select']()[_0xd61c('0x46')]('id')[_0xd61c('0x46')](_0xd61c('0x2a'))['field'](_0xd61c('0x47'))[_0xd61c('0x48')]('tools_tags');var _0x14790d=squel['select']()['field'](_0xd61c('0x49'))[_0xd61c('0x46')](_0xd61c('0x4a'))[_0xd61c('0x46')]('ui.FaxInteractionId')[_0xd61c('0x48')]('user_has_fax_interactions','ui')[_0xd61c('0x4b')](_0xd61c('0x4c'),'u',_0xd61c('0x4d'));var _0x46e8c3=squel[_0xd61c('0x4e')]()[_0xd61c('0x48')](_0xd61c('0x4f'),'i')['left_join'](_0xd61c('0x50'),'c',_0xd61c('0x51'))[_0xd61c('0x4b')](_0xd61c('0x4c'),'o',_0xd61c('0x52'))['left_join'](_0xd61c('0x53'),'a','a.id\x20=\x20i.FaxAccountId')[_0xd61c('0x4b')](_0xd61c('0x54'),'me',_0xd61c('0x55'))[_0xd61c('0x4b')](_0xd61c('0x56'),'it',_0xd61c('0x57'))[_0xd61c('0x4b')](_0xd61c('0x58'),'t',_0xd61c('0x59'));var _0x45e006=squel[_0xd61c('0x5a')]();var _0x24107c=[];var _0x264392=squel['expr']();var _0x24f661;if(_0x9b5024['query'][_0xd61c('0x5b')]){_0x24f661=as[_0xd61c('0x5c')](_0x9b5024['query'][_0xd61c('0x5b')]);var _0x45131d=_0x24f661[_0xd61c('0x5d')];for(var _0x47d5b2=0x0;_0x47d5b2<_0x24f661[_0xd61c('0x5e')][_0xd61c('0x3f')];_0x47d5b2++){var _0x5d2d83=_0x24f661[_0xd61c('0x5e')][_0x47d5b2];var _0x289b8f='i';var _0x2a5552=_[_0xd61c('0x5f')](_0x5ee4b3,['name',_0x5d2d83[_0xd61c('0x46')]]);if(!_0x2a5552){switch(_0x5d2d83[_0xd61c('0x46')]){case'unreadMessages':if(_0x5d2d83[_0xd61c('0x60')]==0x1){_0x46e8c3[_0xd61c('0x61')]('`'+_0x5d2d83[_0xd61c('0x46')]+_0xd61c('0x62'));}else{_0x46e8c3['having']('`'+_0x5d2d83[_0xd61c('0x46')]+_0xd61c('0x63'));}break;case _0xd61c('0x64'):if(_0x5d2d83[_0xd61c('0x65')]===_0xd61c('0x66')){if(_0x5d2d83[_0xd61c('0x60')][_0xd61c('0x31')]('\x20')['length']>0x1){_0x45e006[_0x45131d]('MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs['getFullTextValue'](_0x5d2d83[_0xd61c('0x60')]),null);}else{var _0x582c76='%'+_0x5d2d83[_0xd61c('0x60')]+'%';_0x45e006[_0x45131d](_0xd61c('0x67'),_0x582c76,_0x582c76,_0x582c76);}}else{_0x2a5552=_[_0xd61c('0x5f')](_0x5ee4b3,['name',_0xd61c('0x68')]);_0x5d2d83[_0xd61c('0x46')]='ContactId';_0x284f90=as[_0xd61c('0x69')](_0x289b8f,_0x2a5552[_0xd61c('0x36')],_0x5d2d83);_0x45e006[_0x45131d](_0x284f90[_0xd61c('0x6a')],_0x284f90[_0xd61c('0x60')]['start'],_0x284f90[_0xd61c('0x60')][_0xd61c('0x1b')]);}break;case _0xd61c('0x6b'):var _0x3e39db=_0x5d2d83[_0xd61c('0x60')]['split'](',')['map'](function(_0x18c016){return Number(_0x18c016);});_0x3e39db['forEach'](function(_0x11813a){_0x264392['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x11813a+',%');});_0x24107c=_['union'](_0x24107c,_0x3e39db);break;case'User':if(_0x5d2d83[_0xd61c('0x65')]==='$substring'){_0x45e006[_0x45131d]('CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','%'+_0x5d2d83[_0xd61c('0x60')]+'%',null);}else{_0x2a5552=_[_0xd61c('0x5f')](_0x5ee4b3,[_0xd61c('0x2a'),_0xd61c('0x6c')]);_0x5d2d83['field']=_0xd61c('0x6c');_0x284f90=as['buildExpression'](_0x289b8f,_0x2a5552[_0xd61c('0x36')],_0x5d2d83);_0x45e006[_0x45131d](_0x284f90[_0xd61c('0x6a')],_0x284f90['value']['start'],_0x284f90[_0xd61c('0x60')][_0xd61c('0x1b')]);}break;case _0xd61c('0x6d'):_0x284f90=as[_0xd61c('0x69')]('me',null,_0x5d2d83);_0x45e006[_0x45131d](_0x284f90['text'],_0x284f90[_0xd61c('0x60')]['start'],_0x284f90[_0xd61c('0x60')][_0xd61c('0x1b')]);break;}}else{var _0x284f90=as['buildExpression'](_0x289b8f,_0x2a5552[_0xd61c('0x36')],_0x5d2d83);_0x45e006[_0x45131d](_0x284f90[_0xd61c('0x6a')],_0x284f90[_0xd61c('0x60')][_0xd61c('0x6e')],_0x284f90[_0xd61c('0x60')][_0xd61c('0x1b')]);}}}else{var _0x274b51=_(_0x9b5024['query'])[_0xd61c('0x3a')]()['map'](function(_0x47da90){return _['some'](_0x5ee4b3,[_0xd61c('0x2a'),_0x47da90])?_0x47da90:undefined;})[_0xd61c('0x6f')]()[_0xd61c('0x60')]();if(!_[_0xd61c('0x70')](_0x274b51)){_0x274b51[_0xd61c('0x71')](function(_0x538de3){if(_0x538de3===_0xd61c('0x72')){_0x46e8c3[_0xd61c('0x44')](_0xd61c('0x73'),[][_0xd61c('0x74')](_0x9b5024['query'][_0x538de3]));}else if(_0x538de3===_0xd61c('0x75')){var _0x38d4e8=JSON[_0xd61c('0x76')](_0x9b5024[_0xd61c('0x39')][_0x538de3])[_0xd61c('0x77')];var _0x18e3a3=JSON['parse'](_0x9b5024[_0xd61c('0x39')][_0x538de3])['$lte'];_0x46e8c3[_0xd61c('0x44')](_0xd61c('0x78'),_0x38d4e8,_0x18e3a3);}else{if(_0x9b5024[_0xd61c('0x39')][_0x538de3]===_0xd61c('0x79')){_0x46e8c3[_0xd61c('0x44')]('i.'+_0x538de3+_0xd61c('0x7a'));}else{_0x46e8c3[_0xd61c('0x44')]('i.'+_0x538de3+_0xd61c('0x7b'),_0x9b5024[_0xd61c('0x39')][_0x538de3]);}}});}if(_0x9b5024[_0xd61c('0x39')][_0xd61c('0x7c')]){if(_0x9b5024[_0xd61c('0x39')][_0xd61c('0x7c')]==0x1){_0x46e8c3[_0xd61c('0x61')]('`unreadMessages`\x20=\x200');}else{_0x46e8c3[_0xd61c('0x61')](_0xd61c('0x7d'));}}if(_0x9b5024['query'][_0xd61c('0x7e')]){_0x24107c=_[_0xd61c('0x7f')](_0x9b5024[_0xd61c('0x39')]['tag'])?_0x9b5024['query']['tag']:new Array(_0x9b5024[_0xd61c('0x39')]['tag']);_0x24107c[_0xd61c('0x71')](function(_0x22e38c){_0x264392['or'](_0xd61c('0x80'),'%,'+_0x22e38c+',%');});}if(_0x9b5024[_0xd61c('0x39')]['filter']){var _0x55209d=_0x9b5024[_0xd61c('0x39')]['filter'][_0xd61c('0x81')]('\x5c','\x5c\x5c')[_0xd61c('0x81')]('\x27\x27','\x27\x27\x27\x27');if(qs[_0xd61c('0x82')](_0x55209d)){_0x45e006['or'](_0xd61c('0x83'),_0x55209d+'%')['or'](_0xd61c('0x84'),_0x55209d+'%');}_0x45e006['or'](_0xd61c('0x85'),_0x55209d+'%');}}_0x46e8c3['where'](_0x45e006);_0x46e8c3['group']('i.id');var _0x8ea690={'type':db[_0xd61c('0x86')]['QueryTypes'][_0xd61c('0x87')],'raw':!![]};var _0x6f0c2=_0x46e8c3[_0xd61c('0x88')]();_0x6f0c2[_0xd61c('0x46')](_0xd61c('0x89'));_0x6f0c2[_0xd61c('0x46')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0xd61c('0x8a'));if(_0x2b56e5['order']){_0x2b56e5[_0xd61c('0x42')][_0xd61c('0x71')](function(_0x45a35a){_0x46e8c3['order']('i.'+_0x45a35a[0x0],_0x45a35a[0x1]==='DESC'?![]:!![]);});}if(!_[_0xd61c('0x70')](_0x24107c)){_0x46e8c3['having'](_0x264392);_0x6f0c2[_0xd61c('0x44')](_0xd61c('0x8b'),_0x24107c);}BPromise[_0xd61c('0x8c')]()[_0xd61c('0x25')](function(){if(!_0x24f661){if(_0x9b5024['query'][_0xd61c('0x72')]||_0x9b5024['query'][_0xd61c('0x8d')])return;_0x6f0c2['where'](_0xd61c('0x8e'));_0x46e8c3[_0xd61c('0x44')]('i.FaxAccountId\x20IS\x20NOT\x20NULL');return;}return _0x9b5024[_0xd61c('0x8f')][_0xd61c('0x90')]({'attributes':['id'],'raw':!![]})[_0xd61c('0x25')](function(_0x3917ab){if(_['isEmpty'](_0x3917ab)){_0x6f0c2['where'](_0xd61c('0x91'));_0x46e8c3['where'](_0xd61c('0x91'));}else{_0x6f0c2[_0xd61c('0x44')](_0xd61c('0x73'),_['map'](_0x3917ab,'id'));_0x46e8c3[_0xd61c('0x44')]('i.FaxAccountId\x20IN\x20?',_[_0xd61c('0x2d')](_0x3917ab,'id'));}});})[_0xd61c('0x25')](function(){db[_0xd61c('0x92')][_0xd61c('0x39')](_0x6f0c2['toString'](),_0x8ea690)['then'](function(_0x6b3d68){_0x7d9bba[_0xd61c('0x1d')]=_0x6b3d68[_0xd61c('0x3f')];if(_0x7d9bba[_0xd61c('0x1d')]===0x0)return[];return db[_0xd61c('0x92')][_0xd61c('0x39')](_0x53b60d['toString'](),_0x8ea690)['then'](function(_0x36912a){_0x1321b2=_['keyBy'](_0x36912a,'id');_0x8ea690=_[_0xd61c('0x93')](_0x8ea690,{'model':db['FaxInteraction'],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x9b5024[_0xd61c('0x39')][_0xd61c('0x3d')]){_0x2b56e5['attributes']['forEach'](function(_0x4a6cac){_0x46e8c3['field']('i.'+_0x4a6cac);});}else{_0x46e8c3[_0xd61c('0x46')](_0xd61c('0x94'),_0xd61c('0x8a'));_0x46e8c3[_0xd61c('0x46')]('a.key',_0xd61c('0x95'));_0x46e8c3['field']('a.mandatoryDisposition',_0xd61c('0x96'));_0x46e8c3['field'](_0xd61c('0x97'));_0x46e8c3['field'](_0xd61c('0x98'),_0xd61c('0x99'));_0x46e8c3[_0xd61c('0x46')](_0xd61c('0x9a'),_0xd61c('0x9b'));_0x46e8c3['field']('c.email',_0xd61c('0x9c'));_0x46e8c3[_0xd61c('0x46')](_0xd61c('0x9d'),_0xd61c('0x9e'));_0x46e8c3['field'](_0xd61c('0x9f'),_0xd61c('0xa0'));_0x46e8c3[_0xd61c('0x46')]('c.fax',_0xd61c('0xa1'));_0x46e8c3['field'](_0xd61c('0xa2'),_0xd61c('0xa3'));_0x46e8c3[_0xd61c('0x46')](_0xd61c('0xa4'),_0xd61c('0xa5'));_0x46e8c3[_0xd61c('0x46')]('GROUP_CONCAT(DISTINCT\x20t.id)',_0xd61c('0x2f'));}_0x46e8c3[_0xd61c('0x1f')](_0x2b56e5[_0xd61c('0x1f')]);_0x46e8c3['offset'](_0x2b56e5['offset']);return db[_0xd61c('0x92')][_0xd61c('0x39')](_0x46e8c3[_0xd61c('0xa6')](),_0x8ea690);})[_0xd61c('0x25')](function(_0x4a2cfd){_0x14790d[_0xd61c('0x44')]('ui.FaxInteractionId\x20IN\x20?',_[_0xd61c('0x2d')](_0x4a2cfd,'id'));return db[_0xd61c('0x92')][_0xd61c('0x39')](_0x14790d[_0xd61c('0xa6')](),_0x8ea690)[_0xd61c('0x25')](function(_0x1dedb){var _0x1adae4=_['groupBy'](_0x1dedb,_0xd61c('0xa7'));var _0x116818=[];_0x4a2cfd[_0xd61c('0x71')](function(_0x4b66bc){_0x116818[_0xd61c('0x32')](updateFaxInteraction(_0x4b66bc,_0x1321b2,_0x1adae4));});return BPromise[_0xd61c('0xa8')](_0x116818);});});})['then'](function(_0x5378ca){_0x7d9bba[_0xd61c('0xa9')]=_0x5378ca;return _0x7d9bba;})[_0xd61c('0x25')](respondWithFilteredResult(_0x2a9122,_0x2b56e5));})[_0xd61c('0xaa')](handleError(_0x2a9122,null));};exports['show']=function(_0x7fdb19,_0xe94997){var _0x37170f={'raw':![],'where':{'id':_0x7fdb19[_0xd61c('0xab')]['id']}},_0x126d16={};_0x126d16['model']=_['keys'](db[_0xd61c('0x34')][_0xd61c('0x35')]);_0x126d16[_0xd61c('0x39')]=_['keys'](_0x7fdb19[_0xd61c('0x39')]);_0x126d16[_0xd61c('0x3b')]=_['intersection'](_0x126d16['model'],_0x126d16['query']);_0x37170f[_0xd61c('0x3e')]=_[_0xd61c('0x3c')](_0x126d16[_0xd61c('0x38')],qs[_0xd61c('0x3d')](_0x7fdb19[_0xd61c('0x39')][_0xd61c('0x3d')]));_0x37170f[_0xd61c('0x3e')]=_0x37170f[_0xd61c('0x3e')]['length']?_0x37170f[_0xd61c('0x3e')]:_0x126d16[_0xd61c('0x38')];if(_0x7fdb19['query'][_0xd61c('0xac')]){_0x37170f[_0xd61c('0xad')]=[{'all':!![]}];}_0x37170f=_[_0xd61c('0x93')]({},_0x37170f,_0x7fdb19[_0xd61c('0xae')]);return db[_0xd61c('0x34')][_0xd61c('0x5f')](_0x37170f)[_0xd61c('0x25')](handleEntityNotFound(_0xe94997,null))['then'](respondWithResult(_0xe94997,null))[_0xd61c('0xaa')](handleError(_0xe94997,null));};exports['create']=function(_0x4c1a03,_0x352453){return db[_0xd61c('0x34')][_0xd61c('0xaf')](_0x4c1a03[_0xd61c('0x6d')],{})[_0xd61c('0x25')](respondWithResult(_0x352453,0xc9))['catch'](handleError(_0x352453,null));};exports[_0xd61c('0x24')]=function(_0x3d8816,_0x3312d9){if(_0x3d8816['body']['id']){delete _0x3d8816[_0xd61c('0x6d')]['id'];}return db[_0xd61c('0x34')][_0xd61c('0x5f')]({'where':{'id':_0x3d8816[_0xd61c('0xab')]['id']}})['then'](handleEntityNotFound(_0x3312d9,null))[_0xd61c('0x25')](saveUpdates(_0x3d8816[_0xd61c('0x6d')],null))[_0xd61c('0x25')](respondWithResult(_0x3312d9,null))[_0xd61c('0xaa')](handleError(_0x3312d9,null));};exports[_0xd61c('0x26')]=function(_0x263fe1,_0x1bc017){return db['FaxInteraction'][_0xd61c('0x5f')]({'where':{'id':_0x263fe1[_0xd61c('0xab')]['id']}})[_0xd61c('0x25')](handleEntityNotFound(_0x1bc017,null))[_0xd61c('0x25')](removeEntity(_0x1bc017,null))[_0xd61c('0xaa')](handleError(_0x1bc017,null));};exports['describe']=function(_0x1f3ea1,_0x11c24c){return db[_0xd61c('0x34')]['describe']()['then'](respondWithResult(_0x11c24c,null))[_0xd61c('0xaa')](handleError(_0x11c24c,null));};exports[_0xd61c('0xb0')]=function(_0x1f9e61,_0x1f377b,_0xe15863){return db[_0xd61c('0xb1')][_0xd61c('0x5f')]({'where':{'id':_0x1f9e61[_0xd61c('0xab')]['id']}})[_0xd61c('0x25')](handleEntityNotFound(_0x1f377b,null))['then'](function(_0x2c4ad8){if(_0x2c4ad8){return _0x2c4ad8[_0xd61c('0xb0')](_0x1f9e61[_0xd61c('0x6d')]['ids'],_['omit'](_0x1f9e61[_0xd61c('0x6d')],['ids','id'])||{});}})[_0xd61c('0x25')](respondWithResult(_0x1f377b,null))['catch'](handleError(_0x1f377b,null));};exports[_0xd61c('0xb2')]=function(_0x3c1539,_0x28fb44,_0x12ce78){var _0x1a5f88={'raw':![],'where':{}};var _0x1eabaf={};var _0x58b09f={'count':0x0,'rows':[]};return db[_0xd61c('0x34')][_0xd61c('0xb3')]({'where':{'id':_0x3c1539[_0xd61c('0xab')]['id']}})[_0xd61c('0x25')](handleEntityNotFound(_0x28fb44,null))['then'](function(_0xccfb5a){if(_0xccfb5a){_0x1eabaf[_0xd61c('0x38')]=_[_0xd61c('0x3a')](db[_0xd61c('0xb1')][_0xd61c('0x35')]);_0x1eabaf[_0xd61c('0x39')]=_[_0xd61c('0x3a')](_0x3c1539[_0xd61c('0x39')]);_0x1eabaf[_0xd61c('0x3b')]=_[_0xd61c('0x3c')](_0x1eabaf['model'],_0x1eabaf[_0xd61c('0x39')]);_0x1a5f88[_0xd61c('0x3e')]=_[_0xd61c('0x3c')](_0x1eabaf[_0xd61c('0x38')],qs[_0xd61c('0x3d')](_0x3c1539['query'][_0xd61c('0x3d')]));_0x1a5f88[_0xd61c('0x3e')]=_0x1a5f88[_0xd61c('0x3e')][_0xd61c('0x3f')]?_0x1a5f88[_0xd61c('0x3e')]:_0x1eabaf[_0xd61c('0x38')];if(!_0x3c1539[_0xd61c('0x39')][_0xd61c('0x40')](_0xd61c('0x41'))){_0x1a5f88[_0xd61c('0x1f')]=qs['limit'](_0x3c1539['query'][_0xd61c('0x1f')]);_0x1a5f88['offset']=qs[_0xd61c('0x1e')](_0x3c1539[_0xd61c('0x39')][_0xd61c('0x1e')]);}_0x1a5f88[_0xd61c('0x42')]=qs[_0xd61c('0x43')](_0x3c1539[_0xd61c('0x39')]['sort']);_0x1a5f88[_0xd61c('0x44')]=qs[_0xd61c('0x3b')](_['pick'](_0x3c1539[_0xd61c('0x39')],_0x1eabaf[_0xd61c('0x3b')]));_0x1a5f88[_0xd61c('0x44')][_0xd61c('0xa7')]=_0xccfb5a['id'];if(_0x3c1539[_0xd61c('0x39')][_0xd61c('0xb4')]){_0x1a5f88[_0xd61c('0x44')]=_[_0xd61c('0x93')](_0x1a5f88[_0xd61c('0x44')],{'$or':_['map'](_0x1a5f88[_0xd61c('0x3e')],function(_0x2fa5dc){var _0x134a0c={};_0x134a0c[_0x2fa5dc]={'$like':'%'+_0x3c1539[_0xd61c('0x39')][_0xd61c('0xb4')]+'%'};return _0x134a0c;})});}if(_0x3c1539[_0xd61c('0x39')][_0xd61c('0x77')]){var _0x4c787b=_0x3c1539[_0xd61c('0x39')][_0xd61c('0x77')][_0xd61c('0x31')](',');var _0x27d061={};_0x27d061[_0x4c787b[0x0]]={'$gte':moment(_0x4c787b[0x1])['format'](_0xd61c('0xb5'))};_0x1a5f88[_0xd61c('0x44')]=_['merge'](_0x1a5f88[_0xd61c('0x44')],_0x27d061);}_0x1a5f88=_[_0xd61c('0x93')]({},_0x1a5f88,_0x3c1539[_0xd61c('0xae')]);return db['FaxMessage'][_0xd61c('0x1d')]({'where':_0x1a5f88[_0xd61c('0x44')]})[_0xd61c('0x25')](function(_0x5b3782){_0x58b09f[_0xd61c('0x1d')]=_0x5b3782;if(_0x3c1539[_0xd61c('0x39')][_0xd61c('0xac')]){_0x1a5f88[_0xd61c('0xad')]=[{'all':!![]}];}return db[_0xd61c('0xb1')]['findAll'](_0x1a5f88);})[_0xd61c('0x25')](function(_0x1794dd){_0x58b09f[_0xd61c('0xa9')]=_0x1794dd;return _0x58b09f;});}})['then'](respondWithFilteredResult(_0x28fb44,_0x1a5f88))[_0xd61c('0xaa')](handleError(_0x28fb44,null));};exports[_0xd61c('0xb6')]=function(_0x49052d,_0x296bf6,_0x4ca647){return db[_0xd61c('0x34')][_0xd61c('0x5f')]({'where':{'id':_0x49052d['params']['id']}})[_0xd61c('0x25')](handleEntityNotFound(_0x296bf6,null))[_0xd61c('0x25')](function(_0x17a4c3){if(_0x17a4c3){return _0x17a4c3[_0xd61c('0xb7')](_0x49052d[_0xd61c('0x6d')][_0xd61c('0xb8')],_[_0xd61c('0xb9')](_0x49052d[_0xd61c('0x6d')],[_0xd61c('0xb8'),'id'])||{})[_0xd61c('0xba')](function(){return db[_0xd61c('0x6b')][_0xd61c('0xbb')]({'attributes':['id',_0xd61c('0x2a'),_0xd61c('0x47')],'where':{'id':_0x49052d[_0xd61c('0x6d')]['ids']}});})['then'](function(_0x32333a){socket[_0xd61c('0xbc')](_0xd61c('0xbd'),{'id':Number(_0x49052d[_0xd61c('0xab')]['id']),'tags':_0x32333a||[]});return{'id':Number(_0x49052d[_0xd61c('0xab')]['id']),'tags':_0x32333a||[]};});}})[_0xd61c('0x25')](respondWithResult(_0x296bf6,null))['catch'](handleError(_0x296bf6,null));};exports[_0xd61c('0xbe')]=function(_0x1133f2,_0x58897f,_0x5ce834){return db[_0xd61c('0x34')][_0xd61c('0x5f')]({'where':{'id':_0x1133f2[_0xd61c('0xab')]['id']}})[_0xd61c('0x25')](handleEntityNotFound(_0x58897f,null))[_0xd61c('0x25')](function(_0x4ee680){if(_0x4ee680){return _0x4ee680['removeTags'](_0x1133f2[_0xd61c('0x39')][_0xd61c('0xb8')]);}})['then'](respondWithStatusCode(_0x58897f,null))[_0xd61c('0xaa')](handleError(_0x58897f,null));};exports['download']=function(_0x5900ea,_0x320263){var _0x487718=moment()[_0xd61c('0xbf')]()['toString']();var _0x203deb=path[_0xd61c('0xc0')](config[_0xd61c('0xc1')],_0xd61c('0xc2'),_0xd61c('0xc3'),'tmp');var _0x526d78=path[_0xd61c('0xc0')](config[_0xd61c('0xc1')],_0xd61c('0xc2'),_0xd61c('0xc3'),'attachments');var _0x705ede=path[_0xd61c('0xc0')](_0x203deb,_0x487718);var _0x4cf8c3=util[_0xd61c('0xc4')](_0xd61c('0xc5'),_0x5900ea[_0xd61c('0xab')]['id'],_0x487718);var _0x3b61f3=path[_0xd61c('0xc0')](_0x203deb,_0x4cf8c3);var _0x5295aa=[];_0x5295aa['push']({'model':db[_0xd61c('0xc6')],'as':_0xd61c('0xc6'),'raw':!![]});var _0x3c722a=[{'model':db['FaxMessage'],'as':_0xd61c('0xc7'),'attributes':['id',_0xd61c('0x6d'),_0xd61c('0x75')],'include':_0x5295aa}];return db['FaxInteraction'][_0xd61c('0x5f')]({'where':{'id':_0x5900ea[_0xd61c('0xab')]['id']},'include':_0x3c722a})[_0xd61c('0x25')](handleEntityNotFound(_0x320263,null))[_0xd61c('0x25')](function(_0x982d3){if(_0x982d3&&_0x982d3[_0xd61c('0xc7')]){var _0x3c540d=_0x982d3[_0xd61c('0xc8')]({'plain':!![]});fs[_0xd61c('0xc9')](_0x705ede);for(var _0x4d9050=0x0;_0x4d9050<_0x3c540d[_0xd61c('0xc7')][_0xd61c('0x3f')];_0x4d9050++){var _0x42b5af=_0x3c540d[_0xd61c('0xc7')][_0x4d9050]['Attachment'];if(_0x42b5af){var _0x3fb8b0=path[_0xd61c('0xc0')](_0x526d78,_0x42b5af[_0xd61c('0xca')]);if(fs[_0xd61c('0xcb')](_0x3fb8b0)){fs[_0xd61c('0xcc')](_0x3fb8b0)[_0xd61c('0xcd')](fs[_0xd61c('0xce')](path[_0xd61c('0xc0')](_0x705ede,_0x42b5af[_0xd61c('0xca')])));}}}return BPromise[_0xd61c('0x8c')]()[_0xd61c('0x25')](function(){return new BPromise(function(_0x4be383,_0x26dba1){zipdir(_0x705ede,{'saveTo':_0x3b61f3},function(_0x65fa38,_0x33ea15){if(_0x65fa38)return _0x26dba1(_0x65fa38);return _0x4be383(_0x33ea15);});})['then'](function(){return new BPromise(function(_0x43c03e,_0xc1cd3d){rimraf(_0x705ede,function(_0x5d5695){if(_0x5d5695)_0xc1cd3d(_0x5d5695);return _0x43c03e();});});})['then'](function(){return _0x320263[_0xd61c('0xcf')](_0x3b61f3,_0x4cf8c3,function(_0x590edd){if(_0x590edd){console[_0xd61c('0xd0')](_0xd61c('0xd1'),_0x590edd);}else{fs['unlinkSync'](_0x3b61f3);}});});});}else{return _0x320263[_0xd61c('0x27')](0xc8);}})[_0xd61c('0xaa')](handleError(_0x320263,null));};