Built motion from commit 85328c08.|2.5.50
[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 _0xcb89=['key','model','keys','filters','intersection','query','attributes','fields','length','hasOwnProperty','order','sort','where','pick','select','field','color','from','tools_tags','u.id','u.fullname','ui.FaxInteractionId','user_has_fax_interactions','left_join','fax_interactions','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','users','o.id\x20=\x20i.UserId','fax_accounts','a.id\x20=\x20i.FaxAccountId','fax_messages','fax_interaction_has_tags','it.FaxInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','search','parseSearch','sqlOperator','conditions','find','unreadMessages','`\x20=\x200','having','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','value','start','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','buildExpression','text','body','compact','FaxAccountId','i.FaxAccountId\x20IN\x20?','concat','createdAt','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','isArray','filter','replace','isNumeric','i.id\x20LIKE\x20?','i.fax\x20LIKE\x20?','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','i.id','QueryTypes','clone','contactName','isEmpty','t.id\x20IN\x20?','resolve','i.FaxAccountId\x20IS\x20NOT\x20NULL','user','role','agent','getFaxAccounts','i.FaxAccountId\x20IS\x20NULL','toString','sequelize','keyBy','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','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','i.*','c.firstName','Contact.firstName','c.lastName','Contact.lastName','c.email','Contact.email','c.phone','Contact.phone','c.fax','Contact.fax','o.fullname','Owner.fullname','o.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.FaxInteractionId\x20IN\x20?','FaxInteractionId','push','all','rows','show','params','includeAll','options','create','addMessage','FaxMessage','ids','getMessages','findOne','nolimit','merge','format','YYYY-MM-DD\x20HH:mm:ss','include','findAll','addTags','setTags','omit','emit','removeTags','download','unix','join','server','root','files','attachments','transcript-%d-%s.zip','Attachment','Messages','basename','existsSync','createReadStream','pipe','createWriteStream','log','err','eml-format','zip-dir','fast-json-patch','request-promise','bluebird','sox','to-csv','ejs','squel','crypto','jsforce','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./faxInteraction.socket','register','sendStatus','status','end','json','undefined','limit','count','offset','set','Content-Range','apply','reject','update','then','destroy','error','name','send','map','Tags','split','forEach','TagIds','catch','waiting','talking','answered','total','closed','UserId','unmanaged','index','FaxInteraction','rawAttributes','type'];(function(_0x5d2803,_0xf375bd){var _0xdcad2c=function(_0x3c3a98){while(--_0x3c3a98){_0x5d2803['push'](_0x5d2803['shift']());}};_0xdcad2c(++_0xf375bd);}(_0xcb89,0x17f));var _0x9cb8=function(_0x32f7d7,_0x54231b){_0x32f7d7=_0x32f7d7-0x0;var _0x133d09=_0xcb89[_0x32f7d7];return _0x133d09;};'use strict';var emlformat=require(_0x9cb8('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x9cb8('0x1'));var jsonpatch=require(_0x9cb8('0x2'));var rp=require(_0x9cb8('0x3'));var moment=require('moment');var BPromise=require(_0x9cb8('0x4'));var Mustache=require('mustache');var util=require('util');var path=require('path');var sox=require(_0x9cb8('0x5'));var csv=require(_0x9cb8('0x6'));var ejs=require(_0x9cb8('0x7'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x9cb8('0x8'));var crypto=require(_0x9cb8('0x9'));var jsforce=require(_0x9cb8('0xa'));var deskjs=require('desk.js');var toCsv=require(_0x9cb8('0x6'));var querystring=require('querystring');var Papa=require(_0x9cb8('0xb'));var Redis=require(_0x9cb8('0xc'));var authService=require('../../components/auth/service');var qs=require(_0x9cb8('0xd'));var as=require(_0x9cb8('0xe'));var hardwareService=require(_0x9cb8('0xf'));var logger=require(_0x9cb8('0x10'))(_0x9cb8('0x11'));var utils=require(_0x9cb8('0x12'));var config=require(_0x9cb8('0x13'));var licenseUtil=require(_0x9cb8('0x14'));var db=require(_0x9cb8('0x15'))['db'];config[_0x9cb8('0x16')]=_[_0x9cb8('0x17')](config[_0x9cb8('0x16')],{'host':_0x9cb8('0x18'),'port':0x18eb});var socket=require(_0x9cb8('0x19'))(new Redis(config[_0x9cb8('0x16')]));require(_0x9cb8('0x1a'))[_0x9cb8('0x1b')](socket);function respondWithStatusCode(_0x4a5cc6,_0x1a359b){_0x1a359b=_0x1a359b||0xcc;return function(_0x1b4667){if(_0x1b4667){return _0x4a5cc6[_0x9cb8('0x1c')](_0x1a359b);}return _0x4a5cc6[_0x9cb8('0x1d')](_0x1a359b)[_0x9cb8('0x1e')]();};}function respondWithResult(_0x27f791,_0x48738a){_0x48738a=_0x48738a||0xc8;return function(_0x103876){if(_0x103876){return _0x27f791[_0x9cb8('0x1d')](_0x48738a)[_0x9cb8('0x1f')](_0x103876);}};}function respondWithFilteredResult(_0x28022d,_0x1b2442){return function(_0x784002){if(_0x784002){var _0x42d1c2=typeof _0x1b2442['offset']===_0x9cb8('0x20')&&typeof _0x1b2442[_0x9cb8('0x21')]===_0x9cb8('0x20');var _0x4e821f=_0x784002[_0x9cb8('0x22')];var _0x25d0a2=_0x42d1c2?0x0:_0x1b2442[_0x9cb8('0x23')];var _0x2477e6=_0x42d1c2?_0x784002[_0x9cb8('0x22')]:_0x1b2442['offset']+_0x1b2442[_0x9cb8('0x21')];var _0x44b9c5;if(_0x2477e6>=_0x4e821f){_0x2477e6=_0x4e821f;_0x44b9c5=0xc8;}else{_0x44b9c5=0xce;}_0x28022d['status'](_0x44b9c5);return _0x28022d[_0x9cb8('0x24')](_0x9cb8('0x25'),_0x25d0a2+'-'+_0x2477e6+'/'+_0x4e821f)[_0x9cb8('0x1f')](_0x784002);}return null;};}function patchUpdates(_0x4cda6c){return function(_0xb7ceb8){try{jsonpatch[_0x9cb8('0x26')](_0xb7ceb8,_0x4cda6c,!![]);}catch(_0x1ecc78){return BPromise[_0x9cb8('0x27')](_0x1ecc78);}return _0xb7ceb8['save']();};}function saveUpdates(_0x2ca5eb,_0xd655a4){return function(_0x45d006){if(_0x45d006){return _0x45d006[_0x9cb8('0x28')](_0x2ca5eb)[_0x9cb8('0x29')](function(_0x16c979){return _0x16c979;});}return null;};}function removeEntity(_0x1fd554,_0x2b993a){return function(_0x4edf39){if(_0x4edf39){return _0x4edf39[_0x9cb8('0x2a')]()[_0x9cb8('0x29')](function(){_0x1fd554[_0x9cb8('0x1d')](0xcc)[_0x9cb8('0x1e')]();});}};}function handleEntityNotFound(_0x3c658a,_0x3233fb){return function(_0x462a50){if(!_0x462a50){_0x3c658a['sendStatus'](0x194);}return _0x462a50;};}function handleError(_0x44b091,_0x52c91d){_0x52c91d=_0x52c91d||0x1f4;return function(_0x14cc23){logger[_0x9cb8('0x2b')](_0x14cc23['stack']);if(_0x14cc23[_0x9cb8('0x2c')]){delete _0x14cc23[_0x9cb8('0x2c')];}_0x44b091[_0x9cb8('0x1d')](_0x52c91d)[_0x9cb8('0x2d')](_0x14cc23);};}function getInteractionUsers(_0x9b6b6f,_0x291c4d){return new BPromise(function(_0x18a195,_0x47d1ad){try{if(_0x291c4d[_0x9b6b6f['id']]){_0x9b6b6f['Users']=_[_0x9cb8('0x2e')](_0x291c4d[_0x9b6b6f['id']],function(_0x5a68c8){return{'id':_0x5a68c8['id'],'fullname':_0x5a68c8['fullname']};});}}catch(_0x4563c3){_0x47d1ad(_0x4563c3);}_0x18a195(_0x9b6b6f);});}function getInteractionTags(_0x1364a3,_0x2fb66e){return new BPromise(function(_0x281773,_0x322056){try{if(_0x1364a3['TagIds']){_0x1364a3[_0x9cb8('0x2f')]=[];_0x1364a3['TagIds'][_0x9cb8('0x30')](',')[_0x9cb8('0x31')](function(_0x1660a8){_0x1364a3[_0x9cb8('0x2f')]['push'](_0x2fb66e[_0x1660a8]);});}delete _0x1364a3[_0x9cb8('0x32')];}catch(_0x2babce){_0x322056(_0x2babce);}_0x281773(_0x1364a3);});}function updateFaxInteraction(_0x806b9b,_0x29b303,_0x118541){return new BPromise(function(_0x51dd5b,_0x4bf26e){return getInteractionUsers(_0x806b9b,_0x118541)['then'](function(_0x1e6430){return getInteractionTags(_0x1e6430,_0x29b303);})['then'](function(_0x4623b6){return getStateInteraction(_0x4623b6);})[_0x9cb8('0x29')](function(_0x25c24d){_0x51dd5b(_0x25c24d);})[_0x9cb8('0x33')](function(_0x5d4640){_0x4bf26e(_0x5d4640);});});}function getStateInteraction(_0x2c94dc){return new BPromise(function(_0x409cb3){_0x2c94dc[_0x9cb8('0x34')]=0x0;_0x2c94dc[_0x9cb8('0x35')]=0x0;_0x2c94dc[_0x9cb8('0x36')]=0x0;_0x2c94dc['unmanaged']=0x0;_0x2c94dc[_0x9cb8('0x37')]=0x0;if(!_0x2c94dc[_0x9cb8('0x38')]&&!_0x2c94dc[_0x9cb8('0x39')]){_0x2c94dc[_0x9cb8('0x34')]+=0x1;}if(!_0x2c94dc['closed']&&_0x2c94dc[_0x9cb8('0x39')]){_0x2c94dc[_0x9cb8('0x35')]+=0x1;if(_0x2c94dc[_0x9cb8('0x34')]){_0x2c94dc['waiting']-=0x1;}}if(_0x2c94dc[_0x9cb8('0x38')]&&_0x2c94dc[_0x9cb8('0x39')]){_0x2c94dc['answered']+=0x1;if(_0x2c94dc['talking']){_0x2c94dc[_0x9cb8('0x35')]-=0x1;}}if(_0x2c94dc[_0x9cb8('0x38')]&&!_0x2c94dc[_0x9cb8('0x39')]){_0x2c94dc[_0x9cb8('0x3a')]+=0x1;if(_0x2c94dc[_0x9cb8('0x34')]){_0x2c94dc[_0x9cb8('0x34')]-=0x1;}}_0x2c94dc[_0x9cb8('0x37')]+=0x1;_0x409cb3(_0x2c94dc);});}exports[_0x9cb8('0x3b')]=function(_0x1889f1,_0x420397){var _0x30671a={},_0x166543={},_0x4550e2={'count':0x0,'rows':[]};var _0x49c31c=_['map'](db[_0x9cb8('0x3c')][_0x9cb8('0x3d')],function(_0x4ddf85){return{'name':_0x4ddf85['fieldName'],'type':_0x4ddf85[_0x9cb8('0x3e')][_0x9cb8('0x3f')]};});_0x166543[_0x9cb8('0x40')]=_[_0x9cb8('0x2e')](_0x49c31c,_0x9cb8('0x2c'));_0x166543['query']=_[_0x9cb8('0x41')](_0x1889f1['query']);_0x166543[_0x9cb8('0x42')]=_[_0x9cb8('0x43')](_0x166543[_0x9cb8('0x40')],_0x166543[_0x9cb8('0x44')]);_0x30671a[_0x9cb8('0x45')]=_['intersection'](_0x166543[_0x9cb8('0x40')],qs['fields'](_0x1889f1[_0x9cb8('0x44')][_0x9cb8('0x46')]));_0x30671a[_0x9cb8('0x45')]=_0x30671a[_0x9cb8('0x45')][_0x9cb8('0x47')]?_0x30671a[_0x9cb8('0x45')]:_0x166543[_0x9cb8('0x40')];if(!_0x1889f1[_0x9cb8('0x44')][_0x9cb8('0x48')]('nolimit')){_0x30671a[_0x9cb8('0x21')]=qs[_0x9cb8('0x21')](_0x1889f1[_0x9cb8('0x44')][_0x9cb8('0x21')]);_0x30671a['offset']=qs['offset'](_0x1889f1[_0x9cb8('0x44')][_0x9cb8('0x23')]);}_0x30671a[_0x9cb8('0x49')]=qs[_0x9cb8('0x4a')](_0x1889f1['query'][_0x9cb8('0x4a')]);_0x30671a[_0x9cb8('0x4b')]=qs[_0x9cb8('0x42')](_[_0x9cb8('0x4c')](_0x1889f1[_0x9cb8('0x44')],_0x166543[_0x9cb8('0x42')]),_0x49c31c);var _0x4c92a9=[];var _0x29f24b=squel[_0x9cb8('0x4d')]()[_0x9cb8('0x4e')]('id')['field'](_0x9cb8('0x2c'))[_0x9cb8('0x4e')](_0x9cb8('0x4f'))[_0x9cb8('0x50')](_0x9cb8('0x51'));var _0x23840d=squel[_0x9cb8('0x4d')]()[_0x9cb8('0x4e')](_0x9cb8('0x52'))['field'](_0x9cb8('0x53'))[_0x9cb8('0x4e')](_0x9cb8('0x54'))[_0x9cb8('0x50')](_0x9cb8('0x55'),'ui')[_0x9cb8('0x56')]('users','u','u.id\x20=\x20ui.UserId');var _0x59d21e=squel[_0x9cb8('0x4d')]()[_0x9cb8('0x50')](_0x9cb8('0x57'),'i')[_0x9cb8('0x56')](_0x9cb8('0x58'),'c',_0x9cb8('0x59'))[_0x9cb8('0x56')](_0x9cb8('0x5a'),'o',_0x9cb8('0x5b'))['left_join'](_0x9cb8('0x5c'),'a',_0x9cb8('0x5d'))['left_join'](_0x9cb8('0x5e'),'me','me.FaxInteractionId\x20=\x20i.id')[_0x9cb8('0x56')](_0x9cb8('0x5f'),'it',_0x9cb8('0x60'))['left_join'](_0x9cb8('0x51'),'t',_0x9cb8('0x61'));var _0x4096ce=squel['expr']();var _0x1d89eb=[];var _0x161752=squel[_0x9cb8('0x62')]();var _0x44f7b7;if(_0x1889f1[_0x9cb8('0x44')][_0x9cb8('0x63')]){_0x44f7b7=as[_0x9cb8('0x64')](_0x1889f1['query'][_0x9cb8('0x63')]);var _0x19e793=_0x44f7b7[_0x9cb8('0x65')];for(var _0x19844c=0x0;_0x19844c<_0x44f7b7[_0x9cb8('0x66')][_0x9cb8('0x47')];_0x19844c++){var _0x50506f=_0x44f7b7[_0x9cb8('0x66')][_0x19844c];var _0x151998='i';var _0x901a63=_[_0x9cb8('0x67')](_0x49c31c,[_0x9cb8('0x2c'),_0x50506f['field']]);if(!_0x901a63){switch(_0x50506f[_0x9cb8('0x4e')]){case _0x9cb8('0x68'):if(_0x50506f['value']==0x1){_0x59d21e['having']('`'+_0x50506f[_0x9cb8('0x4e')]+_0x9cb8('0x69'));}else{_0x59d21e[_0x9cb8('0x6a')]('`'+_0x50506f[_0x9cb8('0x4e')]+'`\x20>\x200');}break;case'Contact':if(_0x50506f[_0x9cb8('0x6b')]===_0x9cb8('0x6c')){if(_0x50506f['value'][_0x9cb8('0x30')]('\x20')['length']>0x1){_0x4096ce[_0x19e793](_0x9cb8('0x6d'),qs[_0x9cb8('0x6e')](_0x50506f['value']),null);}else{var _0x595c50='%'+_0x50506f['value']+'%';_0x4096ce[_0x19e793](_0x9cb8('0x6f'),_0x595c50,_0x595c50,_0x595c50);}}else{_0x901a63=_['find'](_0x49c31c,[_0x9cb8('0x2c'),_0x9cb8('0x70')]);_0x50506f[_0x9cb8('0x4e')]=_0x9cb8('0x70');_0x43151f=as['buildExpression'](_0x151998,_0x901a63[_0x9cb8('0x3e')],_0x50506f);_0x4096ce[_0x19e793](_0x43151f['text'],_0x43151f[_0x9cb8('0x71')][_0x9cb8('0x72')],_0x43151f[_0x9cb8('0x71')]['end']);}break;case'Tag':var _0xb8c92d=_0x50506f[_0x9cb8('0x71')][_0x9cb8('0x30')](',')[_0x9cb8('0x2e')](function(_0x5dfcea){return Number(_0x5dfcea);});_0xb8c92d['forEach'](function(_0x4e4ac9){_0x161752['or'](_0x9cb8('0x73'),'%,'+_0x4e4ac9+',%');});_0x1d89eb=_[_0x9cb8('0x74')](_0x1d89eb,_0xb8c92d);break;case'User':if(_0x50506f[_0x9cb8('0x6b')]==='$substring'){_0x4096ce[_0x19e793](_0x9cb8('0x75'),'%'+_0x50506f['value']+'%',null);}else{_0x901a63=_[_0x9cb8('0x67')](_0x49c31c,[_0x9cb8('0x2c'),_0x9cb8('0x39')]);_0x50506f[_0x9cb8('0x4e')]=_0x9cb8('0x39');_0x43151f=as[_0x9cb8('0x76')](_0x151998,_0x901a63[_0x9cb8('0x3e')],_0x50506f);_0x4096ce[_0x19e793](_0x43151f[_0x9cb8('0x77')],_0x43151f['value'][_0x9cb8('0x72')],_0x43151f[_0x9cb8('0x71')][_0x9cb8('0x1e')]);}break;case _0x9cb8('0x78'):_0x43151f=as[_0x9cb8('0x76')]('me',null,_0x50506f);_0x4096ce[_0x19e793](_0x43151f[_0x9cb8('0x77')],_0x43151f[_0x9cb8('0x71')]['start'],_0x43151f[_0x9cb8('0x71')][_0x9cb8('0x1e')]);break;}}else{var _0x43151f=as[_0x9cb8('0x76')](_0x151998,_0x901a63[_0x9cb8('0x3e')],_0x50506f);_0x4096ce[_0x19e793](_0x43151f[_0x9cb8('0x77')],_0x43151f['value'][_0x9cb8('0x72')],_0x43151f[_0x9cb8('0x71')][_0x9cb8('0x1e')]);}}}else{var _0x4327ce=_(_0x1889f1[_0x9cb8('0x44')])[_0x9cb8('0x41')]()[_0x9cb8('0x2e')](function(_0x56905c){return _['some'](_0x49c31c,[_0x9cb8('0x2c'),_0x56905c])?_0x56905c:undefined;})[_0x9cb8('0x79')]()['value']();if(!_['isEmpty'](_0x4327ce)){_0x4327ce[_0x9cb8('0x31')](function(_0x16bb3a){if(_0x16bb3a===_0x9cb8('0x7a')){_0x59d21e['where'](_0x9cb8('0x7b'),[][_0x9cb8('0x7c')](_0x1889f1[_0x9cb8('0x44')][_0x16bb3a]));}else if(_0x16bb3a===_0x9cb8('0x7d')){var _0x2908ab=JSON['parse'](_0x1889f1['query'][_0x16bb3a])[_0x9cb8('0x7e')];var _0x5b0e46=JSON['parse'](_0x1889f1['query'][_0x16bb3a])[_0x9cb8('0x7f')];_0x59d21e[_0x9cb8('0x4b')](_0x9cb8('0x80'),_0x2908ab,_0x5b0e46);}else{if(_0x1889f1[_0x9cb8('0x44')][_0x16bb3a]===_0x9cb8('0x81')){_0x59d21e[_0x9cb8('0x4b')]('i.'+_0x16bb3a+_0x9cb8('0x82'));}else{_0x59d21e[_0x9cb8('0x4b')]('i.'+_0x16bb3a+'\x20=\x20?',_0x1889f1[_0x9cb8('0x44')][_0x16bb3a]);}}});}if(_0x1889f1['query'][_0x9cb8('0x83')]){if(_0x1889f1[_0x9cb8('0x44')][_0x9cb8('0x83')]==0x1){_0x59d21e[_0x9cb8('0x6a')](_0x9cb8('0x84'));}else{_0x59d21e[_0x9cb8('0x6a')](_0x9cb8('0x85'));}}if(_0x1889f1['query'][_0x9cb8('0x86')]){_0x1d89eb=_[_0x9cb8('0x87')](_0x1889f1[_0x9cb8('0x44')][_0x9cb8('0x86')])?_0x1889f1[_0x9cb8('0x44')][_0x9cb8('0x86')]:new Array(_0x1889f1['query'][_0x9cb8('0x86')]);_0x1d89eb['forEach'](function(_0x15f714){_0x161752['or'](_0x9cb8('0x73'),'%,'+_0x15f714+',%');});}if(_0x1889f1[_0x9cb8('0x44')]['filter']){var _0x5a7013=_0x1889f1[_0x9cb8('0x44')][_0x9cb8('0x88')][_0x9cb8('0x89')]('\x5c','\x5c\x5c')[_0x9cb8('0x89')](/'/g,'\x27\x27');if(qs[_0x9cb8('0x8a')](_0x5a7013)){_0x4096ce['or'](_0x9cb8('0x8b'),_0x5a7013+'%')['or'](_0x9cb8('0x8c'),_0x5a7013+'%');}_0x4096ce['or'](_0x9cb8('0x8d'),_0x5a7013+'%');}}_0x59d21e[_0x9cb8('0x4b')](_0x4096ce);_0x59d21e[_0x9cb8('0x8e')](_0x9cb8('0x8f'));var _0x997d44={'type':db['Sequelize'][_0x9cb8('0x90')]['SELECT'],'raw':!![]};var _0x5b2d6c=_0x59d21e[_0x9cb8('0x91')]();_0x5b2d6c[_0x9cb8('0x4e')]('i.id');_0x5b2d6c['field']('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0x9cb8('0x68'));if(_0x30671a['order']){_0x30671a[_0x9cb8('0x49')]['forEach'](function(_0x1c5207){var _0x3418f6=_0x1c5207[0x0]===_0x9cb8('0x92')?_0x1c5207[0x0]:'i.'+_0x1c5207[0x0];_0x59d21e[_0x9cb8('0x49')](_0x3418f6,_0x1c5207[0x1]==='DESC'?![]:!![]);});}if(!_[_0x9cb8('0x93')](_0x1d89eb)){_0x59d21e[_0x9cb8('0x6a')](_0x161752);_0x5b2d6c[_0x9cb8('0x4b')](_0x9cb8('0x94'),_0x1d89eb);}BPromise[_0x9cb8('0x95')]()[_0x9cb8('0x29')](function(){if(!_0x44f7b7){if(_0x1889f1[_0x9cb8('0x44')][_0x9cb8('0x7a')])return;_0x5b2d6c[_0x9cb8('0x4b')](_0x9cb8('0x96'));_0x59d21e[_0x9cb8('0x4b')](_0x9cb8('0x96'));return;}if(_0x1889f1[_0x9cb8('0x97')][_0x9cb8('0x98')]!==_0x9cb8('0x99'))return;return _0x1889f1[_0x9cb8('0x97')][_0x9cb8('0x9a')]({'attributes':['id'],'raw':!![]})['then'](function(_0x4350d9){if(_['isEmpty'](_0x4350d9)){_0x5b2d6c[_0x9cb8('0x4b')]('i.FaxAccountId\x20IS\x20NULL');_0x59d21e['where'](_0x9cb8('0x9b'));}else{_0x5b2d6c[_0x9cb8('0x4b')](_0x9cb8('0x7b'),_['map'](_0x4350d9,'id'));_0x59d21e[_0x9cb8('0x4b')](_0x9cb8('0x7b'),_[_0x9cb8('0x2e')](_0x4350d9,'id'));}});})['then'](function(){if(_0x1889f1[_0x9cb8('0x97')][_0x9cb8('0x98')]===_0x9cb8('0x99')&&!_0x44f7b7&&!_0x1889f1[_0x9cb8('0x44')][_0x9cb8('0x7a')])return[];return db['sequelize']['query'](_0x5b2d6c[_0x9cb8('0x9c')](),_0x997d44);})['then'](function(_0x334f9e){_0x4550e2[_0x9cb8('0x22')]=_0x334f9e[_0x9cb8('0x47')];if(_0x4550e2[_0x9cb8('0x22')]===0x0)return[];return db[_0x9cb8('0x9d')][_0x9cb8('0x44')](_0x29f24b[_0x9cb8('0x9c')](),_0x997d44)[_0x9cb8('0x29')](function(_0x1257d1){_0x4c92a9=_[_0x9cb8('0x9e')](_0x1257d1,'id');_0x997d44=_['merge'](_0x997d44,{'model':db[_0x9cb8('0x3c')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x1889f1[_0x9cb8('0x44')][_0x9cb8('0x46')]){_0x30671a[_0x9cb8('0x45')][_0x9cb8('0x31')](function(_0xab11c5){_0x59d21e[_0x9cb8('0x4e')]('i.'+_0xab11c5);});}else{_0x59d21e[_0x9cb8('0x4e')](_0x9cb8('0x9f'),_0x9cb8('0x68'));_0x59d21e[_0x9cb8('0x4e')](_0x9cb8('0xa0'),_0x9cb8('0xa1'));_0x59d21e[_0x9cb8('0x4e')](_0x9cb8('0xa2'),_0x9cb8('0xa3'));_0x59d21e[_0x9cb8('0x4e')](_0x9cb8('0xa4'),'contactName');_0x59d21e['field'](_0x9cb8('0xa5'));_0x59d21e[_0x9cb8('0x4e')](_0x9cb8('0xa6'),_0x9cb8('0xa7'));_0x59d21e['field'](_0x9cb8('0xa8'),_0x9cb8('0xa9'));_0x59d21e[_0x9cb8('0x4e')](_0x9cb8('0xaa'),_0x9cb8('0xab'));_0x59d21e[_0x9cb8('0x4e')](_0x9cb8('0xac'),_0x9cb8('0xad'));_0x59d21e['field']('c.mobile','Contact.mobile');_0x59d21e[_0x9cb8('0x4e')](_0x9cb8('0xae'),_0x9cb8('0xaf'));_0x59d21e[_0x9cb8('0x4e')](_0x9cb8('0xb0'),_0x9cb8('0xb1'));_0x59d21e[_0x9cb8('0x4e')](_0x9cb8('0xb2'),'Owner.internal');_0x59d21e['field'](_0x9cb8('0xb3'),'TagIds');}if(_0x30671a['limit'])_0x59d21e[_0x9cb8('0x21')](_0x30671a['limit']);if(_0x30671a[_0x9cb8('0x23')])_0x59d21e['offset'](_0x30671a[_0x9cb8('0x23')]);return db['sequelize'][_0x9cb8('0x44')](_0x59d21e[_0x9cb8('0x9c')](),_0x997d44);})[_0x9cb8('0x29')](function(_0x31a92d){if(_0x31a92d[_0x9cb8('0x47')]>0x0)_0x23840d['where'](_0x9cb8('0xb4'),_[_0x9cb8('0x2e')](_0x31a92d,'id'));return db[_0x9cb8('0x9d')][_0x9cb8('0x44')](_0x23840d[_0x9cb8('0x9c')](),_0x997d44)[_0x9cb8('0x29')](function(_0x4048e3){var _0x3acdfb=_['groupBy'](_0x4048e3,_0x9cb8('0xb5'));var _0x33e571=[];_0x31a92d[_0x9cb8('0x31')](function(_0x59dbe9){_0x33e571[_0x9cb8('0xb6')](updateFaxInteraction(_0x59dbe9,_0x4c92a9,_0x3acdfb));});return BPromise[_0x9cb8('0xb7')](_0x33e571);});});})['then'](function(_0x53651b){_0x4550e2[_0x9cb8('0xb8')]=_0x53651b;return _0x4550e2;})[_0x9cb8('0x29')](respondWithFilteredResult(_0x420397,_0x30671a))[_0x9cb8('0x33')](handleError(_0x420397,null));};exports[_0x9cb8('0xb9')]=function(_0x2a4331,_0x3aee93){var _0x4b7353={'raw':![],'where':{'id':_0x2a4331[_0x9cb8('0xba')]['id']}},_0x1c986b={};_0x1c986b[_0x9cb8('0x40')]=_[_0x9cb8('0x41')](db[_0x9cb8('0x3c')][_0x9cb8('0x3d')]);_0x1c986b[_0x9cb8('0x44')]=_[_0x9cb8('0x41')](_0x2a4331[_0x9cb8('0x44')]);_0x1c986b[_0x9cb8('0x42')]=_[_0x9cb8('0x43')](_0x1c986b['model'],_0x1c986b[_0x9cb8('0x44')]);_0x4b7353[_0x9cb8('0x45')]=_[_0x9cb8('0x43')](_0x1c986b[_0x9cb8('0x40')],qs[_0x9cb8('0x46')](_0x2a4331[_0x9cb8('0x44')][_0x9cb8('0x46')]));_0x4b7353['attributes']=_0x4b7353[_0x9cb8('0x45')][_0x9cb8('0x47')]?_0x4b7353[_0x9cb8('0x45')]:_0x1c986b[_0x9cb8('0x40')];if(_0x2a4331['query'][_0x9cb8('0xbb')]){_0x4b7353['include']=[{'all':!![]}];}_0x4b7353=_['merge']({},_0x4b7353,_0x2a4331[_0x9cb8('0xbc')]);return db[_0x9cb8('0x3c')]['find'](_0x4b7353)[_0x9cb8('0x29')](handleEntityNotFound(_0x3aee93,null))[_0x9cb8('0x29')](respondWithResult(_0x3aee93,null))[_0x9cb8('0x33')](handleError(_0x3aee93,null));};exports[_0x9cb8('0xbd')]=function(_0x214fa9,_0x12b9b4){return db[_0x9cb8('0x3c')][_0x9cb8('0xbd')](_0x214fa9[_0x9cb8('0x78')],{})[_0x9cb8('0x29')](respondWithResult(_0x12b9b4,0xc9))['catch'](handleError(_0x12b9b4,null));};exports[_0x9cb8('0x28')]=function(_0xccf258,_0x20cb19){if(_0xccf258['body']['id']){delete _0xccf258['body']['id'];}return db[_0x9cb8('0x3c')][_0x9cb8('0x67')]({'where':{'id':_0xccf258[_0x9cb8('0xba')]['id']}})[_0x9cb8('0x29')](handleEntityNotFound(_0x20cb19,null))[_0x9cb8('0x29')](saveUpdates(_0xccf258['body'],null))[_0x9cb8('0x29')](respondWithResult(_0x20cb19,null))[_0x9cb8('0x33')](handleError(_0x20cb19,null));};exports['destroy']=function(_0xa2faee,_0x5e41a4){return db[_0x9cb8('0x3c')]['find']({'where':{'id':_0xa2faee[_0x9cb8('0xba')]['id']}})['then'](handleEntityNotFound(_0x5e41a4,null))[_0x9cb8('0x29')](removeEntity(_0x5e41a4,null))[_0x9cb8('0x33')](handleError(_0x5e41a4,null));};exports['describe']=function(_0x4833b5,_0x5e12be){return db[_0x9cb8('0x3c')]['describe']()['then'](respondWithResult(_0x5e12be,null))[_0x9cb8('0x33')](handleError(_0x5e12be,null));};exports[_0x9cb8('0xbe')]=function(_0x54df4e,_0xda0120,_0x252337){return db[_0x9cb8('0xbf')][_0x9cb8('0x67')]({'where':{'id':_0x54df4e[_0x9cb8('0xba')]['id']}})[_0x9cb8('0x29')](handleEntityNotFound(_0xda0120,null))[_0x9cb8('0x29')](function(_0x2c855e){if(_0x2c855e){return _0x2c855e['addMessage'](_0x54df4e[_0x9cb8('0x78')][_0x9cb8('0xc0')],_['omit'](_0x54df4e['body'],[_0x9cb8('0xc0'),'id'])||{});}})[_0x9cb8('0x29')](respondWithResult(_0xda0120,null))['catch'](handleError(_0xda0120,null));};exports[_0x9cb8('0xc1')]=function(_0x1794a7,_0x2a45f5,_0xc55732){var _0x487e27={'raw':![],'where':{}};var _0xe8f145={};var _0x56bab9={'count':0x0,'rows':[]};return db[_0x9cb8('0x3c')][_0x9cb8('0xc2')]({'where':{'id':_0x1794a7['params']['id']}})[_0x9cb8('0x29')](handleEntityNotFound(_0x2a45f5,null))[_0x9cb8('0x29')](function(_0x8ad47a){if(_0x8ad47a){_0xe8f145['model']=_['keys'](db[_0x9cb8('0xbf')]['rawAttributes']);_0xe8f145[_0x9cb8('0x44')]=_['keys'](_0x1794a7['query']);_0xe8f145[_0x9cb8('0x42')]=_[_0x9cb8('0x43')](_0xe8f145[_0x9cb8('0x40')],_0xe8f145['query']);_0x487e27['attributes']=_['intersection'](_0xe8f145['model'],qs[_0x9cb8('0x46')](_0x1794a7['query'][_0x9cb8('0x46')]));_0x487e27['attributes']=_0x487e27[_0x9cb8('0x45')][_0x9cb8('0x47')]?_0x487e27[_0x9cb8('0x45')]:_0xe8f145[_0x9cb8('0x40')];if(!_0x1794a7[_0x9cb8('0x44')][_0x9cb8('0x48')](_0x9cb8('0xc3'))){_0x487e27[_0x9cb8('0x21')]=qs[_0x9cb8('0x21')](_0x1794a7[_0x9cb8('0x44')][_0x9cb8('0x21')]);_0x487e27[_0x9cb8('0x23')]=qs[_0x9cb8('0x23')](_0x1794a7[_0x9cb8('0x44')][_0x9cb8('0x23')]);}_0x487e27[_0x9cb8('0x49')]=qs['sort'](_0x1794a7[_0x9cb8('0x44')][_0x9cb8('0x4a')]);_0x487e27[_0x9cb8('0x4b')]=qs[_0x9cb8('0x42')](_[_0x9cb8('0x4c')](_0x1794a7[_0x9cb8('0x44')],_0xe8f145[_0x9cb8('0x42')]));_0x487e27['where'][_0x9cb8('0xb5')]=_0x8ad47a['id'];if(_0x1794a7[_0x9cb8('0x44')][_0x9cb8('0x88')]){_0x487e27[_0x9cb8('0x4b')]=_[_0x9cb8('0xc4')](_0x487e27[_0x9cb8('0x4b')],{'$or':_['map'](_0x487e27[_0x9cb8('0x45')],function(_0x28a277){var _0x243c99={};_0x243c99[_0x28a277]={'$like':'%'+_0x1794a7['query'][_0x9cb8('0x88')]+'%'};return _0x243c99;})});}if(_0x1794a7['query'][_0x9cb8('0x7e')]){var _0x4b0421=_0x1794a7[_0x9cb8('0x44')][_0x9cb8('0x7e')][_0x9cb8('0x30')](',');var _0x4191c7={};_0x4191c7[_0x4b0421[0x0]]={'$gte':moment(_0x4b0421[0x1])[_0x9cb8('0xc5')](_0x9cb8('0xc6'))};_0x487e27[_0x9cb8('0x4b')]=_[_0x9cb8('0xc4')](_0x487e27[_0x9cb8('0x4b')],_0x4191c7);}_0x487e27=_['merge']({},_0x487e27,_0x1794a7[_0x9cb8('0xbc')]);return db[_0x9cb8('0xbf')]['count']({'where':_0x487e27[_0x9cb8('0x4b')]})['then'](function(_0x298a3e){_0x56bab9[_0x9cb8('0x22')]=_0x298a3e;if(_0x1794a7[_0x9cb8('0x44')][_0x9cb8('0xbb')]){_0x487e27[_0x9cb8('0xc7')]=[{'all':!![]}];}return db[_0x9cb8('0xbf')][_0x9cb8('0xc8')](_0x487e27);})[_0x9cb8('0x29')](function(_0x3cfeb2){_0x56bab9[_0x9cb8('0xb8')]=_0x3cfeb2;return _0x56bab9;});}})[_0x9cb8('0x29')](respondWithFilteredResult(_0x2a45f5,_0x487e27))[_0x9cb8('0x33')](handleError(_0x2a45f5,null));};exports[_0x9cb8('0xc9')]=function(_0x399be9,_0x6e90c6,_0x3b1521){return db[_0x9cb8('0x3c')][_0x9cb8('0x67')]({'where':{'id':_0x399be9[_0x9cb8('0xba')]['id']}})[_0x9cb8('0x29')](handleEntityNotFound(_0x6e90c6,null))['then'](function(_0x31cbfe){if(_0x31cbfe){return _0x31cbfe[_0x9cb8('0xca')](_0x399be9[_0x9cb8('0x78')][_0x9cb8('0xc0')],_[_0x9cb8('0xcb')](_0x399be9[_0x9cb8('0x78')],[_0x9cb8('0xc0'),'id'])||{})['spread'](function(){return db['Tag'][_0x9cb8('0xc8')]({'attributes':['id',_0x9cb8('0x2c'),_0x9cb8('0x4f')],'where':{'id':_0x399be9[_0x9cb8('0x78')][_0x9cb8('0xc0')]}});})[_0x9cb8('0x29')](function(_0x4123ac){socket[_0x9cb8('0xcc')]('faxInteractionTags:save',{'id':Number(_0x399be9[_0x9cb8('0xba')]['id']),'tags':_0x4123ac||[]});return{'id':Number(_0x399be9[_0x9cb8('0xba')]['id']),'tags':_0x4123ac||[]};});}})[_0x9cb8('0x29')](respondWithResult(_0x6e90c6,null))[_0x9cb8('0x33')](handleError(_0x6e90c6,null));};exports['removeTags']=function(_0x21c99c,_0x25e37b,_0x2603a9){return db['FaxInteraction'][_0x9cb8('0x67')]({'where':{'id':_0x21c99c[_0x9cb8('0xba')]['id']}})[_0x9cb8('0x29')](handleEntityNotFound(_0x25e37b,null))[_0x9cb8('0x29')](function(_0x4994b1){if(_0x4994b1){return _0x4994b1[_0x9cb8('0xcd')](_0x21c99c['query'][_0x9cb8('0xc0')]);}})['then'](respondWithStatusCode(_0x25e37b,null))[_0x9cb8('0x33')](handleError(_0x25e37b,null));};exports[_0x9cb8('0xce')]=function(_0x226cdc,_0x1d8894){var _0xbb5ae4=moment()[_0x9cb8('0xcf')]()['toString']();var _0x2de644=path[_0x9cb8('0xd0')](config['root'],_0x9cb8('0xd1'),'files','tmp');var _0x2647a6=path[_0x9cb8('0xd0')](config[_0x9cb8('0xd2')],_0x9cb8('0xd1'),_0x9cb8('0xd3'),_0x9cb8('0xd4'));var _0x2b5613=path[_0x9cb8('0xd0')](_0x2de644,_0xbb5ae4);var _0x3f1d0a=util[_0x9cb8('0xc5')](_0x9cb8('0xd5'),_0x226cdc[_0x9cb8('0xba')]['id'],_0xbb5ae4);var _0x1c2f53=path['join'](_0x2de644,_0x3f1d0a);var _0x81e297=[];_0x81e297[_0x9cb8('0xb6')]({'model':db[_0x9cb8('0xd6')],'as':'Attachment','raw':!![]});var _0x9e7276=[{'model':db[_0x9cb8('0xbf')],'as':_0x9cb8('0xd7'),'attributes':['id','body',_0x9cb8('0x7d')],'include':_0x81e297}];return db['FaxInteraction'][_0x9cb8('0x67')]({'where':{'id':_0x226cdc[_0x9cb8('0xba')]['id']},'include':_0x9e7276})[_0x9cb8('0x29')](handleEntityNotFound(_0x1d8894,null))[_0x9cb8('0x29')](function(_0x46eb93){if(_0x46eb93&&_0x46eb93[_0x9cb8('0xd7')]){var _0x45e6c6=_0x46eb93['get']({'plain':!![]});fs['mkdirSync'](_0x2b5613);for(var _0x3686c3=0x0;_0x3686c3<_0x45e6c6[_0x9cb8('0xd7')][_0x9cb8('0x47')];_0x3686c3++){var _0x2ee3a0=_0x45e6c6[_0x9cb8('0xd7')][_0x3686c3][_0x9cb8('0xd6')];if(_0x2ee3a0){var _0xe31807=path[_0x9cb8('0xd0')](_0x2647a6,_0x2ee3a0[_0x9cb8('0xd8')]);if(fs[_0x9cb8('0xd9')](_0xe31807)){fs[_0x9cb8('0xda')](_0xe31807)[_0x9cb8('0xdb')](fs[_0x9cb8('0xdc')](path[_0x9cb8('0xd0')](_0x2b5613,_0x2ee3a0[_0x9cb8('0xd8')])));}}}return BPromise[_0x9cb8('0x95')]()['then'](function(){return new BPromise(function(_0x233206,_0x5ce173){zipdir(_0x2b5613,{'saveTo':_0x1c2f53},function(_0x48b554,_0x2811f7){if(_0x48b554)return _0x5ce173(_0x48b554);return _0x233206(_0x2811f7);});})[_0x9cb8('0x29')](function(){return new BPromise(function(_0x12223c,_0x173bae){rimraf(_0x2b5613,function(_0x857da1){if(_0x857da1)_0x173bae(_0x857da1);return _0x12223c();});});})[_0x9cb8('0x29')](function(){return _0x1d8894[_0x9cb8('0xce')](_0x1c2f53,_0x3f1d0a,function(_0x4293ce){if(_0x4293ce){console[_0x9cb8('0xdd')](_0x9cb8('0xde'),_0x4293ce);}else{fs['unlinkSync'](_0x1c2f53);}});});});}else{return _0x1d8894[_0x9cb8('0x1c')](0xc8);}})[_0x9cb8('0x33')](handleError(_0x1d8894,null));};