7663a153652afeb81425cef39ec35ad361760794
[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 _0x962f=['unreadMessages','value','having','`\x20=\x200','`\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','ContactId','buildExpression','text','start','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','body','some','isEmpty','FaxAccountId','concat','createdAt','$gte','parse','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20>\x200','tag','isArray','replace','isNumeric','i.fax\x20LIKE\x20?','i.id','Sequelize','QueryTypes','clone','contactName','t.id\x20IN\x20?','i.FaxAccountId\x20IS\x20NOT\x20NULL','user','role','agent','getFaxAccounts','i.FaxAccountId\x20IS\x20NULL','i.FaxAccountId\x20IN\x20?','sequelize','toString','keyBy','merge','a.key','a.mandatoryDisposition','Account.mandatoryDisposition','CASE\x20WHEN\x20(c.firstName\x20IS\x20NOT\x20NULL\x20AND\x20c.firstName\x20<>\x20\x27\x27)\x20OR\x20(c.lastName\x20IS\x20NOT\x20NULL\x20AND\x20c.lastName\x20<>\x20\x27\x27)\x20THEN\x20CONCAT(IFNULL(c.firstName,\x20\x27\x27),\x20\x27\x20\x27,\x20IFNULL(c.lastName,\x20\x27\x27))\x20ELSE\x20\x27Unknown\x27\x20END','i.*','Contact.firstName','c.lastName','Contact.lastName','c.email','Contact.email','c.phone','Contact.phone','c.mobile','Contact.mobile','c.fax','Contact.fax','o.fullname','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.FaxInteractionId\x20IN\x20?','groupBy','all','catch','show','params','rawAttributes','include','options','create','describe','addMessage','FaxMessage','ids','omit','getMessages','findOne','filter','format','YYYY-MM-DD\x20HH:mm:ss','rows','Tag','findAll','emit','removeTags','unix','join','root','server','files','tmp','transcript-%d-%s.zip','Attachment','Messages','get','mkdirSync','basename','existsSync','createReadStream','createWriteStream','resolve','download','log','unlinkSync','zip-dir','fast-json-patch','request-promise','mustache','util','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','redis','defaults','localhost','socket.io-emitter','./faxInteraction.socket','register','status','offset','undefined','limit','count','apply','reject','save','then','destroy','end','sendStatus','error','stack','send','Users','map','Tags','TagIds','split','forEach','push','index','FaxInteraction','fieldName','type','model','name','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','select','field','color','from','tools_tags','u.fullname','ui.FaxInteractionId','user_has_fax_interactions','left_join','users','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','expr','parseSearch','search','sqlOperator','conditions','find'];(function(_0x321bb2,_0x202794){var _0x9c12ed=function(_0x263dd3){while(--_0x263dd3){_0x321bb2['push'](_0x321bb2['shift']());}};_0x9c12ed(++_0x202794);}(_0x962f,0x73));var _0xf962=function(_0x20a584,_0xe384a5){_0x20a584=_0x20a584-0x0;var _0x4b41a8=_0x962f[_0x20a584];return _0x4b41a8;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0xf962('0x0'));var jsonpatch=require(_0xf962('0x1'));var rp=require(_0xf962('0x2'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xf962('0x3'));var util=require(_0xf962('0x4'));var path=require('path');var sox=require(_0xf962('0x5'));var csv=require(_0xf962('0x6'));var ejs=require(_0xf962('0x7'));var fs=require('fs');var fs_extra=require(_0xf962('0x8'));var _=require(_0xf962('0x9'));var squel=require(_0xf962('0xa'));var crypto=require(_0xf962('0xb'));var jsforce=require(_0xf962('0xc'));var deskjs=require(_0xf962('0xd'));var toCsv=require(_0xf962('0x6'));var querystring=require('querystring');var Papa=require(_0xf962('0xe'));var Redis=require(_0xf962('0xf'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xf962('0x10'));var logger=require(_0xf962('0x11'))('api');var utils=require(_0xf962('0x12'));var config=require(_0xf962('0x13'));var licenseUtil=require(_0xf962('0x14'));var db=require('../../mysqldb')['db'];config[_0xf962('0x15')]=_[_0xf962('0x16')](config[_0xf962('0x15')],{'host':_0xf962('0x17'),'port':0x18eb});var socket=require(_0xf962('0x18'))(new Redis(config[_0xf962('0x15')]));require(_0xf962('0x19'))[_0xf962('0x1a')](socket);function respondWithStatusCode(_0x2ed4c4,_0x4a0a77){_0x4a0a77=_0x4a0a77||0xcc;return function(_0x2c871e){if(_0x2c871e){return _0x2ed4c4['sendStatus'](_0x4a0a77);}return _0x2ed4c4['status'](_0x4a0a77)['end']();};}function respondWithResult(_0x3a3f13,_0x16f655){_0x16f655=_0x16f655||0xc8;return function(_0x58f8a3){if(_0x58f8a3){return _0x3a3f13[_0xf962('0x1b')](_0x16f655)['json'](_0x58f8a3);}};}function respondWithFilteredResult(_0x33855e,_0x5ec9e2){return function(_0x24d461){if(_0x24d461){var _0x32860a=typeof _0x5ec9e2[_0xf962('0x1c')]===_0xf962('0x1d')&&typeof _0x5ec9e2[_0xf962('0x1e')]==='undefined';var _0x115548=_0x24d461['count'];var _0x2619d7=_0x32860a?0x0:_0x5ec9e2[_0xf962('0x1c')];var _0x4bad28=_0x32860a?_0x24d461[_0xf962('0x1f')]:_0x5ec9e2['offset']+_0x5ec9e2[_0xf962('0x1e')];var _0x4cc1b2;if(_0x4bad28>=_0x115548){_0x4bad28=_0x115548;_0x4cc1b2=0xc8;}else{_0x4cc1b2=0xce;}_0x33855e[_0xf962('0x1b')](_0x4cc1b2);return _0x33855e['set']('Content-Range',_0x2619d7+'-'+_0x4bad28+'/'+_0x115548)['json'](_0x24d461);}return null;};}function patchUpdates(_0x499739){return function(_0x2116af){try{jsonpatch[_0xf962('0x20')](_0x2116af,_0x499739,!![]);}catch(_0x1d7c93){return BPromise[_0xf962('0x21')](_0x1d7c93);}return _0x2116af[_0xf962('0x22')]();};}function saveUpdates(_0x26437f,_0x308bd2){return function(_0x2fa579){if(_0x2fa579){return _0x2fa579['update'](_0x26437f)[_0xf962('0x23')](function(_0x570114){return _0x570114;});}return null;};}function removeEntity(_0x3f67de,_0x3457be){return function(_0x4fec8f){if(_0x4fec8f){return _0x4fec8f[_0xf962('0x24')]()['then'](function(){_0x3f67de[_0xf962('0x1b')](0xcc)[_0xf962('0x25')]();});}};}function handleEntityNotFound(_0x1776f3,_0x248f9e){return function(_0x5612e4){if(!_0x5612e4){_0x1776f3[_0xf962('0x26')](0x194);}return _0x5612e4;};}function handleError(_0x50d7bc,_0x588372){_0x588372=_0x588372||0x1f4;return function(_0x5e8273){logger[_0xf962('0x27')](_0x5e8273[_0xf962('0x28')]);if(_0x5e8273['name']){delete _0x5e8273['name'];}_0x50d7bc[_0xf962('0x1b')](_0x588372)[_0xf962('0x29')](_0x5e8273);};}function getInteractionUsers(_0x33da6c,_0x361a2f){return new BPromise(function(_0x428943,_0x5090e5){try{if(_0x361a2f[_0x33da6c['id']]){_0x33da6c[_0xf962('0x2a')]=_[_0xf962('0x2b')](_0x361a2f[_0x33da6c['id']],function(_0x9c1776){return{'id':_0x9c1776['id'],'fullname':_0x9c1776['fullname']};});}}catch(_0x1e98a7){_0x5090e5(_0x1e98a7);}_0x428943(_0x33da6c);});}function getInteractionTags(_0x523471,_0x5d649b){return new BPromise(function(_0x3be4b4,_0x331619){try{if(_0x523471['TagIds']){_0x523471[_0xf962('0x2c')]=[];_0x523471[_0xf962('0x2d')][_0xf962('0x2e')](',')[_0xf962('0x2f')](function(_0x52061a){_0x523471['Tags'][_0xf962('0x30')](_0x5d649b[_0x52061a]);});}delete _0x523471[_0xf962('0x2d')];}catch(_0x2c4587){_0x331619(_0x2c4587);}_0x3be4b4(_0x523471);});}function updateFaxInteraction(_0x5c5479,_0xc573db,_0xd7140b){return new BPromise(function(_0x4339ef,_0x157a24){return getInteractionUsers(_0x5c5479,_0xd7140b)[_0xf962('0x23')](function(_0x3cf2f4){return getInteractionTags(_0x3cf2f4,_0xc573db);})[_0xf962('0x23')](function(_0x346877){_0x4339ef(_0x346877);})['catch'](function(_0x5c9f8b){_0x157a24(_0x5c9f8b);});});}exports[_0xf962('0x31')]=function(_0x2dd276,_0x372c22){var _0x18176e={},_0x3757b5={},_0x30f4fe={'count':0x0,'rows':[]};var _0x104531=_['map'](db[_0xf962('0x32')]['rawAttributes'],function(_0x4d5c6e){return{'name':_0x4d5c6e[_0xf962('0x33')],'type':_0x4d5c6e[_0xf962('0x34')]['key']};});_0x3757b5[_0xf962('0x35')]=_[_0xf962('0x2b')](_0x104531,_0xf962('0x36'));_0x3757b5[_0xf962('0x37')]=_[_0xf962('0x38')](_0x2dd276['query']);_0x3757b5[_0xf962('0x39')]=_[_0xf962('0x3a')](_0x3757b5[_0xf962('0x35')],_0x3757b5['query']);_0x18176e[_0xf962('0x3b')]=_['intersection'](_0x3757b5[_0xf962('0x35')],qs[_0xf962('0x3c')](_0x2dd276[_0xf962('0x37')][_0xf962('0x3c')]));_0x18176e['attributes']=_0x18176e[_0xf962('0x3b')][_0xf962('0x3d')]?_0x18176e[_0xf962('0x3b')]:_0x3757b5[_0xf962('0x35')];if(!_0x2dd276[_0xf962('0x37')][_0xf962('0x3e')](_0xf962('0x3f'))){_0x18176e['limit']=qs[_0xf962('0x1e')](_0x2dd276[_0xf962('0x37')]['limit']);_0x18176e['offset']=qs[_0xf962('0x1c')](_0x2dd276[_0xf962('0x37')]['offset']);}_0x18176e[_0xf962('0x40')]=qs[_0xf962('0x41')](_0x2dd276[_0xf962('0x37')][_0xf962('0x41')]);_0x18176e[_0xf962('0x42')]=qs['filters'](_[_0xf962('0x43')](_0x2dd276[_0xf962('0x37')],_0x3757b5[_0xf962('0x39')]),_0x104531);var _0x283a0d=[];var _0x38caab=squel[_0xf962('0x44')]()[_0xf962('0x45')]('id')['field'](_0xf962('0x36'))['field'](_0xf962('0x46'))[_0xf962('0x47')](_0xf962('0x48'));var _0x2ae374=squel['select']()[_0xf962('0x45')]('u.id')[_0xf962('0x45')](_0xf962('0x49'))[_0xf962('0x45')](_0xf962('0x4a'))[_0xf962('0x47')](_0xf962('0x4b'),'ui')[_0xf962('0x4c')](_0xf962('0x4d'),'u','u.id\x20=\x20ui.UserId');var _0x2291ee=squel['select']()[_0xf962('0x47')]('fax_interactions','i')[_0xf962('0x4c')](_0xf962('0x4e'),'c',_0xf962('0x4f'))['left_join'](_0xf962('0x4d'),'o',_0xf962('0x50'))[_0xf962('0x4c')](_0xf962('0x51'),'a','a.id\x20=\x20i.FaxAccountId')['left_join'](_0xf962('0x52'),'me',_0xf962('0x53'))[_0xf962('0x4c')](_0xf962('0x54'),'it',_0xf962('0x55'))['left_join'](_0xf962('0x48'),'t','t.id\x20=\x20it.TagId');var _0x418d9b=squel[_0xf962('0x56')]();var _0x255d13=[];var _0x4e17fc=squel[_0xf962('0x56')]();var _0x3510ca;if(_0x2dd276[_0xf962('0x37')]['search']){_0x3510ca=as[_0xf962('0x57')](_0x2dd276[_0xf962('0x37')][_0xf962('0x58')]);var _0x163b1b=_0x3510ca[_0xf962('0x59')];for(var _0x2c623d=0x0;_0x2c623d<_0x3510ca[_0xf962('0x5a')][_0xf962('0x3d')];_0x2c623d++){var _0x376460=_0x3510ca['conditions'][_0x2c623d];var _0x5576b7='i';var _0x4e424a=_[_0xf962('0x5b')](_0x104531,['name',_0x376460[_0xf962('0x45')]]);if(!_0x4e424a){switch(_0x376460[_0xf962('0x45')]){case _0xf962('0x5c'):if(_0x376460[_0xf962('0x5d')]==0x1){_0x2291ee[_0xf962('0x5e')]('`'+_0x376460[_0xf962('0x45')]+_0xf962('0x5f'));}else{_0x2291ee[_0xf962('0x5e')]('`'+_0x376460[_0xf962('0x45')]+_0xf962('0x60'));}break;case _0xf962('0x61'):if(_0x376460[_0xf962('0x62')]===_0xf962('0x63')){if(_0x376460[_0xf962('0x5d')]['split']('\x20')['length']>0x1){_0x418d9b[_0x163b1b](_0xf962('0x64'),qs[_0xf962('0x65')](_0x376460['value']),null);}else{var _0x1363e2='%'+_0x376460[_0xf962('0x5d')]+'%';_0x418d9b[_0x163b1b]('c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?',_0x1363e2,_0x1363e2,_0x1363e2);}}else{_0x4e424a=_[_0xf962('0x5b')](_0x104531,[_0xf962('0x36'),_0xf962('0x66')]);_0x376460[_0xf962('0x45')]=_0xf962('0x66');_0x63bd41=as[_0xf962('0x67')](_0x5576b7,_0x4e424a[_0xf962('0x34')],_0x376460);_0x418d9b[_0x163b1b](_0x63bd41[_0xf962('0x68')],_0x63bd41['value'][_0xf962('0x69')],_0x63bd41[_0xf962('0x5d')][_0xf962('0x25')]);}break;case'Tag':var _0x1656fc=_0x376460[_0xf962('0x5d')][_0xf962('0x2e')](',')['map'](function(_0x2c960d){return Number(_0x2c960d);});_0x1656fc['forEach'](function(_0x564d5f){_0x4e17fc['or'](_0xf962('0x6a'),'%,'+_0x564d5f+',%');});_0x255d13=_['union'](_0x255d13,_0x1656fc);break;case'User':if(_0x376460['operator']===_0xf962('0x63')){_0x418d9b[_0x163b1b](_0xf962('0x6b'),'%'+_0x376460[_0xf962('0x5d')]+'%',null);}else{_0x4e424a=_[_0xf962('0x5b')](_0x104531,[_0xf962('0x36'),_0xf962('0x6c')]);_0x376460['field']=_0xf962('0x6c');_0x63bd41=as['buildExpression'](_0x5576b7,_0x4e424a[_0xf962('0x34')],_0x376460);_0x418d9b[_0x163b1b](_0x63bd41[_0xf962('0x68')],_0x63bd41[_0xf962('0x5d')][_0xf962('0x69')],_0x63bd41[_0xf962('0x5d')][_0xf962('0x25')]);}break;case _0xf962('0x6d'):_0x63bd41=as[_0xf962('0x67')]('me',null,_0x376460);_0x418d9b[_0x163b1b](_0x63bd41[_0xf962('0x68')],_0x63bd41[_0xf962('0x5d')][_0xf962('0x69')],_0x63bd41[_0xf962('0x5d')]['end']);break;}}else{var _0x63bd41=as['buildExpression'](_0x5576b7,_0x4e424a[_0xf962('0x34')],_0x376460);_0x418d9b[_0x163b1b](_0x63bd41[_0xf962('0x68')],_0x63bd41['value'][_0xf962('0x69')],_0x63bd41[_0xf962('0x5d')][_0xf962('0x25')]);}}}else{var _0x2fca04=_(_0x2dd276[_0xf962('0x37')])[_0xf962('0x38')]()[_0xf962('0x2b')](function(_0x15eeb3){return _[_0xf962('0x6e')](_0x104531,[_0xf962('0x36'),_0x15eeb3])?_0x15eeb3:undefined;})['compact']()[_0xf962('0x5d')]();if(!_[_0xf962('0x6f')](_0x2fca04)){_0x2fca04[_0xf962('0x2f')](function(_0x17db4d){if(_0x17db4d===_0xf962('0x70')){_0x2291ee[_0xf962('0x42')]('i.FaxAccountId\x20IN\x20?',[][_0xf962('0x71')](_0x2dd276[_0xf962('0x37')][_0x17db4d]));}else if(_0x17db4d===_0xf962('0x72')){var _0xf5703d=JSON['parse'](_0x2dd276['query'][_0x17db4d])[_0xf962('0x73')];var _0x187ef3=JSON[_0xf962('0x74')](_0x2dd276[_0xf962('0x37')][_0x17db4d])['$lte'];_0x2291ee[_0xf962('0x42')](_0xf962('0x75'),_0xf5703d,_0x187ef3);}else{if(_0x2dd276[_0xf962('0x37')][_0x17db4d]==='null'){_0x2291ee[_0xf962('0x42')]('i.'+_0x17db4d+_0xf962('0x76'));}else{_0x2291ee[_0xf962('0x42')]('i.'+_0x17db4d+_0xf962('0x77'),_0x2dd276[_0xf962('0x37')][_0x17db4d]);}}});}if(_0x2dd276[_0xf962('0x37')][_0xf962('0x78')]){if(_0x2dd276['query'][_0xf962('0x78')]==0x1){_0x2291ee[_0xf962('0x5e')]('`unreadMessages`\x20=\x200');}else{_0x2291ee[_0xf962('0x5e')](_0xf962('0x79'));}}if(_0x2dd276[_0xf962('0x37')][_0xf962('0x7a')]){_0x255d13=_[_0xf962('0x7b')](_0x2dd276[_0xf962('0x37')]['tag'])?_0x2dd276[_0xf962('0x37')][_0xf962('0x7a')]:new Array(_0x2dd276['query'][_0xf962('0x7a')]);_0x255d13[_0xf962('0x2f')](function(_0xe11d3e){_0x4e17fc['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0xe11d3e+',%');});}if(_0x2dd276[_0xf962('0x37')]['filter']){var _0x8a0564=_0x2dd276[_0xf962('0x37')]['filter'][_0xf962('0x7c')]('\x5c','\x5c\x5c')[_0xf962('0x7c')](/'/g,'\x27\x27');if(qs[_0xf962('0x7d')](_0x8a0564)){_0x418d9b['or']('i.id\x20LIKE\x20?',_0x8a0564+'%')['or'](_0xf962('0x7e'),_0x8a0564+'%');}_0x418d9b['or']('CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?',_0x8a0564+'%');}}_0x2291ee[_0xf962('0x42')](_0x418d9b);_0x2291ee['group'](_0xf962('0x7f'));var _0x130b12={'type':db[_0xf962('0x80')][_0xf962('0x81')]['SELECT'],'raw':!![]};var _0x29c0f3=_0x2291ee[_0xf962('0x82')]();_0x29c0f3[_0xf962('0x45')](_0xf962('0x7f'));_0x29c0f3[_0xf962('0x45')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0xf962('0x5c'));if(_0x18176e[_0xf962('0x40')]){_0x18176e[_0xf962('0x40')][_0xf962('0x2f')](function(_0x282f1b){var _0x37f4b7=_0x282f1b[0x0]===_0xf962('0x83')?_0x282f1b[0x0]:'i.'+_0x282f1b[0x0];_0x2291ee[_0xf962('0x40')](_0x37f4b7,_0x282f1b[0x1]==='DESC'?![]:!![]);});}if(!_[_0xf962('0x6f')](_0x255d13)){_0x2291ee[_0xf962('0x5e')](_0x4e17fc);_0x29c0f3[_0xf962('0x42')](_0xf962('0x84'),_0x255d13);}BPromise['resolve']()[_0xf962('0x23')](function(){if(!_0x3510ca){if(_0x2dd276[_0xf962('0x37')][_0xf962('0x70')])return;_0x29c0f3[_0xf962('0x42')]('i.FaxAccountId\x20IS\x20NOT\x20NULL');_0x2291ee[_0xf962('0x42')](_0xf962('0x85'));return;}if(_0x2dd276[_0xf962('0x86')][_0xf962('0x87')]!==_0xf962('0x88'))return;return _0x2dd276[_0xf962('0x86')][_0xf962('0x89')]({'attributes':['id'],'raw':!![]})['then'](function(_0x535ba9){if(_['isEmpty'](_0x535ba9)){_0x29c0f3['where'](_0xf962('0x8a'));_0x2291ee[_0xf962('0x42')]('i.FaxAccountId\x20IS\x20NULL');}else{_0x29c0f3[_0xf962('0x42')](_0xf962('0x8b'),_[_0xf962('0x2b')](_0x535ba9,'id'));_0x2291ee[_0xf962('0x42')]('i.FaxAccountId\x20IN\x20?',_[_0xf962('0x2b')](_0x535ba9,'id'));}});})[_0xf962('0x23')](function(){if(_0x2dd276[_0xf962('0x86')][_0xf962('0x87')]===_0xf962('0x88')&&!_0x3510ca&&!_0x2dd276[_0xf962('0x37')][_0xf962('0x70')])return[];return db[_0xf962('0x8c')][_0xf962('0x37')](_0x29c0f3[_0xf962('0x8d')](),_0x130b12);})['then'](function(_0x4019ec){_0x30f4fe[_0xf962('0x1f')]=_0x4019ec['length'];if(_0x30f4fe[_0xf962('0x1f')]===0x0)return[];return db[_0xf962('0x8c')][_0xf962('0x37')](_0x38caab[_0xf962('0x8d')](),_0x130b12)[_0xf962('0x23')](function(_0x1cfa6d){_0x283a0d=_[_0xf962('0x8e')](_0x1cfa6d,'id');_0x130b12=_[_0xf962('0x8f')](_0x130b12,{'model':db[_0xf962('0x32')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x2dd276[_0xf962('0x37')]['fields']){_0x18176e['attributes']['forEach'](function(_0x14845e){_0x2291ee[_0xf962('0x45')]('i.'+_0x14845e);});}else{_0x2291ee[_0xf962('0x45')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0xf962('0x5c'));_0x2291ee['field'](_0xf962('0x90'),'Account.key');_0x2291ee[_0xf962('0x45')](_0xf962('0x91'),_0xf962('0x92'));_0x2291ee[_0xf962('0x45')](_0xf962('0x93'),_0xf962('0x83'));_0x2291ee[_0xf962('0x45')](_0xf962('0x94'));_0x2291ee[_0xf962('0x45')]('c.firstName',_0xf962('0x95'));_0x2291ee[_0xf962('0x45')](_0xf962('0x96'),_0xf962('0x97'));_0x2291ee[_0xf962('0x45')](_0xf962('0x98'),_0xf962('0x99'));_0x2291ee[_0xf962('0x45')](_0xf962('0x9a'),_0xf962('0x9b'));_0x2291ee[_0xf962('0x45')](_0xf962('0x9c'),_0xf962('0x9d'));_0x2291ee[_0xf962('0x45')](_0xf962('0x9e'),_0xf962('0x9f'));_0x2291ee[_0xf962('0x45')](_0xf962('0xa0'),'Owner.fullname');_0x2291ee[_0xf962('0x45')]('o.internal',_0xf962('0xa1'));_0x2291ee[_0xf962('0x45')](_0xf962('0xa2'),_0xf962('0x2d'));}if(_0x18176e[_0xf962('0x1e')])_0x2291ee[_0xf962('0x1e')](_0x18176e[_0xf962('0x1e')]);if(_0x18176e[_0xf962('0x1c')])_0x2291ee[_0xf962('0x1c')](_0x18176e['offset']);return db[_0xf962('0x8c')][_0xf962('0x37')](_0x2291ee[_0xf962('0x8d')](),_0x130b12);})[_0xf962('0x23')](function(_0x4cbeb5){if(_0x4cbeb5[_0xf962('0x3d')]>0x0)_0x2ae374[_0xf962('0x42')](_0xf962('0xa3'),_[_0xf962('0x2b')](_0x4cbeb5,'id'));return db[_0xf962('0x8c')][_0xf962('0x37')](_0x2ae374['toString'](),_0x130b12)[_0xf962('0x23')](function(_0x171a6a){var _0x397576=_[_0xf962('0xa4')](_0x171a6a,'FaxInteractionId');var _0x4d942e=[];_0x4cbeb5[_0xf962('0x2f')](function(_0xfc146d){_0x4d942e[_0xf962('0x30')](updateFaxInteraction(_0xfc146d,_0x283a0d,_0x397576));});return BPromise[_0xf962('0xa5')](_0x4d942e);});});})[_0xf962('0x23')](function(_0x23c72e){_0x30f4fe['rows']=_0x23c72e;return _0x30f4fe;})[_0xf962('0x23')](respondWithFilteredResult(_0x372c22,_0x18176e))[_0xf962('0xa6')](handleError(_0x372c22,null));};exports[_0xf962('0xa7')]=function(_0x404b6d,_0x4202b6){var _0x2e51ea={'raw':![],'where':{'id':_0x404b6d[_0xf962('0xa8')]['id']}},_0xd8ed15={};_0xd8ed15[_0xf962('0x35')]=_[_0xf962('0x38')](db[_0xf962('0x32')][_0xf962('0xa9')]);_0xd8ed15[_0xf962('0x37')]=_[_0xf962('0x38')](_0x404b6d[_0xf962('0x37')]);_0xd8ed15[_0xf962('0x39')]=_[_0xf962('0x3a')](_0xd8ed15[_0xf962('0x35')],_0xd8ed15[_0xf962('0x37')]);_0x2e51ea[_0xf962('0x3b')]=_[_0xf962('0x3a')](_0xd8ed15['model'],qs[_0xf962('0x3c')](_0x404b6d['query']['fields']));_0x2e51ea[_0xf962('0x3b')]=_0x2e51ea[_0xf962('0x3b')]['length']?_0x2e51ea['attributes']:_0xd8ed15[_0xf962('0x35')];if(_0x404b6d[_0xf962('0x37')]['includeAll']){_0x2e51ea[_0xf962('0xaa')]=[{'all':!![]}];}_0x2e51ea=_[_0xf962('0x8f')]({},_0x2e51ea,_0x404b6d[_0xf962('0xab')]);return db[_0xf962('0x32')]['find'](_0x2e51ea)[_0xf962('0x23')](handleEntityNotFound(_0x4202b6,null))[_0xf962('0x23')](respondWithResult(_0x4202b6,null))[_0xf962('0xa6')](handleError(_0x4202b6,null));};exports[_0xf962('0xac')]=function(_0x1a97f6,_0x1ea6d8){return db[_0xf962('0x32')][_0xf962('0xac')](_0x1a97f6[_0xf962('0x6d')],{})[_0xf962('0x23')](respondWithResult(_0x1ea6d8,0xc9))['catch'](handleError(_0x1ea6d8,null));};exports['update']=function(_0x513316,_0xe67825){if(_0x513316['body']['id']){delete _0x513316[_0xf962('0x6d')]['id'];}return db[_0xf962('0x32')][_0xf962('0x5b')]({'where':{'id':_0x513316[_0xf962('0xa8')]['id']}})[_0xf962('0x23')](handleEntityNotFound(_0xe67825,null))['then'](saveUpdates(_0x513316[_0xf962('0x6d')],null))[_0xf962('0x23')](respondWithResult(_0xe67825,null))[_0xf962('0xa6')](handleError(_0xe67825,null));};exports[_0xf962('0x24')]=function(_0x228a1b,_0x18b9ef){return db['FaxInteraction'][_0xf962('0x5b')]({'where':{'id':_0x228a1b['params']['id']}})['then'](handleEntityNotFound(_0x18b9ef,null))[_0xf962('0x23')](removeEntity(_0x18b9ef,null))[_0xf962('0xa6')](handleError(_0x18b9ef,null));};exports[_0xf962('0xad')]=function(_0xad5ba,_0x2fe753){return db[_0xf962('0x32')]['describe']()['then'](respondWithResult(_0x2fe753,null))[_0xf962('0xa6')](handleError(_0x2fe753,null));};exports[_0xf962('0xae')]=function(_0x1bce43,_0x3fe03e,_0x37a2c1){return db[_0xf962('0xaf')][_0xf962('0x5b')]({'where':{'id':_0x1bce43['params']['id']}})[_0xf962('0x23')](handleEntityNotFound(_0x3fe03e,null))['then'](function(_0x154434){if(_0x154434){return _0x154434[_0xf962('0xae')](_0x1bce43[_0xf962('0x6d')][_0xf962('0xb0')],_[_0xf962('0xb1')](_0x1bce43[_0xf962('0x6d')],['ids','id'])||{});}})['then'](respondWithResult(_0x3fe03e,null))[_0xf962('0xa6')](handleError(_0x3fe03e,null));};exports[_0xf962('0xb2')]=function(_0x1d9f4d,_0x371f4f,_0x556f0c){var _0x374e68={'raw':![],'where':{}};var _0xef8922={};var _0x2ae8d8={'count':0x0,'rows':[]};return db[_0xf962('0x32')][_0xf962('0xb3')]({'where':{'id':_0x1d9f4d[_0xf962('0xa8')]['id']}})[_0xf962('0x23')](handleEntityNotFound(_0x371f4f,null))['then'](function(_0x3bc7ea){if(_0x3bc7ea){_0xef8922['model']=_[_0xf962('0x38')](db['FaxMessage'][_0xf962('0xa9')]);_0xef8922[_0xf962('0x37')]=_['keys'](_0x1d9f4d[_0xf962('0x37')]);_0xef8922[_0xf962('0x39')]=_[_0xf962('0x3a')](_0xef8922[_0xf962('0x35')],_0xef8922['query']);_0x374e68['attributes']=_[_0xf962('0x3a')](_0xef8922[_0xf962('0x35')],qs[_0xf962('0x3c')](_0x1d9f4d[_0xf962('0x37')][_0xf962('0x3c')]));_0x374e68['attributes']=_0x374e68[_0xf962('0x3b')][_0xf962('0x3d')]?_0x374e68[_0xf962('0x3b')]:_0xef8922['model'];if(!_0x1d9f4d[_0xf962('0x37')]['hasOwnProperty']('nolimit')){_0x374e68['limit']=qs['limit'](_0x1d9f4d['query']['limit']);_0x374e68['offset']=qs[_0xf962('0x1c')](_0x1d9f4d[_0xf962('0x37')]['offset']);}_0x374e68[_0xf962('0x40')]=qs[_0xf962('0x41')](_0x1d9f4d[_0xf962('0x37')][_0xf962('0x41')]);_0x374e68[_0xf962('0x42')]=qs[_0xf962('0x39')](_['pick'](_0x1d9f4d[_0xf962('0x37')],_0xef8922[_0xf962('0x39')]));_0x374e68[_0xf962('0x42')]['FaxInteractionId']=_0x3bc7ea['id'];if(_0x1d9f4d['query'][_0xf962('0xb4')]){_0x374e68[_0xf962('0x42')]=_[_0xf962('0x8f')](_0x374e68[_0xf962('0x42')],{'$or':_[_0xf962('0x2b')](_0x374e68[_0xf962('0x3b')],function(_0xfcfc8){var _0x3e2a40={};_0x3e2a40[_0xfcfc8]={'$like':'%'+_0x1d9f4d[_0xf962('0x37')]['filter']+'%'};return _0x3e2a40;})});}if(_0x1d9f4d['query']['$gte']){var _0x122d06=_0x1d9f4d['query'][_0xf962('0x73')][_0xf962('0x2e')](',');var _0x413352={};_0x413352[_0x122d06[0x0]]={'$gte':moment(_0x122d06[0x1])[_0xf962('0xb5')](_0xf962('0xb6'))};_0x374e68[_0xf962('0x42')]=_['merge'](_0x374e68[_0xf962('0x42')],_0x413352);}_0x374e68=_[_0xf962('0x8f')]({},_0x374e68,_0x1d9f4d[_0xf962('0xab')]);return db['FaxMessage']['count']({'where':_0x374e68[_0xf962('0x42')]})['then'](function(_0x379ef3){_0x2ae8d8[_0xf962('0x1f')]=_0x379ef3;if(_0x1d9f4d[_0xf962('0x37')]['includeAll']){_0x374e68[_0xf962('0xaa')]=[{'all':!![]}];}return db[_0xf962('0xaf')]['findAll'](_0x374e68);})['then'](function(_0x5d3fcf){_0x2ae8d8[_0xf962('0xb7')]=_0x5d3fcf;return _0x2ae8d8;});}})['then'](respondWithFilteredResult(_0x371f4f,_0x374e68))[_0xf962('0xa6')](handleError(_0x371f4f,null));};exports['addTags']=function(_0x14be3e,_0x4d221b,_0x5ee300){return db[_0xf962('0x32')][_0xf962('0x5b')]({'where':{'id':_0x14be3e['params']['id']}})['then'](handleEntityNotFound(_0x4d221b,null))[_0xf962('0x23')](function(_0x3b0a31){if(_0x3b0a31){return _0x3b0a31['setTags'](_0x14be3e[_0xf962('0x6d')][_0xf962('0xb0')],_['omit'](_0x14be3e['body'],[_0xf962('0xb0'),'id'])||{})['spread'](function(){return db[_0xf962('0xb8')][_0xf962('0xb9')]({'attributes':['id',_0xf962('0x36'),_0xf962('0x46')],'where':{'id':_0x14be3e[_0xf962('0x6d')]['ids']}});})[_0xf962('0x23')](function(_0x5598c5){socket[_0xf962('0xba')]('faxInteractionTags:save',{'id':Number(_0x14be3e['params']['id']),'tags':_0x5598c5||[]});return{'id':Number(_0x14be3e[_0xf962('0xa8')]['id']),'tags':_0x5598c5||[]};});}})[_0xf962('0x23')](respondWithResult(_0x4d221b,null))[_0xf962('0xa6')](handleError(_0x4d221b,null));};exports['removeTags']=function(_0x1f2ed9,_0x117fdc,_0x4e8640){return db[_0xf962('0x32')][_0xf962('0x5b')]({'where':{'id':_0x1f2ed9['params']['id']}})['then'](handleEntityNotFound(_0x117fdc,null))[_0xf962('0x23')](function(_0x5d3fd4){if(_0x5d3fd4){return _0x5d3fd4[_0xf962('0xbb')](_0x1f2ed9[_0xf962('0x37')][_0xf962('0xb0')]);}})[_0xf962('0x23')](respondWithStatusCode(_0x117fdc,null))[_0xf962('0xa6')](handleError(_0x117fdc,null));};exports['download']=function(_0x12fd63,_0x3bd340){var _0x2fb7ce=moment()[_0xf962('0xbc')]()[_0xf962('0x8d')]();var _0x2b942b=path[_0xf962('0xbd')](config[_0xf962('0xbe')],_0xf962('0xbf'),_0xf962('0xc0'),_0xf962('0xc1'));var _0x44a52a=path['join'](config['root'],_0xf962('0xbf'),_0xf962('0xc0'),'attachments');var _0x1795f7=path[_0xf962('0xbd')](_0x2b942b,_0x2fb7ce);var _0x3f3c67=util['format'](_0xf962('0xc2'),_0x12fd63[_0xf962('0xa8')]['id'],_0x2fb7ce);var _0x59ce8b=path['join'](_0x2b942b,_0x3f3c67);var _0x5b4181=[];_0x5b4181[_0xf962('0x30')]({'model':db['Attachment'],'as':_0xf962('0xc3'),'raw':!![]});var _0x4bac66=[{'model':db['FaxMessage'],'as':_0xf962('0xc4'),'attributes':['id','body','createdAt'],'include':_0x5b4181}];return db[_0xf962('0x32')][_0xf962('0x5b')]({'where':{'id':_0x12fd63[_0xf962('0xa8')]['id']},'include':_0x4bac66})[_0xf962('0x23')](handleEntityNotFound(_0x3bd340,null))[_0xf962('0x23')](function(_0x144d4d){if(_0x144d4d&&_0x144d4d['Messages']){var _0x5a4e0a=_0x144d4d[_0xf962('0xc5')]({'plain':!![]});fs[_0xf962('0xc6')](_0x1795f7);for(var _0x421dfc=0x0;_0x421dfc<_0x5a4e0a[_0xf962('0xc4')][_0xf962('0x3d')];_0x421dfc++){var _0x27be08=_0x5a4e0a['Messages'][_0x421dfc][_0xf962('0xc3')];if(_0x27be08){var _0x2657ff=path[_0xf962('0xbd')](_0x44a52a,_0x27be08[_0xf962('0xc7')]);if(fs[_0xf962('0xc8')](_0x2657ff)){fs[_0xf962('0xc9')](_0x2657ff)['pipe'](fs[_0xf962('0xca')](path[_0xf962('0xbd')](_0x1795f7,_0x27be08[_0xf962('0xc7')])));}}}return BPromise[_0xf962('0xcb')]()[_0xf962('0x23')](function(){return new BPromise(function(_0x37b855,_0x3a2802){zipdir(_0x1795f7,{'saveTo':_0x59ce8b},function(_0x3e077d,_0xbcce93){if(_0x3e077d)return _0x3a2802(_0x3e077d);return _0x37b855(_0xbcce93);});})['then'](function(){return new BPromise(function(_0x323358,_0x5a9d7f){rimraf(_0x1795f7,function(_0xd4482e){if(_0xd4482e)_0x5a9d7f(_0xd4482e);return _0x323358();});});})[_0xf962('0x23')](function(){return _0x3bd340[_0xf962('0xcc')](_0x59ce8b,_0x3f3c67,function(_0x196442){if(_0x196442){console[_0xf962('0xcd')]('err',_0x196442);}else{fs[_0xf962('0xce')](_0x59ce8b);}});});});}else{return _0x3bd340[_0xf962('0x26')](0xc8);}})[_0xf962('0xa6')](handleError(_0x3bd340,null));};