6e2f2b4d8a0c4a0c068e82cd194d8b50416b606c
[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 _0x3536=['order','sort','where','pick','select','field','color','from','u.id','ui.FaxInteractionId','user_has_fax_interactions','left_join','users','u.id\x20=\x20ui.UserId','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','o.id\x20=\x20i.UserId','fax_accounts','a.id\x20=\x20i.FaxAccountId','me.FaxInteractionId\x20=\x20i.id','fax_interaction_has_tags','it.FaxInteractionId\x20=\x20i.id','tools_tags','t.id\x20=\x20it.TagId','expr','parseSearch','search','sqlOperator','conditions','find','unreadMessages','value','having','`\x20>\x200','Contact','operator','$substring','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','buildExpression','text','start','Tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','body','some','compact','isEmpty','FaxAccountId','i.FaxAccountId\x20IN\x20?','concat','createdAt','parse','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20>\x200','tag','filter','replace','isNumeric','i.fax\x20LIKE\x20?','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','i.id','QueryTypes','SELECT','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','contactName','DESC','resolve','i.FaxAccountId\x20IS\x20NOT\x20NULL','user','role','agent','getFaxAccounts','i.FaxAccountId\x20IS\x20NULL','sequelize','keyBy','merge','a.key','Account.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','c.firstName','Contact.firstName','c.lastName','Contact.lastName','Contact.email','c.phone','Contact.phone','c.mobile','Contact.mobile','c.fax','o.fullname','Owner.fullname','o.internal','GROUP_CONCAT(DISTINCT\x20t.id)','toString','ui.FaxInteractionId\x20IN\x20?','groupBy','FaxInteractionId','all','rows','params','rawAttributes','include','options','create','describe','addMessage','FaxMessage','getMessages','findOne','nolimit','format','findAll','addTags','setTags','ids','omit','spread','emit','removeTags','download','unix','root','server','files','tmp','join','attachments','transcript-%d-%s.zip','Attachment','Messages','get','basename','existsSync','createReadStream','pipe','createWriteStream','log','unlinkSync','eml-format','zip-dir','fast-json-patch','bluebird','mustache','util','path','sox','to-csv','ejs','squel','jsforce','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','socket.io-emitter','./faxInteraction.socket','register','sendStatus','status','end','json','offset','undefined','limit','count','Content-Range','apply','reject','update','then','destroy','error','stack','name','Users','map','fullname','TagIds','split','forEach','push','catch','FaxInteraction','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty'];(function(_0x3717f1,_0x113e7b){var _0x4f24df=function(_0x4ea7ea){while(--_0x4ea7ea){_0x3717f1['push'](_0x3717f1['shift']());}};_0x4f24df(++_0x113e7b);}(_0x3536,0x98));var _0x6353=function(_0x4955eb,_0x1623b0){_0x4955eb=_0x4955eb-0x0;var _0x9e93b3=_0x3536[_0x4955eb];return _0x9e93b3;};'use strict';var emlformat=require(_0x6353('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x6353('0x1'));var jsonpatch=require(_0x6353('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x6353('0x3'));var Mustache=require(_0x6353('0x4'));var util=require(_0x6353('0x5'));var path=require(_0x6353('0x6'));var sox=require(_0x6353('0x7'));var csv=require(_0x6353('0x8'));var ejs=require(_0x6353('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x6353('0xa'));var crypto=require('crypto');var jsforce=require(_0x6353('0xb'));var deskjs=require('desk.js');var toCsv=require(_0x6353('0x8'));var querystring=require('querystring');var Papa=require(_0x6353('0xc'));var Redis=require(_0x6353('0xd'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x6353('0xe'));var hardwareService=require(_0x6353('0xf'));var logger=require(_0x6353('0x10'))(_0x6353('0x11'));var utils=require(_0x6353('0x12'));var config=require(_0x6353('0x13'));var licenseUtil=require(_0x6353('0x14'));var db=require(_0x6353('0x15'))['db'];config[_0x6353('0x16')]=_[_0x6353('0x17')](config[_0x6353('0x16')],{'host':'localhost','port':0x18eb});var socket=require(_0x6353('0x18'))(new Redis(config[_0x6353('0x16')]));require(_0x6353('0x19'))[_0x6353('0x1a')](socket);function respondWithStatusCode(_0x26db11,_0x41375c){_0x41375c=_0x41375c||0xcc;return function(_0x33af6e){if(_0x33af6e){return _0x26db11[_0x6353('0x1b')](_0x41375c);}return _0x26db11[_0x6353('0x1c')](_0x41375c)[_0x6353('0x1d')]();};}function respondWithResult(_0x1ec0fe,_0xb00a0c){_0xb00a0c=_0xb00a0c||0xc8;return function(_0x2c635e){if(_0x2c635e){return _0x1ec0fe['status'](_0xb00a0c)[_0x6353('0x1e')](_0x2c635e);}};}function respondWithFilteredResult(_0x431177,_0x4e6c52){return function(_0xe38f69){if(_0xe38f69){var _0x395cf9=typeof _0x4e6c52[_0x6353('0x1f')]===_0x6353('0x20')&&typeof _0x4e6c52[_0x6353('0x21')]==='undefined';var _0x239974=_0xe38f69[_0x6353('0x22')];var _0x519ac4=_0x395cf9?0x0:_0x4e6c52[_0x6353('0x1f')];var _0x1f184c=_0x395cf9?_0xe38f69[_0x6353('0x22')]:_0x4e6c52[_0x6353('0x1f')]+_0x4e6c52[_0x6353('0x21')];var _0x1c0167;if(_0x1f184c>=_0x239974){_0x1f184c=_0x239974;_0x1c0167=0xc8;}else{_0x1c0167=0xce;}_0x431177[_0x6353('0x1c')](_0x1c0167);return _0x431177['set'](_0x6353('0x23'),_0x519ac4+'-'+_0x1f184c+'/'+_0x239974)[_0x6353('0x1e')](_0xe38f69);}return null;};}function patchUpdates(_0x57e3a8){return function(_0xb98404){try{jsonpatch[_0x6353('0x24')](_0xb98404,_0x57e3a8,!![]);}catch(_0x544597){return BPromise[_0x6353('0x25')](_0x544597);}return _0xb98404['save']();};}function saveUpdates(_0x44e6c7,_0xde17b8){return function(_0x56dfb4){if(_0x56dfb4){return _0x56dfb4[_0x6353('0x26')](_0x44e6c7)[_0x6353('0x27')](function(_0x3c51c3){return _0x3c51c3;});}return null;};}function removeEntity(_0x25b080,_0x595baa){return function(_0x5da176){if(_0x5da176){return _0x5da176[_0x6353('0x28')]()[_0x6353('0x27')](function(){_0x25b080[_0x6353('0x1c')](0xcc)[_0x6353('0x1d')]();});}};}function handleEntityNotFound(_0x469265,_0x4436fa){return function(_0x4ecb4b){if(!_0x4ecb4b){_0x469265[_0x6353('0x1b')](0x194);}return _0x4ecb4b;};}function handleError(_0x32b6c9,_0x4fb548){_0x4fb548=_0x4fb548||0x1f4;return function(_0x3e2060){logger[_0x6353('0x29')](_0x3e2060[_0x6353('0x2a')]);if(_0x3e2060['name']){delete _0x3e2060[_0x6353('0x2b')];}_0x32b6c9[_0x6353('0x1c')](_0x4fb548)['send'](_0x3e2060);};}function getInteractionUsers(_0x3b4981,_0x208955){return new BPromise(function(_0x2b1d31,_0x56bc7c){try{if(_0x208955[_0x3b4981['id']]){_0x3b4981[_0x6353('0x2c')]=_[_0x6353('0x2d')](_0x208955[_0x3b4981['id']],function(_0x210e3d){return{'id':_0x210e3d['id'],'fullname':_0x210e3d[_0x6353('0x2e')]};});}}catch(_0x5ee785){_0x56bc7c(_0x5ee785);}_0x2b1d31(_0x3b4981);});}function getInteractionTags(_0x29cfc8,_0x387410){return new BPromise(function(_0x2c631c,_0x4ea4c6){try{if(_0x29cfc8[_0x6353('0x2f')]){_0x29cfc8['Tags']=[];_0x29cfc8[_0x6353('0x2f')][_0x6353('0x30')](',')[_0x6353('0x31')](function(_0x822827){_0x29cfc8['Tags'][_0x6353('0x32')](_0x387410[_0x822827]);});}delete _0x29cfc8[_0x6353('0x2f')];}catch(_0x533b88){_0x4ea4c6(_0x533b88);}_0x2c631c(_0x29cfc8);});}function updateFaxInteraction(_0x55f092,_0x5a9340,_0x328943){return new BPromise(function(_0x589234,_0x518660){return getInteractionUsers(_0x55f092,_0x328943)[_0x6353('0x27')](function(_0x3d2d09){return getInteractionTags(_0x3d2d09,_0x5a9340);})[_0x6353('0x27')](function(_0x5c47b5){_0x589234(_0x5c47b5);})[_0x6353('0x33')](function(_0x401e8a){_0x518660(_0x401e8a);});});}exports['index']=function(_0x4f3616,_0x5eefae){var _0x51c1a6={},_0x2b9cb0={},_0x3865e7={'count':0x0,'rows':[]};var _0x1078c1=_[_0x6353('0x2d')](db[_0x6353('0x34')]['rawAttributes'],function(_0xe19fd4){return{'name':_0xe19fd4[_0x6353('0x35')],'type':_0xe19fd4[_0x6353('0x36')][_0x6353('0x37')]};});_0x2b9cb0[_0x6353('0x38')]=_[_0x6353('0x2d')](_0x1078c1,'name');_0x2b9cb0[_0x6353('0x39')]=_[_0x6353('0x3a')](_0x4f3616['query']);_0x2b9cb0[_0x6353('0x3b')]=_[_0x6353('0x3c')](_0x2b9cb0['model'],_0x2b9cb0[_0x6353('0x39')]);_0x51c1a6[_0x6353('0x3d')]=_[_0x6353('0x3c')](_0x2b9cb0[_0x6353('0x38')],qs[_0x6353('0x3e')](_0x4f3616[_0x6353('0x39')][_0x6353('0x3e')]));_0x51c1a6[_0x6353('0x3d')]=_0x51c1a6['attributes'][_0x6353('0x3f')]?_0x51c1a6['attributes']:_0x2b9cb0[_0x6353('0x38')];if(!_0x4f3616[_0x6353('0x39')][_0x6353('0x40')]('nolimit')){_0x51c1a6[_0x6353('0x21')]=qs['limit'](_0x4f3616[_0x6353('0x39')][_0x6353('0x21')]);_0x51c1a6[_0x6353('0x1f')]=qs['offset'](_0x4f3616[_0x6353('0x39')][_0x6353('0x1f')]);}_0x51c1a6[_0x6353('0x41')]=qs[_0x6353('0x42')](_0x4f3616[_0x6353('0x39')]['sort']);_0x51c1a6[_0x6353('0x43')]=qs[_0x6353('0x3b')](_[_0x6353('0x44')](_0x4f3616[_0x6353('0x39')],_0x2b9cb0['filters']),_0x1078c1);var _0x234523=[];var _0x4aa023=squel[_0x6353('0x45')]()[_0x6353('0x46')]('id')[_0x6353('0x46')](_0x6353('0x2b'))[_0x6353('0x46')](_0x6353('0x47'))[_0x6353('0x48')]('tools_tags');var _0x164bff=squel[_0x6353('0x45')]()['field'](_0x6353('0x49'))[_0x6353('0x46')]('u.fullname')[_0x6353('0x46')](_0x6353('0x4a'))[_0x6353('0x48')](_0x6353('0x4b'),'ui')[_0x6353('0x4c')](_0x6353('0x4d'),'u',_0x6353('0x4e'));var _0xe11899=squel['select']()['from']('fax_interactions','i')['left_join'](_0x6353('0x4f'),'c',_0x6353('0x50'))[_0x6353('0x4c')]('users','o',_0x6353('0x51'))[_0x6353('0x4c')](_0x6353('0x52'),'a',_0x6353('0x53'))[_0x6353('0x4c')]('fax_messages','me',_0x6353('0x54'))[_0x6353('0x4c')](_0x6353('0x55'),'it',_0x6353('0x56'))[_0x6353('0x4c')](_0x6353('0x57'),'t',_0x6353('0x58'));var _0x3aef8c=squel[_0x6353('0x59')]();var _0x57d077=[];var _0xae7526=squel[_0x6353('0x59')]();var _0x5a164c;if(_0x4f3616[_0x6353('0x39')]['search']){_0x5a164c=as[_0x6353('0x5a')](_0x4f3616[_0x6353('0x39')][_0x6353('0x5b')]);var _0x19db9b=_0x5a164c[_0x6353('0x5c')];for(var _0x3f7203=0x0;_0x3f7203<_0x5a164c[_0x6353('0x5d')][_0x6353('0x3f')];_0x3f7203++){var _0x310d41=_0x5a164c['conditions'][_0x3f7203];var _0x451332='i';var _0x108560=_[_0x6353('0x5e')](_0x1078c1,[_0x6353('0x2b'),_0x310d41[_0x6353('0x46')]]);if(!_0x108560){switch(_0x310d41[_0x6353('0x46')]){case _0x6353('0x5f'):if(_0x310d41[_0x6353('0x60')]==0x1){_0xe11899[_0x6353('0x61')]('`'+_0x310d41[_0x6353('0x46')]+'`\x20=\x200');}else{_0xe11899[_0x6353('0x61')]('`'+_0x310d41['field']+_0x6353('0x62'));}break;case _0x6353('0x63'):if(_0x310d41[_0x6353('0x64')]===_0x6353('0x65')){if(_0x310d41[_0x6353('0x60')]['split']('\x20')[_0x6353('0x3f')]>0x1){_0x3aef8c[_0x19db9b](_0x6353('0x66'),qs[_0x6353('0x67')](_0x310d41[_0x6353('0x60')]),null);}else{var _0x3cfc5d='%'+_0x310d41[_0x6353('0x60')]+'%';_0x3aef8c[_0x19db9b](_0x6353('0x68'),_0x3cfc5d,_0x3cfc5d,_0x3cfc5d);}}else{_0x108560=_[_0x6353('0x5e')](_0x1078c1,['name',_0x6353('0x69')]);_0x310d41[_0x6353('0x46')]=_0x6353('0x69');_0x3616f7=as[_0x6353('0x6a')](_0x451332,_0x108560[_0x6353('0x36')],_0x310d41);_0x3aef8c[_0x19db9b](_0x3616f7[_0x6353('0x6b')],_0x3616f7[_0x6353('0x60')][_0x6353('0x6c')],_0x3616f7['value'][_0x6353('0x1d')]);}break;case _0x6353('0x6d'):var _0x331d24=_0x310d41[_0x6353('0x60')][_0x6353('0x30')](',')[_0x6353('0x2d')](function(_0x267daa){return Number(_0x267daa);});_0x331d24['forEach'](function(_0x5ae757){_0xae7526['or'](_0x6353('0x6e'),'%,'+_0x5ae757+',%');});_0x57d077=_[_0x6353('0x6f')](_0x57d077,_0x331d24);break;case _0x6353('0x70'):if(_0x310d41[_0x6353('0x64')]===_0x6353('0x65')){_0x3aef8c[_0x19db9b](_0x6353('0x71'),'%'+_0x310d41[_0x6353('0x60')]+'%',null);}else{_0x108560=_[_0x6353('0x5e')](_0x1078c1,['name','UserId']);_0x310d41[_0x6353('0x46')]=_0x6353('0x72');_0x3616f7=as[_0x6353('0x6a')](_0x451332,_0x108560[_0x6353('0x36')],_0x310d41);_0x3aef8c[_0x19db9b](_0x3616f7[_0x6353('0x6b')],_0x3616f7['value']['start'],_0x3616f7[_0x6353('0x60')][_0x6353('0x1d')]);}break;case _0x6353('0x73'):_0x3616f7=as[_0x6353('0x6a')]('me',null,_0x310d41);_0x3aef8c[_0x19db9b](_0x3616f7['text'],_0x3616f7['value']['start'],_0x3616f7['value'][_0x6353('0x1d')]);break;}}else{var _0x3616f7=as['buildExpression'](_0x451332,_0x108560['type'],_0x310d41);_0x3aef8c[_0x19db9b](_0x3616f7[_0x6353('0x6b')],_0x3616f7[_0x6353('0x60')][_0x6353('0x6c')],_0x3616f7[_0x6353('0x60')][_0x6353('0x1d')]);}}}else{var _0x55d80f=_(_0x4f3616[_0x6353('0x39')])['keys']()[_0x6353('0x2d')](function(_0x50b48c){return _[_0x6353('0x74')](_0x1078c1,['name',_0x50b48c])?_0x50b48c:undefined;})[_0x6353('0x75')]()['value']();if(!_[_0x6353('0x76')](_0x55d80f)){_0x55d80f[_0x6353('0x31')](function(_0x51751d){if(_0x51751d===_0x6353('0x77')){_0xe11899[_0x6353('0x43')](_0x6353('0x78'),[][_0x6353('0x79')](_0x4f3616[_0x6353('0x39')][_0x51751d]));}else if(_0x51751d===_0x6353('0x7a')){var _0x54b5f8=JSON[_0x6353('0x7b')](_0x4f3616[_0x6353('0x39')][_0x51751d])[_0x6353('0x7c')];var _0x11f234=JSON[_0x6353('0x7b')](_0x4f3616[_0x6353('0x39')][_0x51751d])[_0x6353('0x7d')];_0xe11899['where'](_0x6353('0x7e'),_0x54b5f8,_0x11f234);}else{if(_0x4f3616[_0x6353('0x39')][_0x51751d]==='null'){_0xe11899[_0x6353('0x43')]('i.'+_0x51751d+_0x6353('0x7f'));}else{_0xe11899[_0x6353('0x43')]('i.'+_0x51751d+_0x6353('0x80'),_0x4f3616[_0x6353('0x39')][_0x51751d]);}}});}if(_0x4f3616[_0x6353('0x39')][_0x6353('0x81')]){if(_0x4f3616[_0x6353('0x39')][_0x6353('0x81')]==0x1){_0xe11899[_0x6353('0x61')]('`unreadMessages`\x20=\x200');}else{_0xe11899[_0x6353('0x61')](_0x6353('0x82'));}}if(_0x4f3616[_0x6353('0x39')][_0x6353('0x83')]){_0x57d077=_['isArray'](_0x4f3616[_0x6353('0x39')][_0x6353('0x83')])?_0x4f3616['query'][_0x6353('0x83')]:new Array(_0x4f3616['query']['tag']);_0x57d077[_0x6353('0x31')](function(_0x3a43e1){_0xae7526['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x3a43e1+',%');});}if(_0x4f3616['query'][_0x6353('0x84')]){var _0x26a57b=_0x4f3616[_0x6353('0x39')][_0x6353('0x84')][_0x6353('0x85')]('\x5c','\x5c\x5c')[_0x6353('0x85')](/'/g,'\x27\x27');if(qs[_0x6353('0x86')](_0x26a57b)){_0x3aef8c['or']('i.id\x20LIKE\x20?',_0x26a57b+'%')['or'](_0x6353('0x87'),_0x26a57b+'%');}_0x3aef8c['or'](_0x6353('0x88'),_0x26a57b+'%');}}_0xe11899[_0x6353('0x43')](_0x3aef8c);_0xe11899['group'](_0x6353('0x89'));var _0x2e9332={'type':db['Sequelize'][_0x6353('0x8a')][_0x6353('0x8b')],'raw':!![]};var _0x5e480a=_0xe11899['clone']();_0x5e480a[_0x6353('0x46')]('i.id');_0x5e480a['field'](_0x6353('0x8c'),_0x6353('0x5f'));if(_0x51c1a6['order']){_0x51c1a6[_0x6353('0x41')]['forEach'](function(_0x210c2e){var _0x1a890a=_0x210c2e[0x0]===_0x6353('0x8d')?_0x210c2e[0x0]:'i.'+_0x210c2e[0x0];_0xe11899[_0x6353('0x41')](_0x1a890a,_0x210c2e[0x1]===_0x6353('0x8e')?![]:!![]);});}if(!_[_0x6353('0x76')](_0x57d077)){_0xe11899[_0x6353('0x61')](_0xae7526);_0x5e480a[_0x6353('0x43')]('t.id\x20IN\x20?',_0x57d077);}BPromise[_0x6353('0x8f')]()[_0x6353('0x27')](function(){if(!_0x5a164c){if(_0x4f3616['query'][_0x6353('0x77')])return;_0x5e480a[_0x6353('0x43')](_0x6353('0x90'));_0xe11899[_0x6353('0x43')](_0x6353('0x90'));return;}if(_0x4f3616[_0x6353('0x91')][_0x6353('0x92')]!==_0x6353('0x93'))return;return _0x4f3616['user'][_0x6353('0x94')]({'attributes':['id'],'raw':!![]})[_0x6353('0x27')](function(_0x8d0471){if(_[_0x6353('0x76')](_0x8d0471)){_0x5e480a['where'](_0x6353('0x95'));_0xe11899[_0x6353('0x43')](_0x6353('0x95'));}else{_0x5e480a[_0x6353('0x43')](_0x6353('0x78'),_[_0x6353('0x2d')](_0x8d0471,'id'));_0xe11899['where'](_0x6353('0x78'),_['map'](_0x8d0471,'id'));}});})[_0x6353('0x27')](function(){if(_0x4f3616[_0x6353('0x91')][_0x6353('0x92')]===_0x6353('0x93')&&!_0x5a164c&&!_0x4f3616[_0x6353('0x39')][_0x6353('0x77')])return[];return db[_0x6353('0x96')]['query'](_0x5e480a['toString'](),_0x2e9332);})[_0x6353('0x27')](function(_0x37e99c){_0x3865e7[_0x6353('0x22')]=_0x37e99c[_0x6353('0x3f')];if(_0x3865e7['count']===0x0)return[];return db['sequelize'][_0x6353('0x39')](_0x4aa023['toString'](),_0x2e9332)['then'](function(_0x3d4218){_0x234523=_[_0x6353('0x97')](_0x3d4218,'id');_0x2e9332=_[_0x6353('0x98')](_0x2e9332,{'model':db[_0x6353('0x34')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x4f3616[_0x6353('0x39')][_0x6353('0x3e')]){_0x51c1a6[_0x6353('0x3d')][_0x6353('0x31')](function(_0x4bd78e){_0xe11899['field']('i.'+_0x4bd78e);});}else{_0xe11899['field'](_0x6353('0x8c'),_0x6353('0x5f'));_0xe11899['field'](_0x6353('0x99'),_0x6353('0x9a'));_0xe11899[_0x6353('0x46')](_0x6353('0x9b'),_0x6353('0x9c'));_0xe11899['field'](_0x6353('0x9d'),_0x6353('0x8d'));_0xe11899['field']('i.*');_0xe11899['field'](_0x6353('0x9e'),_0x6353('0x9f'));_0xe11899[_0x6353('0x46')](_0x6353('0xa0'),_0x6353('0xa1'));_0xe11899['field']('c.email',_0x6353('0xa2'));_0xe11899[_0x6353('0x46')](_0x6353('0xa3'),_0x6353('0xa4'));_0xe11899['field'](_0x6353('0xa5'),_0x6353('0xa6'));_0xe11899[_0x6353('0x46')](_0x6353('0xa7'),'Contact.fax');_0xe11899[_0x6353('0x46')](_0x6353('0xa8'),_0x6353('0xa9'));_0xe11899[_0x6353('0x46')](_0x6353('0xaa'),'Owner.internal');_0xe11899[_0x6353('0x46')](_0x6353('0xab'),_0x6353('0x2f'));}if(_0x51c1a6['limit'])_0xe11899['limit'](_0x51c1a6[_0x6353('0x21')]);if(_0x51c1a6[_0x6353('0x1f')])_0xe11899['offset'](_0x51c1a6[_0x6353('0x1f')]);return db[_0x6353('0x96')][_0x6353('0x39')](_0xe11899[_0x6353('0xac')](),_0x2e9332);})[_0x6353('0x27')](function(_0x1fcc94){if(_0x1fcc94[_0x6353('0x3f')]>0x0)_0x164bff['where'](_0x6353('0xad'),_['map'](_0x1fcc94,'id'));return db['sequelize'][_0x6353('0x39')](_0x164bff[_0x6353('0xac')](),_0x2e9332)[_0x6353('0x27')](function(_0x211999){var _0x1ee719=_[_0x6353('0xae')](_0x211999,_0x6353('0xaf'));var _0x13b181=[];_0x1fcc94[_0x6353('0x31')](function(_0x52cb08){_0x13b181['push'](updateFaxInteraction(_0x52cb08,_0x234523,_0x1ee719));});return BPromise[_0x6353('0xb0')](_0x13b181);});});})[_0x6353('0x27')](function(_0x5aa022){_0x3865e7[_0x6353('0xb1')]=_0x5aa022;return _0x3865e7;})[_0x6353('0x27')](respondWithFilteredResult(_0x5eefae,_0x51c1a6))[_0x6353('0x33')](handleError(_0x5eefae,null));};exports['show']=function(_0x28e29c,_0xd7277b){var _0x902e5d={'raw':![],'where':{'id':_0x28e29c[_0x6353('0xb2')]['id']}},_0x3773c1={};_0x3773c1[_0x6353('0x38')]=_[_0x6353('0x3a')](db['FaxInteraction'][_0x6353('0xb3')]);_0x3773c1[_0x6353('0x39')]=_[_0x6353('0x3a')](_0x28e29c[_0x6353('0x39')]);_0x3773c1[_0x6353('0x3b')]=_['intersection'](_0x3773c1[_0x6353('0x38')],_0x3773c1[_0x6353('0x39')]);_0x902e5d['attributes']=_[_0x6353('0x3c')](_0x3773c1[_0x6353('0x38')],qs['fields'](_0x28e29c[_0x6353('0x39')][_0x6353('0x3e')]));_0x902e5d[_0x6353('0x3d')]=_0x902e5d[_0x6353('0x3d')]['length']?_0x902e5d['attributes']:_0x3773c1[_0x6353('0x38')];if(_0x28e29c[_0x6353('0x39')]['includeAll']){_0x902e5d[_0x6353('0xb4')]=[{'all':!![]}];}_0x902e5d=_[_0x6353('0x98')]({},_0x902e5d,_0x28e29c[_0x6353('0xb5')]);return db['FaxInteraction'][_0x6353('0x5e')](_0x902e5d)[_0x6353('0x27')](handleEntityNotFound(_0xd7277b,null))[_0x6353('0x27')](respondWithResult(_0xd7277b,null))[_0x6353('0x33')](handleError(_0xd7277b,null));};exports[_0x6353('0xb6')]=function(_0x6fcaad,_0x11aa22){return db[_0x6353('0x34')]['create'](_0x6fcaad[_0x6353('0x73')],{})[_0x6353('0x27')](respondWithResult(_0x11aa22,0xc9))[_0x6353('0x33')](handleError(_0x11aa22,null));};exports[_0x6353('0x26')]=function(_0x3a5687,_0x3ee95a){if(_0x3a5687[_0x6353('0x73')]['id']){delete _0x3a5687[_0x6353('0x73')]['id'];}return db[_0x6353('0x34')][_0x6353('0x5e')]({'where':{'id':_0x3a5687[_0x6353('0xb2')]['id']}})['then'](handleEntityNotFound(_0x3ee95a,null))[_0x6353('0x27')](saveUpdates(_0x3a5687[_0x6353('0x73')],null))[_0x6353('0x27')](respondWithResult(_0x3ee95a,null))[_0x6353('0x33')](handleError(_0x3ee95a,null));};exports[_0x6353('0x28')]=function(_0x4b7a6c,_0x2ef3a2){return db['FaxInteraction'][_0x6353('0x5e')]({'where':{'id':_0x4b7a6c[_0x6353('0xb2')]['id']}})[_0x6353('0x27')](handleEntityNotFound(_0x2ef3a2,null))[_0x6353('0x27')](removeEntity(_0x2ef3a2,null))[_0x6353('0x33')](handleError(_0x2ef3a2,null));};exports[_0x6353('0xb7')]=function(_0x4011e5,_0x287a18){return db['FaxInteraction'][_0x6353('0xb7')]()[_0x6353('0x27')](respondWithResult(_0x287a18,null))[_0x6353('0x33')](handleError(_0x287a18,null));};exports[_0x6353('0xb8')]=function(_0x916d98,_0x16e258,_0x305f90){return db[_0x6353('0xb9')][_0x6353('0x5e')]({'where':{'id':_0x916d98[_0x6353('0xb2')]['id']}})[_0x6353('0x27')](handleEntityNotFound(_0x16e258,null))[_0x6353('0x27')](function(_0x822a9c){if(_0x822a9c){return _0x822a9c['addMessage'](_0x916d98[_0x6353('0x73')]['ids'],_['omit'](_0x916d98[_0x6353('0x73')],['ids','id'])||{});}})['then'](respondWithResult(_0x16e258,null))[_0x6353('0x33')](handleError(_0x16e258,null));};exports[_0x6353('0xba')]=function(_0xd4246d,_0x235335,_0x37c85e){var _0x27ab7a={'raw':![],'where':{}};var _0x3697bc={};var _0x5f22a7={'count':0x0,'rows':[]};return db[_0x6353('0x34')][_0x6353('0xbb')]({'where':{'id':_0xd4246d[_0x6353('0xb2')]['id']}})['then'](handleEntityNotFound(_0x235335,null))[_0x6353('0x27')](function(_0x141dda){if(_0x141dda){_0x3697bc['model']=_[_0x6353('0x3a')](db['FaxMessage']['rawAttributes']);_0x3697bc[_0x6353('0x39')]=_[_0x6353('0x3a')](_0xd4246d[_0x6353('0x39')]);_0x3697bc['filters']=_[_0x6353('0x3c')](_0x3697bc[_0x6353('0x38')],_0x3697bc[_0x6353('0x39')]);_0x27ab7a[_0x6353('0x3d')]=_[_0x6353('0x3c')](_0x3697bc['model'],qs[_0x6353('0x3e')](_0xd4246d[_0x6353('0x39')][_0x6353('0x3e')]));_0x27ab7a['attributes']=_0x27ab7a[_0x6353('0x3d')][_0x6353('0x3f')]?_0x27ab7a['attributes']:_0x3697bc[_0x6353('0x38')];if(!_0xd4246d[_0x6353('0x39')][_0x6353('0x40')](_0x6353('0xbc'))){_0x27ab7a['limit']=qs[_0x6353('0x21')](_0xd4246d[_0x6353('0x39')][_0x6353('0x21')]);_0x27ab7a[_0x6353('0x1f')]=qs[_0x6353('0x1f')](_0xd4246d[_0x6353('0x39')][_0x6353('0x1f')]);}_0x27ab7a[_0x6353('0x41')]=qs[_0x6353('0x42')](_0xd4246d[_0x6353('0x39')][_0x6353('0x42')]);_0x27ab7a[_0x6353('0x43')]=qs[_0x6353('0x3b')](_['pick'](_0xd4246d[_0x6353('0x39')],_0x3697bc[_0x6353('0x3b')]));_0x27ab7a[_0x6353('0x43')]['FaxInteractionId']=_0x141dda['id'];if(_0xd4246d[_0x6353('0x39')][_0x6353('0x84')]){_0x27ab7a['where']=_[_0x6353('0x98')](_0x27ab7a[_0x6353('0x43')],{'$or':_[_0x6353('0x2d')](_0x27ab7a[_0x6353('0x3d')],function(_0x19e942){var _0x40d146={};_0x40d146[_0x19e942]={'$like':'%'+_0xd4246d[_0x6353('0x39')][_0x6353('0x84')]+'%'};return _0x40d146;})});}if(_0xd4246d[_0x6353('0x39')][_0x6353('0x7c')]){var _0x43e972=_0xd4246d[_0x6353('0x39')][_0x6353('0x7c')][_0x6353('0x30')](',');var _0x5bc8c1={};_0x5bc8c1[_0x43e972[0x0]]={'$gte':moment(_0x43e972[0x1])[_0x6353('0xbd')]('YYYY-MM-DD\x20HH:mm:ss')};_0x27ab7a[_0x6353('0x43')]=_[_0x6353('0x98')](_0x27ab7a[_0x6353('0x43')],_0x5bc8c1);}_0x27ab7a=_[_0x6353('0x98')]({},_0x27ab7a,_0xd4246d['options']);return db['FaxMessage']['count']({'where':_0x27ab7a[_0x6353('0x43')]})['then'](function(_0x151143){_0x5f22a7['count']=_0x151143;if(_0xd4246d[_0x6353('0x39')]['includeAll']){_0x27ab7a['include']=[{'all':!![]}];}return db[_0x6353('0xb9')][_0x6353('0xbe')](_0x27ab7a);})[_0x6353('0x27')](function(_0x15c256){_0x5f22a7[_0x6353('0xb1')]=_0x15c256;return _0x5f22a7;});}})[_0x6353('0x27')](respondWithFilteredResult(_0x235335,_0x27ab7a))[_0x6353('0x33')](handleError(_0x235335,null));};exports[_0x6353('0xbf')]=function(_0x4d3344,_0x1dedc6,_0x177ab8){return db[_0x6353('0x34')][_0x6353('0x5e')]({'where':{'id':_0x4d3344[_0x6353('0xb2')]['id']}})[_0x6353('0x27')](handleEntityNotFound(_0x1dedc6,null))[_0x6353('0x27')](function(_0x486730){if(_0x486730){return _0x486730[_0x6353('0xc0')](_0x4d3344['body'][_0x6353('0xc1')],_[_0x6353('0xc2')](_0x4d3344['body'],[_0x6353('0xc1'),'id'])||{})[_0x6353('0xc3')](function(){return db[_0x6353('0x6d')][_0x6353('0xbe')]({'attributes':['id','name',_0x6353('0x47')],'where':{'id':_0x4d3344[_0x6353('0x73')][_0x6353('0xc1')]}});})['then'](function(_0x35653a){socket[_0x6353('0xc4')]('faxInteractionTags:save',{'id':Number(_0x4d3344[_0x6353('0xb2')]['id']),'tags':_0x35653a||[]});return{'id':Number(_0x4d3344['params']['id']),'tags':_0x35653a||[]};});}})[_0x6353('0x27')](respondWithResult(_0x1dedc6,null))['catch'](handleError(_0x1dedc6,null));};exports[_0x6353('0xc5')]=function(_0x5c17ce,_0x2a5c77,_0x297f64){return db['FaxInteraction'][_0x6353('0x5e')]({'where':{'id':_0x5c17ce['params']['id']}})[_0x6353('0x27')](handleEntityNotFound(_0x2a5c77,null))[_0x6353('0x27')](function(_0x2118b0){if(_0x2118b0){return _0x2118b0[_0x6353('0xc5')](_0x5c17ce[_0x6353('0x39')][_0x6353('0xc1')]);}})[_0x6353('0x27')](respondWithStatusCode(_0x2a5c77,null))[_0x6353('0x33')](handleError(_0x2a5c77,null));};exports[_0x6353('0xc6')]=function(_0x1c77b2,_0x2e1013){var _0x268ba6=moment()[_0x6353('0xc7')]()[_0x6353('0xac')]();var _0x1cfc22=path['join'](config[_0x6353('0xc8')],_0x6353('0xc9'),_0x6353('0xca'),_0x6353('0xcb'));var _0x14f2f2=path[_0x6353('0xcc')](config[_0x6353('0xc8')],_0x6353('0xc9'),_0x6353('0xca'),_0x6353('0xcd'));var _0x459d05=path[_0x6353('0xcc')](_0x1cfc22,_0x268ba6);var _0x24c79a=util[_0x6353('0xbd')](_0x6353('0xce'),_0x1c77b2[_0x6353('0xb2')]['id'],_0x268ba6);var _0x223e07=path['join'](_0x1cfc22,_0x24c79a);var _0x5520f1=[];_0x5520f1[_0x6353('0x32')]({'model':db[_0x6353('0xcf')],'as':_0x6353('0xcf'),'raw':!![]});var _0x28bb9b=[{'model':db[_0x6353('0xb9')],'as':_0x6353('0xd0'),'attributes':['id',_0x6353('0x73'),_0x6353('0x7a')],'include':_0x5520f1}];return db['FaxInteraction']['find']({'where':{'id':_0x1c77b2['params']['id']},'include':_0x28bb9b})[_0x6353('0x27')](handleEntityNotFound(_0x2e1013,null))[_0x6353('0x27')](function(_0x2ef539){if(_0x2ef539&&_0x2ef539[_0x6353('0xd0')]){var _0x1d3101=_0x2ef539[_0x6353('0xd1')]({'plain':!![]});fs['mkdirSync'](_0x459d05);for(var _0x1f4827=0x0;_0x1f4827<_0x1d3101[_0x6353('0xd0')][_0x6353('0x3f')];_0x1f4827++){var _0x29c7ec=_0x1d3101[_0x6353('0xd0')][_0x1f4827][_0x6353('0xcf')];if(_0x29c7ec){var _0x5b3047=path[_0x6353('0xcc')](_0x14f2f2,_0x29c7ec[_0x6353('0xd2')]);if(fs[_0x6353('0xd3')](_0x5b3047)){fs[_0x6353('0xd4')](_0x5b3047)[_0x6353('0xd5')](fs[_0x6353('0xd6')](path[_0x6353('0xcc')](_0x459d05,_0x29c7ec[_0x6353('0xd2')])));}}}return BPromise[_0x6353('0x8f')]()[_0x6353('0x27')](function(){return new BPromise(function(_0x54ef9f,_0x5582ce){zipdir(_0x459d05,{'saveTo':_0x223e07},function(_0x1a69fc,_0x4e6624){if(_0x1a69fc)return _0x5582ce(_0x1a69fc);return _0x54ef9f(_0x4e6624);});})[_0x6353('0x27')](function(){return new BPromise(function(_0x1fe5b4,_0x135d69){rimraf(_0x459d05,function(_0x3b76b7){if(_0x3b76b7)_0x135d69(_0x3b76b7);return _0x1fe5b4();});});})[_0x6353('0x27')](function(){return _0x2e1013[_0x6353('0xc6')](_0x223e07,_0x24c79a,function(_0xde0df8){if(_0xde0df8){console[_0x6353('0xd7')]('err',_0xde0df8);}else{fs[_0x6353('0xd8')](_0x223e07);}});});});}else{return _0x2e1013[_0x6353('0x1b')](0xc8);}})[_0x6353('0x33')](handleError(_0x2e1013,null));};