5aeef1bfab1c1b76aea2361df6b04cab765efd95
[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 _0x225a=['rawAttributes','intersection','includeAll','merge','create','update','destroy','describe','addMessage','FaxMessage','omit','ids','getMessages','findOne','format','options','include','addTags','setTags','spread','color','faxInteractionTags:save','removeTags','download','unix','join','root','server','files','attachments','transcript-%d-%s.zip','Attachment','Messages','get','mkdirSync','basename','existsSync','createReadStream','pipe','createWriteStream','err','unlinkSync','eml-format','rimraf','zip-dir','moment','bluebird','mustache','util','path','sox','ejs','fs-extra','lodash','crypto','jsforce','desk.js','to-csv','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','defaults','redis','localhost','socket.io-emitter','register','sendStatus','status','end','offset','undefined','limit','count','set','Content-Range','apply','reject','save','then','error','stack','name','send','Users','TagIds','split','forEach','Tags','push','catch','waiting','answered','unmanaged','total','closed','UserId','talking','index','map','FaxInteraction','fieldName','type','key','model','query','keys','attributes','length','hasOwnProperty','nolimit','sort','where','filters','pick','select','field','from','tools_tags','u.id','u.fullname','ui.FaxInteractionId','left_join','u.id\x20=\x20ui.UserId','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_interaction_has_tags','it.FaxInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','search','parseSearch','conditions','find','unreadMessages','value','having','`\x20>\x200','Contact','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','ContactId','buildExpression','text','start','Tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','User','operator','$substring','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','body','compact','isEmpty','FaxAccountId','i.FaxAccountId\x20IN\x20?','concat','createdAt','parse','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20>\x200','isArray','tag','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','Sequelize','QueryTypes','SELECT','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','order','contactName','t.id\x20IN\x20?','resolve','i.FaxAccountId\x20IS\x20NOT\x20NULL','role','agent','user','getFaxAccounts','i.FaxAccountId\x20IS\x20NULL','sequelize','toString','keyBy','fields','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','Contact.mobile','c.fax','Contact.fax','o.fullname','Owner.fullname','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','FaxInteractionId','all','rows','show','params'];(function(_0x4ee320,_0x5ad108){var _0x490227=function(_0xbdc2f8){while(--_0xbdc2f8){_0x4ee320['push'](_0x4ee320['shift']());}};_0x490227(++_0x5ad108);}(_0x225a,0x1f4));var _0xa225=function(_0x4d9f9d,_0x1506cd){_0x4d9f9d=_0x4d9f9d-0x0;var _0x4440ec=_0x225a[_0x4d9f9d];return _0x4440ec;};'use strict';var emlformat=require(_0xa225('0x0'));var rimraf=require(_0xa225('0x1'));var zipdir=require(_0xa225('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0xa225('0x3'));var BPromise=require(_0xa225('0x4'));var Mustache=require(_0xa225('0x5'));var util=require(_0xa225('0x6'));var path=require(_0xa225('0x7'));var sox=require(_0xa225('0x8'));var csv=require('to-csv');var ejs=require(_0xa225('0x9'));var fs=require('fs');var fs_extra=require(_0xa225('0xa'));var _=require(_0xa225('0xb'));var squel=require('squel');var crypto=require(_0xa225('0xc'));var jsforce=require(_0xa225('0xd'));var deskjs=require(_0xa225('0xe'));var toCsv=require(_0xa225('0xf'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0xa225('0x10'));var authService=require(_0xa225('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0xa225('0x12'));var hardwareService=require(_0xa225('0x13'));var logger=require('../../config/logger')(_0xa225('0x14'));var utils=require(_0xa225('0x15'));var config=require(_0xa225('0x16'));var licenseUtil=require(_0xa225('0x17'));var db=require(_0xa225('0x18'))['db'];config['redis']=_[_0xa225('0x19')](config[_0xa225('0x1a')],{'host':_0xa225('0x1b'),'port':0x18eb});var socket=require(_0xa225('0x1c'))(new Redis(config['redis']));require('./faxInteraction.socket')[_0xa225('0x1d')](socket);function respondWithStatusCode(_0x456ea4,_0x2b382a){_0x2b382a=_0x2b382a||0xcc;return function(_0x3ab4a3){if(_0x3ab4a3){return _0x456ea4[_0xa225('0x1e')](_0x2b382a);}return _0x456ea4[_0xa225('0x1f')](_0x2b382a)[_0xa225('0x20')]();};}function respondWithResult(_0x470adc,_0x3c9afc){_0x3c9afc=_0x3c9afc||0xc8;return function(_0x26f57f){if(_0x26f57f){return _0x470adc[_0xa225('0x1f')](_0x3c9afc)['json'](_0x26f57f);}};}function respondWithFilteredResult(_0x1a01f9,_0x263220){return function(_0x17518d){if(_0x17518d){var _0x3ebf87=typeof _0x263220[_0xa225('0x21')]===_0xa225('0x22')&&typeof _0x263220[_0xa225('0x23')]===_0xa225('0x22');var _0x49e80f=_0x17518d[_0xa225('0x24')];var _0x442ced=_0x3ebf87?0x0:_0x263220['offset'];var _0x33cbdf=_0x3ebf87?_0x17518d['count']:_0x263220[_0xa225('0x21')]+_0x263220['limit'];var _0x1b6bc3;if(_0x33cbdf>=_0x49e80f){_0x33cbdf=_0x49e80f;_0x1b6bc3=0xc8;}else{_0x1b6bc3=0xce;}_0x1a01f9[_0xa225('0x1f')](_0x1b6bc3);return _0x1a01f9[_0xa225('0x25')](_0xa225('0x26'),_0x442ced+'-'+_0x33cbdf+'/'+_0x49e80f)['json'](_0x17518d);}return null;};}function patchUpdates(_0x3a96b5){return function(_0x12b35e){try{jsonpatch[_0xa225('0x27')](_0x12b35e,_0x3a96b5,!![]);}catch(_0xa02fcf){return BPromise[_0xa225('0x28')](_0xa02fcf);}return _0x12b35e[_0xa225('0x29')]();};}function saveUpdates(_0x7cfb7b,_0x3a2063){return function(_0x5b4499){if(_0x5b4499){return _0x5b4499['update'](_0x7cfb7b)[_0xa225('0x2a')](function(_0x5eaac3){return _0x5eaac3;});}return null;};}function removeEntity(_0xc2200e,_0x43812c){return function(_0x3145ab){if(_0x3145ab){return _0x3145ab['destroy']()[_0xa225('0x2a')](function(){_0xc2200e[_0xa225('0x1f')](0xcc)[_0xa225('0x20')]();});}};}function handleEntityNotFound(_0x38d2e4,_0x1d5d9f){return function(_0x3a918b){if(!_0x3a918b){_0x38d2e4[_0xa225('0x1e')](0x194);}return _0x3a918b;};}function handleError(_0x3f78ac,_0x21bd61){_0x21bd61=_0x21bd61||0x1f4;return function(_0xca86d4){logger[_0xa225('0x2b')](_0xca86d4[_0xa225('0x2c')]);if(_0xca86d4[_0xa225('0x2d')]){delete _0xca86d4[_0xa225('0x2d')];}_0x3f78ac['status'](_0x21bd61)[_0xa225('0x2e')](_0xca86d4);};}function getInteractionUsers(_0x3968b4,_0x1ffd79){return new BPromise(function(_0x561fc3,_0x537fd9){try{if(_0x1ffd79[_0x3968b4['id']]){_0x3968b4[_0xa225('0x2f')]=_['map'](_0x1ffd79[_0x3968b4['id']],function(_0x2a61fd){return{'id':_0x2a61fd['id'],'fullname':_0x2a61fd['fullname']};});}}catch(_0x43bbf6){_0x537fd9(_0x43bbf6);}_0x561fc3(_0x3968b4);});}function getInteractionTags(_0x133161,_0x2e8072){return new BPromise(function(_0x1ffb04,_0x240420){try{if(_0x133161['TagIds']){_0x133161['Tags']=[];_0x133161[_0xa225('0x30')][_0xa225('0x31')](',')[_0xa225('0x32')](function(_0x1e06a8){_0x133161[_0xa225('0x33')][_0xa225('0x34')](_0x2e8072[_0x1e06a8]);});}delete _0x133161[_0xa225('0x30')];}catch(_0x46e284){_0x240420(_0x46e284);}_0x1ffb04(_0x133161);});}function updateFaxInteraction(_0x100672,_0x174dd2,_0x323a9f){return new BPromise(function(_0x529780,_0x1a3d52){return getInteractionUsers(_0x100672,_0x323a9f)[_0xa225('0x2a')](function(_0x15c91f){return getInteractionTags(_0x15c91f,_0x174dd2);})['then'](function(_0x21082c){return getStateInteraction(_0x21082c);})['then'](function(_0x306bae){_0x529780(_0x306bae);})[_0xa225('0x35')](function(_0x4e895e){_0x1a3d52(_0x4e895e);});});}function getStateInteraction(_0x487f67){return new BPromise(function(_0xcd9a64){_0x487f67[_0xa225('0x36')]=0x0;_0x487f67['talking']=0x0;_0x487f67[_0xa225('0x37')]=0x0;_0x487f67[_0xa225('0x38')]=0x0;_0x487f67[_0xa225('0x39')]=0x0;if(!_0x487f67[_0xa225('0x3a')]&&!_0x487f67[_0xa225('0x3b')]){_0x487f67['waiting']+=0x1;}if(!_0x487f67['closed']&&_0x487f67['UserId']){_0x487f67[_0xa225('0x3c')]+=0x1;if(_0x487f67[_0xa225('0x36')]){_0x487f67[_0xa225('0x36')]-=0x1;}}if(_0x487f67[_0xa225('0x3a')]&&_0x487f67[_0xa225('0x3b')]){_0x487f67[_0xa225('0x37')]+=0x1;if(_0x487f67[_0xa225('0x3c')]){_0x487f67[_0xa225('0x3c')]-=0x1;}}if(_0x487f67[_0xa225('0x3a')]&&!_0x487f67[_0xa225('0x3b')]){_0x487f67['unmanaged']+=0x1;if(_0x487f67[_0xa225('0x36')]){_0x487f67[_0xa225('0x36')]-=0x1;}}_0x487f67[_0xa225('0x39')]+=0x1;_0xcd9a64(_0x487f67);});}exports[_0xa225('0x3d')]=function(_0x40746f,_0x261766){var _0xc16107={},_0x41d129={},_0x5758f3={'count':0x0,'rows':[]};var _0x2cf9f0=_[_0xa225('0x3e')](db[_0xa225('0x3f')]['rawAttributes'],function(_0x595561){return{'name':_0x595561[_0xa225('0x40')],'type':_0x595561[_0xa225('0x41')][_0xa225('0x42')]};});_0x41d129[_0xa225('0x43')]=_['map'](_0x2cf9f0,_0xa225('0x2d'));_0x41d129[_0xa225('0x44')]=_[_0xa225('0x45')](_0x40746f[_0xa225('0x44')]);_0x41d129['filters']=_['intersection'](_0x41d129[_0xa225('0x43')],_0x41d129[_0xa225('0x44')]);_0xc16107[_0xa225('0x46')]=_['intersection'](_0x41d129[_0xa225('0x43')],qs['fields'](_0x40746f[_0xa225('0x44')]['fields']));_0xc16107[_0xa225('0x46')]=_0xc16107[_0xa225('0x46')][_0xa225('0x47')]?_0xc16107['attributes']:_0x41d129[_0xa225('0x43')];if(!_0x40746f[_0xa225('0x44')][_0xa225('0x48')](_0xa225('0x49'))){_0xc16107[_0xa225('0x23')]=qs[_0xa225('0x23')](_0x40746f[_0xa225('0x44')]['limit']);_0xc16107[_0xa225('0x21')]=qs[_0xa225('0x21')](_0x40746f[_0xa225('0x44')]['offset']);}_0xc16107['order']=qs[_0xa225('0x4a')](_0x40746f[_0xa225('0x44')]['sort']);_0xc16107[_0xa225('0x4b')]=qs[_0xa225('0x4c')](_[_0xa225('0x4d')](_0x40746f['query'],_0x41d129[_0xa225('0x4c')]),_0x2cf9f0);var _0x5950b0=[];var _0x61a659=squel[_0xa225('0x4e')]()[_0xa225('0x4f')]('id')['field']('name')[_0xa225('0x4f')]('color')[_0xa225('0x50')](_0xa225('0x51'));var _0xd998a9=squel[_0xa225('0x4e')]()[_0xa225('0x4f')](_0xa225('0x52'))[_0xa225('0x4f')](_0xa225('0x53'))['field'](_0xa225('0x54'))[_0xa225('0x50')]('user_has_fax_interactions','ui')[_0xa225('0x55')]('users','u',_0xa225('0x56'));var _0x3d79ab=squel['select']()[_0xa225('0x50')](_0xa225('0x57'),'i')[_0xa225('0x55')](_0xa225('0x58'),'c',_0xa225('0x59'))['left_join'](_0xa225('0x5a'),'o',_0xa225('0x5b'))[_0xa225('0x55')](_0xa225('0x5c'),'a',_0xa225('0x5d'))[_0xa225('0x55')]('fax_messages','me','me.FaxInteractionId\x20=\x20i.id')[_0xa225('0x55')](_0xa225('0x5e'),'it',_0xa225('0x5f'))['left_join'](_0xa225('0x51'),'t',_0xa225('0x60'));var _0xd1ae7f=squel[_0xa225('0x61')]();var _0x23346f=[];var _0x1b2545=squel[_0xa225('0x61')]();var _0x3c72af;if(_0x40746f[_0xa225('0x44')][_0xa225('0x62')]){_0x3c72af=as[_0xa225('0x63')](_0x40746f[_0xa225('0x44')][_0xa225('0x62')]);var _0x46d410=_0x3c72af['sqlOperator'];for(var _0xb88c31=0x0;_0xb88c31<_0x3c72af[_0xa225('0x64')][_0xa225('0x47')];_0xb88c31++){var _0x2f2426=_0x3c72af[_0xa225('0x64')][_0xb88c31];var _0x71c157='i';var _0x3ea2fc=_[_0xa225('0x65')](_0x2cf9f0,[_0xa225('0x2d'),_0x2f2426[_0xa225('0x4f')]]);if(!_0x3ea2fc){switch(_0x2f2426[_0xa225('0x4f')]){case _0xa225('0x66'):if(_0x2f2426[_0xa225('0x67')]==0x1){_0x3d79ab[_0xa225('0x68')]('`'+_0x2f2426[_0xa225('0x4f')]+'`\x20=\x200');}else{_0x3d79ab['having']('`'+_0x2f2426[_0xa225('0x4f')]+_0xa225('0x69'));}break;case _0xa225('0x6a'):if(_0x2f2426['operator']==='$substring'){if(_0x2f2426[_0xa225('0x67')][_0xa225('0x31')]('\x20')[_0xa225('0x47')]>0x1){_0xd1ae7f[_0x46d410](_0xa225('0x6b'),qs['getFullTextValue'](_0x2f2426[_0xa225('0x67')]),null);}else{var _0x43f45e='%'+_0x2f2426['value']+'%';_0xd1ae7f[_0x46d410]('c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?',_0x43f45e,_0x43f45e,_0x43f45e);}}else{_0x3ea2fc=_[_0xa225('0x65')](_0x2cf9f0,[_0xa225('0x2d'),'ContactId']);_0x2f2426[_0xa225('0x4f')]=_0xa225('0x6c');_0x501389=as[_0xa225('0x6d')](_0x71c157,_0x3ea2fc[_0xa225('0x41')],_0x2f2426);_0xd1ae7f[_0x46d410](_0x501389[_0xa225('0x6e')],_0x501389[_0xa225('0x67')][_0xa225('0x6f')],_0x501389['value'][_0xa225('0x20')]);}break;case _0xa225('0x70'):var _0x2da5f1=_0x2f2426[_0xa225('0x67')][_0xa225('0x31')](',')[_0xa225('0x3e')](function(_0x4388eb){return Number(_0x4388eb);});_0x2da5f1[_0xa225('0x32')](function(_0x210d87){_0x1b2545['or'](_0xa225('0x71'),'%,'+_0x210d87+',%');});_0x23346f=_['union'](_0x23346f,_0x2da5f1);break;case _0xa225('0x72'):if(_0x2f2426[_0xa225('0x73')]===_0xa225('0x74')){_0xd1ae7f[_0x46d410](_0xa225('0x75'),'%'+_0x2f2426[_0xa225('0x67')]+'%',null);}else{_0x3ea2fc=_['find'](_0x2cf9f0,[_0xa225('0x2d'),_0xa225('0x3b')]);_0x2f2426['field']=_0xa225('0x3b');_0x501389=as['buildExpression'](_0x71c157,_0x3ea2fc['type'],_0x2f2426);_0xd1ae7f[_0x46d410](_0x501389[_0xa225('0x6e')],_0x501389['value']['start'],_0x501389[_0xa225('0x67')]['end']);}break;case _0xa225('0x76'):_0x501389=as[_0xa225('0x6d')]('me',null,_0x2f2426);_0xd1ae7f[_0x46d410](_0x501389[_0xa225('0x6e')],_0x501389[_0xa225('0x67')][_0xa225('0x6f')],_0x501389['value'][_0xa225('0x20')]);break;}}else{var _0x501389=as[_0xa225('0x6d')](_0x71c157,_0x3ea2fc[_0xa225('0x41')],_0x2f2426);_0xd1ae7f[_0x46d410](_0x501389['text'],_0x501389['value'][_0xa225('0x6f')],_0x501389[_0xa225('0x67')]['end']);}}}else{var _0x1c3e93=_(_0x40746f[_0xa225('0x44')])['keys']()['map'](function(_0x5e8c52){return _['some'](_0x2cf9f0,['name',_0x5e8c52])?_0x5e8c52:undefined;})[_0xa225('0x77')]()[_0xa225('0x67')]();if(!_[_0xa225('0x78')](_0x1c3e93)){_0x1c3e93['forEach'](function(_0x1a0a82){if(_0x1a0a82===_0xa225('0x79')){_0x3d79ab['where'](_0xa225('0x7a'),[][_0xa225('0x7b')](_0x40746f['query'][_0x1a0a82]));}else if(_0x1a0a82===_0xa225('0x7c')){var _0x54a89e=JSON[_0xa225('0x7d')](_0x40746f[_0xa225('0x44')][_0x1a0a82])[_0xa225('0x7e')];var _0x123dee=JSON[_0xa225('0x7d')](_0x40746f[_0xa225('0x44')][_0x1a0a82])[_0xa225('0x7f')];_0x3d79ab[_0xa225('0x4b')](_0xa225('0x80'),_0x54a89e,_0x123dee);}else{if(_0x40746f['query'][_0x1a0a82]===_0xa225('0x81')){_0x3d79ab[_0xa225('0x4b')]('i.'+_0x1a0a82+_0xa225('0x82'));}else{_0x3d79ab[_0xa225('0x4b')]('i.'+_0x1a0a82+_0xa225('0x83'),_0x40746f[_0xa225('0x44')][_0x1a0a82]);}}});}if(_0x40746f[_0xa225('0x44')][_0xa225('0x84')]){if(_0x40746f[_0xa225('0x44')][_0xa225('0x84')]==0x1){_0x3d79ab[_0xa225('0x68')]('`unreadMessages`\x20=\x200');}else{_0x3d79ab[_0xa225('0x68')](_0xa225('0x85'));}}if(_0x40746f[_0xa225('0x44')]['tag']){_0x23346f=_[_0xa225('0x86')](_0x40746f[_0xa225('0x44')][_0xa225('0x87')])?_0x40746f['query']['tag']:new Array(_0x40746f[_0xa225('0x44')]['tag']);_0x23346f[_0xa225('0x32')](function(_0x4ce509){_0x1b2545['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x4ce509+',%');});}if(_0x40746f[_0xa225('0x44')]['filter']){var _0x238ca7=_0x40746f[_0xa225('0x44')][_0xa225('0x88')][_0xa225('0x89')]('\x5c','\x5c\x5c')['replace'](/'/g,'\x27\x27');if(qs[_0xa225('0x8a')](_0x238ca7)){_0xd1ae7f['or'](_0xa225('0x8b'),_0x238ca7+'%')['or'](_0xa225('0x8c'),_0x238ca7+'%');}_0xd1ae7f['or'](_0xa225('0x8d'),_0x238ca7+'%');}}_0x3d79ab[_0xa225('0x4b')](_0xd1ae7f);_0x3d79ab[_0xa225('0x8e')](_0xa225('0x8f'));var _0xd5dbb6={'type':db[_0xa225('0x90')][_0xa225('0x91')][_0xa225('0x92')],'raw':!![]};var _0x15cb8a=_0x3d79ab[_0xa225('0x93')]();_0x15cb8a[_0xa225('0x4f')]('i.id');_0x15cb8a[_0xa225('0x4f')](_0xa225('0x94'),'unreadMessages');if(_0xc16107[_0xa225('0x95')]){_0xc16107[_0xa225('0x95')][_0xa225('0x32')](function(_0x2c3ea0){var _0x549ab2=_0x2c3ea0[0x0]===_0xa225('0x96')?_0x2c3ea0[0x0]:'i.'+_0x2c3ea0[0x0];_0x3d79ab[_0xa225('0x95')](_0x549ab2,_0x2c3ea0[0x1]==='DESC'?![]:!![]);});}if(!_['isEmpty'](_0x23346f)){_0x3d79ab[_0xa225('0x68')](_0x1b2545);_0x15cb8a['where'](_0xa225('0x97'),_0x23346f);}BPromise[_0xa225('0x98')]()['then'](function(){if(!_0x3c72af){if(_0x40746f[_0xa225('0x44')][_0xa225('0x79')])return;_0x15cb8a[_0xa225('0x4b')]('i.FaxAccountId\x20IS\x20NOT\x20NULL');_0x3d79ab[_0xa225('0x4b')](_0xa225('0x99'));return;}if(_0x40746f['user'][_0xa225('0x9a')]!==_0xa225('0x9b'))return;return _0x40746f[_0xa225('0x9c')][_0xa225('0x9d')]({'attributes':['id'],'raw':!![]})[_0xa225('0x2a')](function(_0x2b93f2){if(_['isEmpty'](_0x2b93f2)){_0x15cb8a['where'](_0xa225('0x9e'));_0x3d79ab[_0xa225('0x4b')]('i.FaxAccountId\x20IS\x20NULL');}else{_0x15cb8a[_0xa225('0x4b')](_0xa225('0x7a'),_[_0xa225('0x3e')](_0x2b93f2,'id'));_0x3d79ab[_0xa225('0x4b')](_0xa225('0x7a'),_['map'](_0x2b93f2,'id'));}});})[_0xa225('0x2a')](function(){if(_0x40746f['user'][_0xa225('0x9a')]===_0xa225('0x9b')&&!_0x3c72af&&!_0x40746f['query']['FaxAccountId'])return[];return db[_0xa225('0x9f')][_0xa225('0x44')](_0x15cb8a['toString'](),_0xd5dbb6);})[_0xa225('0x2a')](function(_0x5610a5){_0x5758f3['count']=_0x5610a5[_0xa225('0x47')];if(_0x5758f3[_0xa225('0x24')]===0x0)return[];return db['sequelize'][_0xa225('0x44')](_0x61a659[_0xa225('0xa0')](),_0xd5dbb6)[_0xa225('0x2a')](function(_0x5751a8){_0x5950b0=_[_0xa225('0xa1')](_0x5751a8,'id');_0xd5dbb6=_['merge'](_0xd5dbb6,{'model':db[_0xa225('0x3f')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x40746f[_0xa225('0x44')][_0xa225('0xa2')]){_0xc16107[_0xa225('0x46')][_0xa225('0x32')](function(_0x19679f){_0x3d79ab['field']('i.'+_0x19679f);});}else{_0x3d79ab[_0xa225('0x4f')](_0xa225('0x94'),_0xa225('0x66'));_0x3d79ab[_0xa225('0x4f')]('a.key','Account.key');_0x3d79ab[_0xa225('0x4f')](_0xa225('0xa3'),_0xa225('0xa4'));_0x3d79ab[_0xa225('0x4f')](_0xa225('0xa5'),_0xa225('0x96'));_0x3d79ab[_0xa225('0x4f')](_0xa225('0xa6'));_0x3d79ab[_0xa225('0x4f')](_0xa225('0xa7'),_0xa225('0xa8'));_0x3d79ab[_0xa225('0x4f')](_0xa225('0xa9'),_0xa225('0xaa'));_0x3d79ab[_0xa225('0x4f')](_0xa225('0xab'),_0xa225('0xac'));_0x3d79ab[_0xa225('0x4f')](_0xa225('0xad'),_0xa225('0xae'));_0x3d79ab['field']('c.mobile',_0xa225('0xaf'));_0x3d79ab[_0xa225('0x4f')](_0xa225('0xb0'),_0xa225('0xb1'));_0x3d79ab[_0xa225('0x4f')](_0xa225('0xb2'),_0xa225('0xb3'));_0x3d79ab['field']('o.internal',_0xa225('0xb4'));_0x3d79ab[_0xa225('0x4f')](_0xa225('0xb5'),_0xa225('0x30'));}if(_0xc16107['limit'])_0x3d79ab['limit'](_0xc16107[_0xa225('0x23')]);if(_0xc16107[_0xa225('0x21')])_0x3d79ab[_0xa225('0x21')](_0xc16107[_0xa225('0x21')]);return db[_0xa225('0x9f')]['query'](_0x3d79ab[_0xa225('0xa0')](),_0xd5dbb6);})[_0xa225('0x2a')](function(_0x3f9911){if(_0x3f9911[_0xa225('0x47')]>0x0)_0xd998a9[_0xa225('0x4b')]('ui.FaxInteractionId\x20IN\x20?',_[_0xa225('0x3e')](_0x3f9911,'id'));return db[_0xa225('0x9f')][_0xa225('0x44')](_0xd998a9[_0xa225('0xa0')](),_0xd5dbb6)[_0xa225('0x2a')](function(_0x297430){var _0x1d0c4f=_['groupBy'](_0x297430,_0xa225('0xb6'));var _0x31bc72=[];_0x3f9911[_0xa225('0x32')](function(_0x1aba39){_0x31bc72[_0xa225('0x34')](updateFaxInteraction(_0x1aba39,_0x5950b0,_0x1d0c4f));});return BPromise[_0xa225('0xb7')](_0x31bc72);});});})[_0xa225('0x2a')](function(_0x4023ec){_0x5758f3[_0xa225('0xb8')]=_0x4023ec;return _0x5758f3;})[_0xa225('0x2a')](respondWithFilteredResult(_0x261766,_0xc16107))['catch'](handleError(_0x261766,null));};exports[_0xa225('0xb9')]=function(_0x3fc801,_0x11c5fa){var _0x4831cb={'raw':![],'where':{'id':_0x3fc801[_0xa225('0xba')]['id']}},_0x2afd70={};_0x2afd70['model']=_[_0xa225('0x45')](db[_0xa225('0x3f')][_0xa225('0xbb')]);_0x2afd70['query']=_[_0xa225('0x45')](_0x3fc801[_0xa225('0x44')]);_0x2afd70['filters']=_['intersection'](_0x2afd70['model'],_0x2afd70[_0xa225('0x44')]);_0x4831cb[_0xa225('0x46')]=_[_0xa225('0xbc')](_0x2afd70['model'],qs[_0xa225('0xa2')](_0x3fc801[_0xa225('0x44')][_0xa225('0xa2')]));_0x4831cb[_0xa225('0x46')]=_0x4831cb[_0xa225('0x46')]['length']?_0x4831cb[_0xa225('0x46')]:_0x2afd70[_0xa225('0x43')];if(_0x3fc801[_0xa225('0x44')][_0xa225('0xbd')]){_0x4831cb['include']=[{'all':!![]}];}_0x4831cb=_[_0xa225('0xbe')]({},_0x4831cb,_0x3fc801['options']);return db[_0xa225('0x3f')]['find'](_0x4831cb)['then'](handleEntityNotFound(_0x11c5fa,null))['then'](respondWithResult(_0x11c5fa,null))[_0xa225('0x35')](handleError(_0x11c5fa,null));};exports[_0xa225('0xbf')]=function(_0x8ca179,_0x596b0e){return db[_0xa225('0x3f')][_0xa225('0xbf')](_0x8ca179['body'],{})[_0xa225('0x2a')](respondWithResult(_0x596b0e,0xc9))[_0xa225('0x35')](handleError(_0x596b0e,null));};exports[_0xa225('0xc0')]=function(_0x3db07d,_0x551fd9){if(_0x3db07d[_0xa225('0x76')]['id']){delete _0x3db07d['body']['id'];}return db[_0xa225('0x3f')][_0xa225('0x65')]({'where':{'id':_0x3db07d[_0xa225('0xba')]['id']}})[_0xa225('0x2a')](handleEntityNotFound(_0x551fd9,null))[_0xa225('0x2a')](saveUpdates(_0x3db07d[_0xa225('0x76')],null))[_0xa225('0x2a')](respondWithResult(_0x551fd9,null))['catch'](handleError(_0x551fd9,null));};exports[_0xa225('0xc1')]=function(_0x14c820,_0x5daed1){return db[_0xa225('0x3f')]['find']({'where':{'id':_0x14c820[_0xa225('0xba')]['id']}})[_0xa225('0x2a')](handleEntityNotFound(_0x5daed1,null))[_0xa225('0x2a')](removeEntity(_0x5daed1,null))[_0xa225('0x35')](handleError(_0x5daed1,null));};exports[_0xa225('0xc2')]=function(_0x29349e,_0x2bb860){return db[_0xa225('0x3f')]['describe']()[_0xa225('0x2a')](respondWithResult(_0x2bb860,null))[_0xa225('0x35')](handleError(_0x2bb860,null));};exports[_0xa225('0xc3')]=function(_0x2fafd8,_0x3ed22,_0x4909df){return db[_0xa225('0xc4')][_0xa225('0x65')]({'where':{'id':_0x2fafd8['params']['id']}})[_0xa225('0x2a')](handleEntityNotFound(_0x3ed22,null))[_0xa225('0x2a')](function(_0x58bd2c){if(_0x58bd2c){return _0x58bd2c['addMessage'](_0x2fafd8[_0xa225('0x76')]['ids'],_[_0xa225('0xc5')](_0x2fafd8[_0xa225('0x76')],[_0xa225('0xc6'),'id'])||{});}})[_0xa225('0x2a')](respondWithResult(_0x3ed22,null))['catch'](handleError(_0x3ed22,null));};exports[_0xa225('0xc7')]=function(_0x23db6b,_0x163282,_0x414b34){var _0x4c72fb={'raw':![],'where':{}};var _0x1392c8={};var _0x9a10c4={'count':0x0,'rows':[]};return db[_0xa225('0x3f')][_0xa225('0xc8')]({'where':{'id':_0x23db6b[_0xa225('0xba')]['id']}})[_0xa225('0x2a')](handleEntityNotFound(_0x163282,null))[_0xa225('0x2a')](function(_0x2cae57){if(_0x2cae57){_0x1392c8[_0xa225('0x43')]=_['keys'](db[_0xa225('0xc4')][_0xa225('0xbb')]);_0x1392c8['query']=_[_0xa225('0x45')](_0x23db6b[_0xa225('0x44')]);_0x1392c8[_0xa225('0x4c')]=_[_0xa225('0xbc')](_0x1392c8['model'],_0x1392c8[_0xa225('0x44')]);_0x4c72fb[_0xa225('0x46')]=_[_0xa225('0xbc')](_0x1392c8[_0xa225('0x43')],qs[_0xa225('0xa2')](_0x23db6b[_0xa225('0x44')][_0xa225('0xa2')]));_0x4c72fb[_0xa225('0x46')]=_0x4c72fb['attributes'][_0xa225('0x47')]?_0x4c72fb[_0xa225('0x46')]:_0x1392c8[_0xa225('0x43')];if(!_0x23db6b[_0xa225('0x44')][_0xa225('0x48')](_0xa225('0x49'))){_0x4c72fb['limit']=qs['limit'](_0x23db6b[_0xa225('0x44')][_0xa225('0x23')]);_0x4c72fb[_0xa225('0x21')]=qs['offset'](_0x23db6b['query'][_0xa225('0x21')]);}_0x4c72fb[_0xa225('0x95')]=qs[_0xa225('0x4a')](_0x23db6b[_0xa225('0x44')][_0xa225('0x4a')]);_0x4c72fb[_0xa225('0x4b')]=qs['filters'](_[_0xa225('0x4d')](_0x23db6b[_0xa225('0x44')],_0x1392c8[_0xa225('0x4c')]));_0x4c72fb[_0xa225('0x4b')]['FaxInteractionId']=_0x2cae57['id'];if(_0x23db6b[_0xa225('0x44')][_0xa225('0x88')]){_0x4c72fb[_0xa225('0x4b')]=_['merge'](_0x4c72fb[_0xa225('0x4b')],{'$or':_[_0xa225('0x3e')](_0x4c72fb['attributes'],function(_0xf33719){var _0x2b4d9d={};_0x2b4d9d[_0xf33719]={'$like':'%'+_0x23db6b['query'][_0xa225('0x88')]+'%'};return _0x2b4d9d;})});}if(_0x23db6b[_0xa225('0x44')][_0xa225('0x7e')]){var _0x5bc12c=_0x23db6b['query'][_0xa225('0x7e')][_0xa225('0x31')](',');var _0x4a791a={};_0x4a791a[_0x5bc12c[0x0]]={'$gte':moment(_0x5bc12c[0x1])[_0xa225('0xc9')]('YYYY-MM-DD\x20HH:mm:ss')};_0x4c72fb[_0xa225('0x4b')]=_['merge'](_0x4c72fb[_0xa225('0x4b')],_0x4a791a);}_0x4c72fb=_['merge']({},_0x4c72fb,_0x23db6b[_0xa225('0xca')]);return db[_0xa225('0xc4')][_0xa225('0x24')]({'where':_0x4c72fb[_0xa225('0x4b')]})['then'](function(_0x4f1051){_0x9a10c4[_0xa225('0x24')]=_0x4f1051;if(_0x23db6b[_0xa225('0x44')][_0xa225('0xbd')]){_0x4c72fb[_0xa225('0xcb')]=[{'all':!![]}];}return db['FaxMessage']['findAll'](_0x4c72fb);})[_0xa225('0x2a')](function(_0x4a282a){_0x9a10c4['rows']=_0x4a282a;return _0x9a10c4;});}})[_0xa225('0x2a')](respondWithFilteredResult(_0x163282,_0x4c72fb))[_0xa225('0x35')](handleError(_0x163282,null));};exports[_0xa225('0xcc')]=function(_0x274515,_0x1d0804,_0x2328e8){return db[_0xa225('0x3f')][_0xa225('0x65')]({'where':{'id':_0x274515[_0xa225('0xba')]['id']}})[_0xa225('0x2a')](handleEntityNotFound(_0x1d0804,null))[_0xa225('0x2a')](function(_0x51cf44){if(_0x51cf44){return _0x51cf44[_0xa225('0xcd')](_0x274515['body'][_0xa225('0xc6')],_[_0xa225('0xc5')](_0x274515[_0xa225('0x76')],[_0xa225('0xc6'),'id'])||{})[_0xa225('0xce')](function(){return db[_0xa225('0x70')]['findAll']({'attributes':['id','name',_0xa225('0xcf')],'where':{'id':_0x274515['body'][_0xa225('0xc6')]}});})['then'](function(_0x432ca9){socket['emit'](_0xa225('0xd0'),{'id':Number(_0x274515[_0xa225('0xba')]['id']),'tags':_0x432ca9||[]});return{'id':Number(_0x274515[_0xa225('0xba')]['id']),'tags':_0x432ca9||[]};});}})[_0xa225('0x2a')](respondWithResult(_0x1d0804,null))[_0xa225('0x35')](handleError(_0x1d0804,null));};exports[_0xa225('0xd1')]=function(_0x2568c3,_0x212409,_0x14339c){return db[_0xa225('0x3f')][_0xa225('0x65')]({'where':{'id':_0x2568c3[_0xa225('0xba')]['id']}})[_0xa225('0x2a')](handleEntityNotFound(_0x212409,null))[_0xa225('0x2a')](function(_0x328ba0){if(_0x328ba0){return _0x328ba0[_0xa225('0xd1')](_0x2568c3[_0xa225('0x44')]['ids']);}})[_0xa225('0x2a')](respondWithStatusCode(_0x212409,null))[_0xa225('0x35')](handleError(_0x212409,null));};exports[_0xa225('0xd2')]=function(_0x585fb9,_0x31ac62){var _0x5e0749=moment()[_0xa225('0xd3')]()[_0xa225('0xa0')]();var _0x30a034=path[_0xa225('0xd4')](config[_0xa225('0xd5')],_0xa225('0xd6'),'files','tmp');var _0x2e8e26=path['join'](config[_0xa225('0xd5')],_0xa225('0xd6'),_0xa225('0xd7'),_0xa225('0xd8'));var _0x427f1a=path[_0xa225('0xd4')](_0x30a034,_0x5e0749);var _0xae5873=util[_0xa225('0xc9')](_0xa225('0xd9'),_0x585fb9[_0xa225('0xba')]['id'],_0x5e0749);var _0x2573d3=path['join'](_0x30a034,_0xae5873);var _0x3b7622=[];_0x3b7622[_0xa225('0x34')]({'model':db[_0xa225('0xda')],'as':_0xa225('0xda'),'raw':!![]});var _0x2942bc=[{'model':db[_0xa225('0xc4')],'as':_0xa225('0xdb'),'attributes':['id','body',_0xa225('0x7c')],'include':_0x3b7622}];return db['FaxInteraction'][_0xa225('0x65')]({'where':{'id':_0x585fb9[_0xa225('0xba')]['id']},'include':_0x2942bc})[_0xa225('0x2a')](handleEntityNotFound(_0x31ac62,null))[_0xa225('0x2a')](function(_0x48e1d9){if(_0x48e1d9&&_0x48e1d9[_0xa225('0xdb')]){var _0x3ae258=_0x48e1d9[_0xa225('0xdc')]({'plain':!![]});fs[_0xa225('0xdd')](_0x427f1a);for(var _0x3c2d80=0x0;_0x3c2d80<_0x3ae258[_0xa225('0xdb')][_0xa225('0x47')];_0x3c2d80++){var _0x39994d=_0x3ae258['Messages'][_0x3c2d80][_0xa225('0xda')];if(_0x39994d){var _0x3a5e08=path[_0xa225('0xd4')](_0x2e8e26,_0x39994d[_0xa225('0xde')]);if(fs[_0xa225('0xdf')](_0x3a5e08)){fs[_0xa225('0xe0')](_0x3a5e08)[_0xa225('0xe1')](fs[_0xa225('0xe2')](path[_0xa225('0xd4')](_0x427f1a,_0x39994d[_0xa225('0xde')])));}}}return BPromise[_0xa225('0x98')]()['then'](function(){return new BPromise(function(_0x2c58b5,_0x14323d){zipdir(_0x427f1a,{'saveTo':_0x2573d3},function(_0x402569,_0x235b51){if(_0x402569)return _0x14323d(_0x402569);return _0x2c58b5(_0x235b51);});})['then'](function(){return new BPromise(function(_0x19fcc0,_0x3d839a){rimraf(_0x427f1a,function(_0x102f32){if(_0x102f32)_0x3d839a(_0x102f32);return _0x19fcc0();});});})[_0xa225('0x2a')](function(){return _0x31ac62[_0xa225('0xd2')](_0x2573d3,_0xae5873,function(_0x4ff342){if(_0x4ff342){console['log'](_0xa225('0xe3'),_0x4ff342);}else{fs[_0xa225('0xe4')](_0x2573d3);}});});});}else{return _0x31ac62[_0xa225('0x1e')](0xc8);}})[_0xa225('0x35')](handleError(_0x31ac62,null));};