282a874bcc8b0c7d8d6f6a68b7cc25eaec8a2f20
[motion2.git] / server / api / smsInteraction / smsInteraction.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 _0x60fc=['i.SmsAccountId\x20IN\x20?','role','sequelize','toString','keyBy','merge','a.key','Account.key','i.*','Contact.firstName','c.lastName','Contact.lastName','c.email','c.phone','c.mobile','Contact.mobile','o.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.SmsInteractionId\x20IN\x20?','all','rows','rawAttributes','includeAll','include','options','create','params','describe','SmsMessage','omit','ids','getMessages','findOne','hasOwnProperty','SmsInteractionId','format','YYYY-MM-DD\x20HH:mm:ss','addTags','setTags','spread','findAll','emit','removeTags','download','unix','join','root','server','tmp','attachments','CmContact','lastName','Messages','direction','secret','SmsAccount','Account','Owner','get','mkdirSync','firstName','views','Sms','createPdfFromHTML','log','err','unlinkSync','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','to-csv','ejs','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','redis','localhost','./smsInteraction.socket','register','sendStatus','json','offset','undefined','limit','count','status','set','apply','reject','save','update','then','destroy','end','error','name','send','Users','map','fullname','Tags','split','forEach','push','TagIds','catch','waiting','answered','unmanaged','total','closed','UserId','talking','SmsInteraction','fieldName','key','model','query','keys','filters','intersection','attributes','fields','length','nolimit','order','sort','where','pick','select','field','color','from','tools_tags','u.fullname','ui.SmsInteractionId','left_join','users','u.id\x20=\x20ui.UserId','sms_interactions','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','o.id\x20=\x20i.UserId','sms_accounts','sms_messages','me.SmsInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','search','parseSearch','conditions','find','unreadMessages','value','having','`\x20>\x200','Contact','operator','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','ContactId','text','Tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','$substring','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','buildExpression','start','body','type','some','compact','isEmpty','SmsAccountId','concat','createdAt','parse','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','tag','filter','replace','isNumeric','i.id\x20LIKE\x20?','i.phone\x20LIKE\x20?','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','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)','contactName','DESC','t.id\x20IN\x20?','resolve','i.SmsAccountId\x20IS\x20NOT\x20NULL','agent','user','i.SmsAccountId\x20IS\x20NULL'];(function(_0x1049b7,_0xc4573b){var _0x3763a4=function(_0x2620e1){while(--_0x2620e1){_0x1049b7['push'](_0x1049b7['shift']());}};_0x3763a4(++_0xc4573b);}(_0x60fc,0x128));var _0xc60f=function(_0x3bec1f,_0x135f71){_0x3bec1f=_0x3bec1f-0x0;var _0x332192=_0x60fc[_0x3bec1f];return _0x332192;};'use strict';var emlformat=require(_0xc60f('0x0'));var rimraf=require(_0xc60f('0x1'));var zipdir=require(_0xc60f('0x2'));var jsonpatch=require(_0xc60f('0x3'));var rp=require('request-promise');var moment=require(_0xc60f('0x4'));var BPromise=require(_0xc60f('0x5'));var Mustache=require(_0xc60f('0x6'));var util=require('util');var path=require('path');var sox=require('sox');var csv=require(_0xc60f('0x7'));var ejs=require(_0xc60f('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0xc60f('0x9'));var deskjs=require(_0xc60f('0xa'));var toCsv=require(_0xc60f('0x7'));var querystring=require(_0xc60f('0xb'));var Papa=require(_0xc60f('0xc'));var Redis=require(_0xc60f('0xd'));var authService=require(_0xc60f('0xe'));var qs=require(_0xc60f('0xf'));var as=require(_0xc60f('0x10'));var pdf=require('../../components/export/pdf');var hardwareService=require(_0xc60f('0x11'));var logger=require(_0xc60f('0x12'))(_0xc60f('0x13'));var utils=require(_0xc60f('0x14'));var config=require(_0xc60f('0x15'));var licenseUtil=require('../../config/license/util');var db=require(_0xc60f('0x16'))['db'];config[_0xc60f('0x17')]=_['defaults'](config[_0xc60f('0x17')],{'host':_0xc60f('0x18'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xc60f('0x17')]));require(_0xc60f('0x19'))[_0xc60f('0x1a')](socket);function respondWithStatusCode(_0x244e15,_0x594361){_0x594361=_0x594361||0xcc;return function(_0x4f3b3e){if(_0x4f3b3e){return _0x244e15[_0xc60f('0x1b')](_0x594361);}return _0x244e15['status'](_0x594361)['end']();};}function respondWithResult(_0x29acc6,_0x466d65){_0x466d65=_0x466d65||0xc8;return function(_0x3c26bf){if(_0x3c26bf){return _0x29acc6['status'](_0x466d65)[_0xc60f('0x1c')](_0x3c26bf);}};}function respondWithFilteredResult(_0x5b2b89,_0x56be40){return function(_0x1eb196){if(_0x1eb196){var _0x158927=typeof _0x56be40[_0xc60f('0x1d')]===_0xc60f('0x1e')&&typeof _0x56be40[_0xc60f('0x1f')]===_0xc60f('0x1e');var _0xfabbc3=_0x1eb196['count'];var _0x55ffb2=_0x158927?0x0:_0x56be40[_0xc60f('0x1d')];var _0x2c0d60=_0x158927?_0x1eb196[_0xc60f('0x20')]:_0x56be40[_0xc60f('0x1d')]+_0x56be40['limit'];var _0x90951d;if(_0x2c0d60>=_0xfabbc3){_0x2c0d60=_0xfabbc3;_0x90951d=0xc8;}else{_0x90951d=0xce;}_0x5b2b89[_0xc60f('0x21')](_0x90951d);return _0x5b2b89[_0xc60f('0x22')]('Content-Range',_0x55ffb2+'-'+_0x2c0d60+'/'+_0xfabbc3)['json'](_0x1eb196);}return null;};}function patchUpdates(_0x19683f){return function(_0x1d937b){try{jsonpatch[_0xc60f('0x23')](_0x1d937b,_0x19683f,!![]);}catch(_0x3b892e){return BPromise[_0xc60f('0x24')](_0x3b892e);}return _0x1d937b[_0xc60f('0x25')]();};}function saveUpdates(_0x246641,_0x3d9f6c){return function(_0x2eab69){if(_0x2eab69){return _0x2eab69[_0xc60f('0x26')](_0x246641)[_0xc60f('0x27')](function(_0x585345){return _0x585345;});}return null;};}function removeEntity(_0x3d7bac,_0x5802a1){return function(_0x3ef226){if(_0x3ef226){return _0x3ef226[_0xc60f('0x28')]()['then'](function(){_0x3d7bac[_0xc60f('0x21')](0xcc)[_0xc60f('0x29')]();});}};}function handleEntityNotFound(_0x18c8fa,_0x3e9575){return function(_0x18a72a){if(!_0x18a72a){_0x18c8fa[_0xc60f('0x1b')](0x194);}return _0x18a72a;};}function handleError(_0x10fa31,_0x46bae2){_0x46bae2=_0x46bae2||0x1f4;return function(_0x124d58){logger[_0xc60f('0x2a')](_0x124d58['stack']);if(_0x124d58['name']){delete _0x124d58[_0xc60f('0x2b')];}_0x10fa31[_0xc60f('0x21')](_0x46bae2)[_0xc60f('0x2c')](_0x124d58);};}function getInteractionUsers(_0x3d9467,_0x17ea85){return new BPromise(function(_0x2aa387,_0x250f5d){try{if(_0x17ea85[_0x3d9467['id']]){_0x3d9467[_0xc60f('0x2d')]=_[_0xc60f('0x2e')](_0x17ea85[_0x3d9467['id']],function(_0x227b35){return{'id':_0x227b35['id'],'fullname':_0x227b35[_0xc60f('0x2f')]};});}}catch(_0x47f621){_0x250f5d(_0x47f621);}_0x2aa387(_0x3d9467);});}function getInteractionTags(_0x1f27f4,_0x1bb150){return new BPromise(function(_0xb390e6,_0x4db602){try{if(_0x1f27f4['TagIds']){_0x1f27f4[_0xc60f('0x30')]=[];_0x1f27f4['TagIds'][_0xc60f('0x31')](',')[_0xc60f('0x32')](function(_0x7d8e40){_0x1f27f4[_0xc60f('0x30')][_0xc60f('0x33')](_0x1bb150[_0x7d8e40]);});}delete _0x1f27f4[_0xc60f('0x34')];}catch(_0x3b6305){_0x4db602(_0x3b6305);}_0xb390e6(_0x1f27f4);});}function updateSmsInteraction(_0x52917c,_0x1d3b1f,_0x15c4c7){return new BPromise(function(_0x583362,_0x4f4bfe){return getInteractionUsers(_0x52917c,_0x15c4c7)[_0xc60f('0x27')](function(_0x1b628e){return getInteractionTags(_0x1b628e,_0x1d3b1f);})[_0xc60f('0x27')](function(_0x35dfc3){return getStateInteraction(_0x35dfc3);})[_0xc60f('0x27')](function(_0x578c94){_0x583362(_0x578c94);})[_0xc60f('0x35')](function(_0x34122d){_0x4f4bfe(_0x34122d);});});}function getStateInteraction(_0x4fa176){return new BPromise(function(_0xeeebfc){_0x4fa176[_0xc60f('0x36')]=0x0;_0x4fa176['talking']=0x0;_0x4fa176[_0xc60f('0x37')]=0x0;_0x4fa176[_0xc60f('0x38')]=0x0;_0x4fa176[_0xc60f('0x39')]=0x0;if(!_0x4fa176[_0xc60f('0x3a')]&&!_0x4fa176[_0xc60f('0x3b')]){_0x4fa176['waiting']+=0x1;}if(!_0x4fa176[_0xc60f('0x3a')]&&_0x4fa176['UserId']){_0x4fa176[_0xc60f('0x3c')]+=0x1;if(_0x4fa176[_0xc60f('0x36')]){_0x4fa176[_0xc60f('0x36')]-=0x1;}}if(_0x4fa176['closed']&&_0x4fa176[_0xc60f('0x3b')]){_0x4fa176[_0xc60f('0x37')]+=0x1;if(_0x4fa176[_0xc60f('0x3c')]){_0x4fa176['talking']-=0x1;}}if(_0x4fa176['closed']&&!_0x4fa176[_0xc60f('0x3b')]){_0x4fa176[_0xc60f('0x38')]+=0x1;if(_0x4fa176[_0xc60f('0x36')]){_0x4fa176[_0xc60f('0x36')]-=0x1;}}_0x4fa176[_0xc60f('0x39')]+=0x1;_0xeeebfc(_0x4fa176);});}exports['index']=function(_0x1877d2,_0x254eaa){var _0x490e17={},_0x360eb8={},_0x4274c6={'count':0x0,'rows':[]};var _0x4dac3e=_[_0xc60f('0x2e')](db[_0xc60f('0x3d')]['rawAttributes'],function(_0x37598e){return{'name':_0x37598e[_0xc60f('0x3e')],'type':_0x37598e['type'][_0xc60f('0x3f')]};});_0x360eb8[_0xc60f('0x40')]=_[_0xc60f('0x2e')](_0x4dac3e,'name');_0x360eb8[_0xc60f('0x41')]=_[_0xc60f('0x42')](_0x1877d2[_0xc60f('0x41')]);_0x360eb8[_0xc60f('0x43')]=_[_0xc60f('0x44')](_0x360eb8[_0xc60f('0x40')],_0x360eb8[_0xc60f('0x41')]);_0x490e17[_0xc60f('0x45')]=_[_0xc60f('0x44')](_0x360eb8[_0xc60f('0x40')],qs[_0xc60f('0x46')](_0x1877d2[_0xc60f('0x41')][_0xc60f('0x46')]));_0x490e17[_0xc60f('0x45')]=_0x490e17[_0xc60f('0x45')][_0xc60f('0x47')]?_0x490e17[_0xc60f('0x45')]:_0x360eb8[_0xc60f('0x40')];if(!_0x1877d2[_0xc60f('0x41')]['hasOwnProperty'](_0xc60f('0x48'))){_0x490e17[_0xc60f('0x1f')]=qs['limit'](_0x1877d2[_0xc60f('0x41')][_0xc60f('0x1f')]);_0x490e17['offset']=qs[_0xc60f('0x1d')](_0x1877d2[_0xc60f('0x41')][_0xc60f('0x1d')]);}_0x490e17[_0xc60f('0x49')]=qs[_0xc60f('0x4a')](_0x1877d2[_0xc60f('0x41')][_0xc60f('0x4a')]);_0x490e17[_0xc60f('0x4b')]=qs['filters'](_[_0xc60f('0x4c')](_0x1877d2[_0xc60f('0x41')],_0x360eb8[_0xc60f('0x43')]),_0x4dac3e);var _0x486ffb=[];var _0x134bc3=squel[_0xc60f('0x4d')]()[_0xc60f('0x4e')]('id')[_0xc60f('0x4e')](_0xc60f('0x2b'))['field'](_0xc60f('0x4f'))[_0xc60f('0x50')](_0xc60f('0x51'));var _0x41eb66=squel['select']()['field']('u.id')[_0xc60f('0x4e')](_0xc60f('0x52'))['field'](_0xc60f('0x53'))[_0xc60f('0x50')]('user_has_sms_interactions','ui')[_0xc60f('0x54')](_0xc60f('0x55'),'u',_0xc60f('0x56'));var _0x425e8b=squel['select']()[_0xc60f('0x50')](_0xc60f('0x57'),'i')['left_join'](_0xc60f('0x58'),'c',_0xc60f('0x59'))[_0xc60f('0x54')](_0xc60f('0x55'),'o',_0xc60f('0x5a'))[_0xc60f('0x54')](_0xc60f('0x5b'),'a','a.id\x20=\x20i.SmsAccountId')[_0xc60f('0x54')](_0xc60f('0x5c'),'me',_0xc60f('0x5d'))['left_join']('sms_interaction_has_tags','it','it.SmsInteractionId\x20=\x20i.id')[_0xc60f('0x54')]('tools_tags','t',_0xc60f('0x5e'));var _0x58a82b=squel['expr']();var _0x4e5803=[];var _0x5b5777=squel[_0xc60f('0x5f')]();var _0x299cc9;if(_0x1877d2[_0xc60f('0x41')][_0xc60f('0x60')]){_0x299cc9=as[_0xc60f('0x61')](_0x1877d2[_0xc60f('0x41')]['search']);var _0x342f0d=_0x299cc9['sqlOperator'];for(var _0x4ff8e8=0x0;_0x4ff8e8<_0x299cc9[_0xc60f('0x62')][_0xc60f('0x47')];_0x4ff8e8++){var _0xd2db32=_0x299cc9['conditions'][_0x4ff8e8];var _0x19d925='i';var _0x25ea3f=_[_0xc60f('0x63')](_0x4dac3e,[_0xc60f('0x2b'),_0xd2db32[_0xc60f('0x4e')]]);if(!_0x25ea3f){switch(_0xd2db32['field']){case _0xc60f('0x64'):if(_0xd2db32[_0xc60f('0x65')]==0x1){_0x425e8b[_0xc60f('0x66')]('`'+_0xd2db32[_0xc60f('0x4e')]+'`\x20=\x200');}else{_0x425e8b[_0xc60f('0x66')]('`'+_0xd2db32[_0xc60f('0x4e')]+_0xc60f('0x67'));}break;case _0xc60f('0x68'):if(_0xd2db32[_0xc60f('0x69')]==='$substring'){if(_0xd2db32[_0xc60f('0x65')][_0xc60f('0x31')]('\x20')[_0xc60f('0x47')]>0x1){_0x58a82b[_0x342f0d](_0xc60f('0x6a'),qs[_0xc60f('0x6b')](_0xd2db32[_0xc60f('0x65')]),null);}else{var _0x912cac='%'+_0xd2db32[_0xc60f('0x65')]+'%';_0x58a82b[_0x342f0d]('c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?',_0x912cac,_0x912cac,_0x912cac);}}else{_0x25ea3f=_[_0xc60f('0x63')](_0x4dac3e,[_0xc60f('0x2b'),_0xc60f('0x6c')]);_0xd2db32[_0xc60f('0x4e')]='ContactId';_0xa25fdc=as['buildExpression'](_0x19d925,_0x25ea3f['type'],_0xd2db32);_0x58a82b[_0x342f0d](_0xa25fdc[_0xc60f('0x6d')],_0xa25fdc['value']['start'],_0xa25fdc[_0xc60f('0x65')][_0xc60f('0x29')]);}break;case _0xc60f('0x6e'):var _0x25a2b6=_0xd2db32[_0xc60f('0x65')][_0xc60f('0x31')](',')[_0xc60f('0x2e')](function(_0x57306d){return Number(_0x57306d);});_0x25a2b6[_0xc60f('0x32')](function(_0x1bc25c){_0x5b5777['or'](_0xc60f('0x6f'),'%,'+_0x1bc25c+',%');});_0x4e5803=_[_0xc60f('0x70')](_0x4e5803,_0x25a2b6);break;case _0xc60f('0x71'):if(_0xd2db32[_0xc60f('0x69')]===_0xc60f('0x72')){_0x58a82b[_0x342f0d](_0xc60f('0x73'),'%'+_0xd2db32['value']+'%',null);}else{_0x25ea3f=_[_0xc60f('0x63')](_0x4dac3e,[_0xc60f('0x2b'),_0xc60f('0x3b')]);_0xd2db32[_0xc60f('0x4e')]='UserId';_0xa25fdc=as[_0xc60f('0x74')](_0x19d925,_0x25ea3f['type'],_0xd2db32);_0x58a82b[_0x342f0d](_0xa25fdc[_0xc60f('0x6d')],_0xa25fdc[_0xc60f('0x65')][_0xc60f('0x75')],_0xa25fdc[_0xc60f('0x65')]['end']);}break;case _0xc60f('0x76'):_0xa25fdc=as[_0xc60f('0x74')]('me',null,_0xd2db32);_0x58a82b[_0x342f0d](_0xa25fdc[_0xc60f('0x6d')],_0xa25fdc[_0xc60f('0x65')]['start'],_0xa25fdc[_0xc60f('0x65')][_0xc60f('0x29')]);break;}}else{var _0xa25fdc=as[_0xc60f('0x74')](_0x19d925,_0x25ea3f[_0xc60f('0x77')],_0xd2db32);_0x58a82b[_0x342f0d](_0xa25fdc[_0xc60f('0x6d')],_0xa25fdc[_0xc60f('0x65')][_0xc60f('0x75')],_0xa25fdc[_0xc60f('0x65')][_0xc60f('0x29')]);}}}else{var _0x4091b4=_(_0x1877d2['query'])[_0xc60f('0x42')]()[_0xc60f('0x2e')](function(_0x3431b7){return _[_0xc60f('0x78')](_0x4dac3e,['name',_0x3431b7])?_0x3431b7:undefined;})[_0xc60f('0x79')]()['value']();if(!_[_0xc60f('0x7a')](_0x4091b4)){_0x4091b4[_0xc60f('0x32')](function(_0x4c3bbf){if(_0x4c3bbf===_0xc60f('0x7b')){_0x425e8b[_0xc60f('0x4b')]('i.SmsAccountId\x20IN\x20?',[][_0xc60f('0x7c')](_0x1877d2[_0xc60f('0x41')][_0x4c3bbf]));}else if(_0x4c3bbf===_0xc60f('0x7d')){var _0x2e3719=JSON[_0xc60f('0x7e')](_0x1877d2[_0xc60f('0x41')][_0x4c3bbf])[_0xc60f('0x7f')];var _0x14049c=JSON[_0xc60f('0x7e')](_0x1877d2[_0xc60f('0x41')][_0x4c3bbf])[_0xc60f('0x80')];_0x425e8b[_0xc60f('0x4b')](_0xc60f('0x81'),_0x2e3719,_0x14049c);}else{if(_0x1877d2[_0xc60f('0x41')][_0x4c3bbf]===_0xc60f('0x82')){_0x425e8b['where']('i.'+_0x4c3bbf+_0xc60f('0x83'));}else{_0x425e8b[_0xc60f('0x4b')]('i.'+_0x4c3bbf+_0xc60f('0x84'),_0x1877d2['query'][_0x4c3bbf]);}}});}if(_0x1877d2[_0xc60f('0x41')][_0xc60f('0x85')]){if(_0x1877d2[_0xc60f('0x41')][_0xc60f('0x85')]==0x1){_0x425e8b[_0xc60f('0x66')](_0xc60f('0x86'));}else{_0x425e8b[_0xc60f('0x66')]('`unreadMessages`\x20>\x200');}}if(_0x1877d2[_0xc60f('0x41')]['tag']){_0x4e5803=_['isArray'](_0x1877d2[_0xc60f('0x41')][_0xc60f('0x87')])?_0x1877d2[_0xc60f('0x41')]['tag']:new Array(_0x1877d2[_0xc60f('0x41')][_0xc60f('0x87')]);_0x4e5803[_0xc60f('0x32')](function(_0x2526e2){_0x5b5777['or'](_0xc60f('0x6f'),'%,'+_0x2526e2+',%');});}if(_0x1877d2['query'][_0xc60f('0x88')]){var _0x2a0231=_0x1877d2[_0xc60f('0x41')]['filter'][_0xc60f('0x89')]('\x5c','\x5c\x5c')[_0xc60f('0x89')](/'/g,'\x27\x27');if(qs[_0xc60f('0x8a')](_0x2a0231)){_0x58a82b['or'](_0xc60f('0x8b'),_0x2a0231+'%')['or'](_0xc60f('0x8c'),_0x2a0231+'%');}else{_0x58a82b['or'](_0xc60f('0x8d'),qs[_0xc60f('0x6b')](_0x2a0231))['or'](_0xc60f('0x8e'),_0x2a0231+'%');}}}_0x425e8b[_0xc60f('0x4b')](_0x58a82b);_0x425e8b[_0xc60f('0x8f')](_0xc60f('0x90'));var _0x5f10b5={'type':db[_0xc60f('0x91')][_0xc60f('0x92')][_0xc60f('0x93')],'raw':!![]};var _0x191e64=_0x425e8b[_0xc60f('0x94')]();_0x191e64[_0xc60f('0x4e')]('i.id');_0x191e64[_0xc60f('0x4e')](_0xc60f('0x95'),_0xc60f('0x64'));if(_0x490e17[_0xc60f('0x49')]){_0x490e17[_0xc60f('0x49')][_0xc60f('0x32')](function(_0x27310e){var _0x3c841f=_0x27310e[0x0]===_0xc60f('0x96')?_0x27310e[0x0]:'i.'+_0x27310e[0x0];_0x425e8b[_0xc60f('0x49')](_0x3c841f,_0x27310e[0x1]===_0xc60f('0x97')?![]:!![]);});}if(!_['isEmpty'](_0x4e5803)){_0x425e8b[_0xc60f('0x66')](_0x5b5777);_0x191e64['where'](_0xc60f('0x98'),_0x4e5803);}BPromise[_0xc60f('0x99')]()[_0xc60f('0x27')](function(){if(!_0x299cc9){if(_0x1877d2[_0xc60f('0x41')][_0xc60f('0x7b')])return;_0x191e64[_0xc60f('0x4b')](_0xc60f('0x9a'));_0x425e8b[_0xc60f('0x4b')](_0xc60f('0x9a'));return;}if(_0x1877d2['user']['role']!==_0xc60f('0x9b'))return;return _0x1877d2[_0xc60f('0x9c')]['getSmsAccounts']({'attributes':['id'],'raw':!![]})['then'](function(_0x8a96fc){if(_[_0xc60f('0x7a')](_0x8a96fc)){_0x191e64['where'](_0xc60f('0x9d'));_0x425e8b[_0xc60f('0x4b')](_0xc60f('0x9d'));}else{_0x191e64[_0xc60f('0x4b')](_0xc60f('0x9e'),_[_0xc60f('0x2e')](_0x8a96fc,'id'));_0x425e8b['where'](_0xc60f('0x9e'),_[_0xc60f('0x2e')](_0x8a96fc,'id'));}});})[_0xc60f('0x27')](function(){if(_0x1877d2[_0xc60f('0x9c')][_0xc60f('0x9f')]===_0xc60f('0x9b')&&!_0x299cc9&&!_0x1877d2[_0xc60f('0x41')][_0xc60f('0x7b')])return[];return db[_0xc60f('0xa0')][_0xc60f('0x41')](_0x191e64[_0xc60f('0xa1')](),_0x5f10b5);})[_0xc60f('0x27')](function(_0x19a6a2){_0x4274c6[_0xc60f('0x20')]=_0x19a6a2['length'];if(_0x4274c6[_0xc60f('0x20')]===0x0)return[];return db[_0xc60f('0xa0')]['query'](_0x134bc3['toString'](),_0x5f10b5)[_0xc60f('0x27')](function(_0x565f9d){_0x486ffb=_[_0xc60f('0xa2')](_0x565f9d,'id');_0x5f10b5=_[_0xc60f('0xa3')](_0x5f10b5,{'model':db[_0xc60f('0x3d')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x1877d2[_0xc60f('0x41')][_0xc60f('0x46')]){_0x490e17[_0xc60f('0x45')][_0xc60f('0x32')](function(_0x369812){_0x425e8b[_0xc60f('0x4e')]('i.'+_0x369812);});}else{_0x425e8b[_0xc60f('0x4e')](_0xc60f('0x95'),_0xc60f('0x64'));_0x425e8b[_0xc60f('0x4e')](_0xc60f('0xa4'),_0xc60f('0xa5'));_0x425e8b['field']('a.mandatoryDisposition','Account.mandatoryDisposition');_0x425e8b[_0xc60f('0x4e')]('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',_0xc60f('0x96'));_0x425e8b[_0xc60f('0x4e')](_0xc60f('0xa6'));_0x425e8b[_0xc60f('0x4e')]('c.firstName',_0xc60f('0xa7'));_0x425e8b[_0xc60f('0x4e')](_0xc60f('0xa8'),_0xc60f('0xa9'));_0x425e8b['field'](_0xc60f('0xaa'),'Contact.email');_0x425e8b['field'](_0xc60f('0xab'),'Contact.phone');_0x425e8b[_0xc60f('0x4e')](_0xc60f('0xac'),_0xc60f('0xad'));_0x425e8b[_0xc60f('0x4e')]('c.fax','Contact.fax');_0x425e8b[_0xc60f('0x4e')](_0xc60f('0xae'),'Owner.fullname');_0x425e8b[_0xc60f('0x4e')](_0xc60f('0xaf'),_0xc60f('0xb0'));_0x425e8b[_0xc60f('0x4e')](_0xc60f('0xb1'),_0xc60f('0x34'));}if(_0x490e17[_0xc60f('0x1f')])_0x425e8b[_0xc60f('0x1f')](_0x490e17[_0xc60f('0x1f')]);if(_0x490e17[_0xc60f('0x1d')])_0x425e8b['offset'](_0x490e17[_0xc60f('0x1d')]);return db[_0xc60f('0xa0')][_0xc60f('0x41')](_0x425e8b[_0xc60f('0xa1')](),_0x5f10b5);})[_0xc60f('0x27')](function(_0x42799f){if(_0x42799f['length']>0x0)_0x41eb66[_0xc60f('0x4b')](_0xc60f('0xb2'),_[_0xc60f('0x2e')](_0x42799f,'id'));return db['sequelize'][_0xc60f('0x41')](_0x41eb66[_0xc60f('0xa1')](),_0x5f10b5)['then'](function(_0x58ffc9){var _0x5e8b9a=_['groupBy'](_0x58ffc9,'SmsInteractionId');var _0x1f208f=[];_0x42799f['forEach'](function(_0x13c785){_0x1f208f[_0xc60f('0x33')](updateSmsInteraction(_0x13c785,_0x486ffb,_0x5e8b9a));});return BPromise[_0xc60f('0xb3')](_0x1f208f);});});})[_0xc60f('0x27')](function(_0x5f418b){_0x4274c6[_0xc60f('0xb4')]=_0x5f418b;return _0x4274c6;})[_0xc60f('0x27')](respondWithFilteredResult(_0x254eaa,_0x490e17))['catch'](handleError(_0x254eaa,null));};exports['show']=function(_0x394d28,_0x2710b2){var _0x146be0={'raw':![],'where':{'id':_0x394d28['params']['id']}},_0x49b0a3={};_0x49b0a3['model']=_[_0xc60f('0x42')](db[_0xc60f('0x3d')][_0xc60f('0xb5')]);_0x49b0a3[_0xc60f('0x41')]=_[_0xc60f('0x42')](_0x394d28[_0xc60f('0x41')]);_0x49b0a3['filters']=_[_0xc60f('0x44')](_0x49b0a3[_0xc60f('0x40')],_0x49b0a3[_0xc60f('0x41')]);_0x146be0[_0xc60f('0x45')]=_[_0xc60f('0x44')](_0x49b0a3[_0xc60f('0x40')],qs[_0xc60f('0x46')](_0x394d28[_0xc60f('0x41')][_0xc60f('0x46')]));_0x146be0[_0xc60f('0x45')]=_0x146be0[_0xc60f('0x45')]['length']?_0x146be0[_0xc60f('0x45')]:_0x49b0a3['model'];if(_0x394d28[_0xc60f('0x41')][_0xc60f('0xb6')]){_0x146be0[_0xc60f('0xb7')]=[{'all':!![]}];}_0x146be0=_[_0xc60f('0xa3')]({},_0x146be0,_0x394d28[_0xc60f('0xb8')]);return db[_0xc60f('0x3d')][_0xc60f('0x63')](_0x146be0)[_0xc60f('0x27')](handleEntityNotFound(_0x2710b2,null))[_0xc60f('0x27')](respondWithResult(_0x2710b2,null))[_0xc60f('0x35')](handleError(_0x2710b2,null));};exports[_0xc60f('0xb9')]=function(_0x4d54cd,_0x45e9ba){return db[_0xc60f('0x3d')][_0xc60f('0xb9')](_0x4d54cd[_0xc60f('0x76')],{})[_0xc60f('0x27')](respondWithResult(_0x45e9ba,0xc9))[_0xc60f('0x35')](handleError(_0x45e9ba,null));};exports[_0xc60f('0x26')]=function(_0x10d795,_0x119a2e){if(_0x10d795[_0xc60f('0x76')]['id']){delete _0x10d795[_0xc60f('0x76')]['id'];}return db['SmsInteraction']['find']({'where':{'id':_0x10d795[_0xc60f('0xba')]['id']}})[_0xc60f('0x27')](handleEntityNotFound(_0x119a2e,null))[_0xc60f('0x27')](saveUpdates(_0x10d795[_0xc60f('0x76')],null))['then'](respondWithResult(_0x119a2e,null))[_0xc60f('0x35')](handleError(_0x119a2e,null));};exports[_0xc60f('0x28')]=function(_0x2a64a6,_0x19fbf2){return db[_0xc60f('0x3d')][_0xc60f('0x63')]({'where':{'id':_0x2a64a6[_0xc60f('0xba')]['id']}})[_0xc60f('0x27')](handleEntityNotFound(_0x19fbf2,null))[_0xc60f('0x27')](removeEntity(_0x19fbf2,null))['catch'](handleError(_0x19fbf2,null));};exports[_0xc60f('0xbb')]=function(_0x3e3b6c,_0x5c99ef){return db['SmsInteraction'][_0xc60f('0xbb')]()[_0xc60f('0x27')](respondWithResult(_0x5c99ef,null))[_0xc60f('0x35')](handleError(_0x5c99ef,null));};exports['addMessage']=function(_0x83d520,_0x4c0208,_0x2d318f){return db[_0xc60f('0xbc')][_0xc60f('0x63')]({'where':{'id':_0x83d520[_0xc60f('0xba')]['id']}})[_0xc60f('0x27')](handleEntityNotFound(_0x4c0208,null))[_0xc60f('0x27')](function(_0x440f63){if(_0x440f63){return _0x440f63['addMessage'](_0x83d520[_0xc60f('0x76')]['ids'],_[_0xc60f('0xbd')](_0x83d520[_0xc60f('0x76')],[_0xc60f('0xbe'),'id'])||{});}})[_0xc60f('0x27')](respondWithResult(_0x4c0208,null))[_0xc60f('0x35')](handleError(_0x4c0208,null));};exports[_0xc60f('0xbf')]=function(_0x3a5ad4,_0x21564e,_0x43fc47){var _0x35a22b={'raw':![],'where':{}};var _0x5389dd={};var _0x466cd1={'count':0x0,'rows':[]};return db[_0xc60f('0x3d')][_0xc60f('0xc0')]({'where':{'id':_0x3a5ad4[_0xc60f('0xba')]['id']}})[_0xc60f('0x27')](handleEntityNotFound(_0x21564e,null))[_0xc60f('0x27')](function(_0x4036a5){if(_0x4036a5){_0x5389dd[_0xc60f('0x40')]=_[_0xc60f('0x42')](db['SmsMessage'][_0xc60f('0xb5')]);_0x5389dd[_0xc60f('0x41')]=_['keys'](_0x3a5ad4[_0xc60f('0x41')]);_0x5389dd['filters']=_[_0xc60f('0x44')](_0x5389dd[_0xc60f('0x40')],_0x5389dd[_0xc60f('0x41')]);_0x35a22b[_0xc60f('0x45')]=_['intersection'](_0x5389dd[_0xc60f('0x40')],qs[_0xc60f('0x46')](_0x3a5ad4[_0xc60f('0x41')][_0xc60f('0x46')]));_0x35a22b[_0xc60f('0x45')]=_0x35a22b[_0xc60f('0x45')][_0xc60f('0x47')]?_0x35a22b[_0xc60f('0x45')]:_0x5389dd[_0xc60f('0x40')];if(!_0x3a5ad4[_0xc60f('0x41')][_0xc60f('0xc1')](_0xc60f('0x48'))){_0x35a22b[_0xc60f('0x1f')]=qs['limit'](_0x3a5ad4[_0xc60f('0x41')][_0xc60f('0x1f')]);_0x35a22b[_0xc60f('0x1d')]=qs[_0xc60f('0x1d')](_0x3a5ad4[_0xc60f('0x41')][_0xc60f('0x1d')]);}_0x35a22b[_0xc60f('0x49')]=qs[_0xc60f('0x4a')](_0x3a5ad4[_0xc60f('0x41')][_0xc60f('0x4a')]);_0x35a22b[_0xc60f('0x4b')]=qs[_0xc60f('0x43')](_[_0xc60f('0x4c')](_0x3a5ad4[_0xc60f('0x41')],_0x5389dd['filters']));_0x35a22b[_0xc60f('0x4b')][_0xc60f('0xc2')]=_0x4036a5['id'];if(_0x3a5ad4[_0xc60f('0x41')]['filter']){_0x35a22b[_0xc60f('0x4b')]=_[_0xc60f('0xa3')](_0x35a22b[_0xc60f('0x4b')],{'$or':_['map'](_0x35a22b[_0xc60f('0x45')],function(_0x2a36ca){var _0xaba9d5={};_0xaba9d5[_0x2a36ca]={'$like':'%'+_0x3a5ad4[_0xc60f('0x41')][_0xc60f('0x88')]+'%'};return _0xaba9d5;})});}if(_0x3a5ad4[_0xc60f('0x41')][_0xc60f('0x7f')]){var _0x57893f=_0x3a5ad4[_0xc60f('0x41')][_0xc60f('0x7f')][_0xc60f('0x31')](',');var _0x2068a3={};_0x2068a3[_0x57893f[0x0]]={'$gte':moment(_0x57893f[0x1])[_0xc60f('0xc3')](_0xc60f('0xc4'))};_0x35a22b[_0xc60f('0x4b')]=_[_0xc60f('0xa3')](_0x35a22b['where'],_0x2068a3);}_0x35a22b=_['merge']({},_0x35a22b,_0x3a5ad4[_0xc60f('0xb8')]);return db[_0xc60f('0xbc')][_0xc60f('0x20')]({'where':_0x35a22b[_0xc60f('0x4b')]})['then'](function(_0x385db3){_0x466cd1['count']=_0x385db3;if(_0x3a5ad4['query']['includeAll']){_0x35a22b['include']=[{'all':!![]}];}return db[_0xc60f('0xbc')]['findAll'](_0x35a22b);})[_0xc60f('0x27')](function(_0x433aa1){_0x466cd1[_0xc60f('0xb4')]=_0x433aa1;return _0x466cd1;});}})[_0xc60f('0x27')](respondWithFilteredResult(_0x21564e,_0x35a22b))[_0xc60f('0x35')](handleError(_0x21564e,null));};exports[_0xc60f('0xc5')]=function(_0x337f40,_0x397995,_0x472bab){return db[_0xc60f('0x3d')][_0xc60f('0x63')]({'where':{'id':_0x337f40[_0xc60f('0xba')]['id']}})['then'](handleEntityNotFound(_0x397995,null))[_0xc60f('0x27')](function(_0x39fc63){if(_0x39fc63){return _0x39fc63[_0xc60f('0xc6')](_0x337f40[_0xc60f('0x76')][_0xc60f('0xbe')],_[_0xc60f('0xbd')](_0x337f40[_0xc60f('0x76')],[_0xc60f('0xbe'),'id'])||{})[_0xc60f('0xc7')](function(){return db[_0xc60f('0x6e')][_0xc60f('0xc8')]({'attributes':['id','name',_0xc60f('0x4f')],'where':{'id':_0x337f40[_0xc60f('0x76')][_0xc60f('0xbe')]}});})['then'](function(_0x3cdabd){socket[_0xc60f('0xc9')]('smsInteractionTags:save',{'id':Number(_0x337f40[_0xc60f('0xba')]['id']),'tags':_0x3cdabd||[]});return{'id':Number(_0x337f40[_0xc60f('0xba')]['id']),'tags':_0x3cdabd||[]};});}})[_0xc60f('0x27')](respondWithResult(_0x397995,null))['catch'](handleError(_0x397995,null));};exports[_0xc60f('0xca')]=function(_0x4fdaec,_0x193c51,_0x210e3a){return db['SmsInteraction'][_0xc60f('0x63')]({'where':{'id':_0x4fdaec[_0xc60f('0xba')]['id']}})['then'](handleEntityNotFound(_0x193c51,null))['then'](function(_0x1855d8){if(_0x1855d8){return _0x1855d8[_0xc60f('0xca')](_0x4fdaec[_0xc60f('0x41')][_0xc60f('0xbe')]);}})[_0xc60f('0x27')](respondWithStatusCode(_0x193c51,null))[_0xc60f('0x35')](handleError(_0x193c51,null));};exports[_0xc60f('0xcb')]=function(_0x526eb8,_0xdf49){var _0x193fc8=moment()[_0xc60f('0xcc')]()[_0xc60f('0xa1')]();var _0x31b5ec=path[_0xc60f('0xcd')](config[_0xc60f('0xce')],_0xc60f('0xcf'),'files',_0xc60f('0xd0'));var _0x5cae3a=path[_0xc60f('0xcd')](config[_0xc60f('0xce')],_0xc60f('0xcf'),'files',_0xc60f('0xd1'));var _0x3cba5c=path[_0xc60f('0xcd')](_0x31b5ec,_0x193fc8);var _0x5c0ca1=util['format']('transcript-%d-%s.zip',_0x526eb8['params']['id'],_0x193fc8);var _0x14c7e4=path[_0xc60f('0xcd')](_0x31b5ec,_0x5c0ca1);var _0x4619b8=[];_0x4619b8[_0xc60f('0x33')]({'model':db[_0xc60f('0x71')],'as':'User','attributes':['id','fullname'],'raw':!![]});_0x4619b8['push']({'model':db[_0xc60f('0xd2')],'as':_0xc60f('0x68'),'attributes':['id','firstName',_0xc60f('0xd3')],'raw':!![]});var _0x61ccfe=[{'model':db[_0xc60f('0xbc')],'as':_0xc60f('0xd4'),'attributes':['id',_0xc60f('0x76'),'createdAt',_0xc60f('0xd5'),_0xc60f('0xd6'),_0xc60f('0x85')],'include':_0x4619b8}];_0x61ccfe['push']({'model':db[_0xc60f('0xd7')],'as':_0xc60f('0xd8'),'attributes':['id',_0xc60f('0x2b')]});_0x61ccfe[_0xc60f('0x33')]({'model':db[_0xc60f('0x71')],'as':_0xc60f('0xd9'),'attributes':['id','fullname']});return db[_0xc60f('0x3d')]['find']({'where':{'id':_0x526eb8[_0xc60f('0xba')]['id']},'include':_0x61ccfe})[_0xc60f('0x27')](handleEntityNotFound(_0xdf49,null))[_0xc60f('0x27')](function(_0x1bf987){if(_0x1bf987){var _0x56315b=_0x1bf987[_0xc60f('0xda')]({'plain':!![]});fs[_0xc60f('0xdb')](_0x3cba5c);var _0x3051df={'channel':'Sms','account':_0x56315b[_0xc60f('0xd8')]['name'],'agent':_0x56315b[_0xc60f('0xd9')]?_0x56315b[_0xc60f('0xd9')]['fullname']:'N.A.','createdAt':moment(_0x56315b[_0xc60f('0x7d')])[_0xc60f('0xc3')](_0xc60f('0xc4'))[_0xc60f('0xa1')](),'closedAt':_0x56315b[_0xc60f('0x3a')]?moment(_0x56315b['closedAt'])['format']('YYYY-MM-DD\x20HH:mm:ss')['toString']():'','disposition':_0x56315b['disposition'],'messages':_(_0x56315b['Messages'])['filter']({'secret':![]})[_0xc60f('0x2e')](function(_0x4d89ca){return{'date':moment(_0x4d89ca['createdAt'])[_0xc60f('0xc3')](_0xc60f('0xc4'))[_0xc60f('0xa1')](),'sender':_0x4d89ca[_0xc60f('0xd5')]==='out'?_0x4d89ca['User']?_0x4d89ca[_0xc60f('0x71')][_0xc60f('0x2f')]:'System':_0x4d89ca[_0xc60f('0x68')][_0xc60f('0xdc')]+(_0x4d89ca[_0xc60f('0x68')][_0xc60f('0xd3')]?'\x20'+_0x4d89ca[_0xc60f('0x68')]['lastName']:''),'body':_0x4d89ca[_0xc60f('0x76')],'direction':_0x4d89ca[_0xc60f('0xd5')]==='out'?'A':'C','secret':_0x4d89ca[_0xc60f('0xd6')],'read':_0x4d89ca[_0xc60f('0x85')]};})['value']()};return ejs['renderFile'](path[_0xc60f('0xcd')](config[_0xc60f('0xce')],'server',_0xc60f('0xdd'),'downloadInteraction.ejs'),{'interaction':_0x3051df})['then'](function(_0x4c0bdf){var _0x47019d=path[_0xc60f('0xcd')](_0x3cba5c,'transcript-'+_0x56315b['id']+'-'+_0x193fc8+'.pdf');var _0x35a5da={'path':_0x47019d,'channel':_0xc60f('0xde'),'interactionId':_0x56315b['id']};return pdf[_0xc60f('0xdf')](_0x4c0bdf,_0x35a5da);})[_0xc60f('0x27')](function(){return new BPromise(function(_0x22f328,_0x1e200f){zipdir(_0x3cba5c,{'saveTo':_0x14c7e4},function(_0x2c5ef1,_0x5c82b1){if(_0x2c5ef1)return _0x1e200f(_0x2c5ef1);return _0x22f328(_0x5c82b1);});})[_0xc60f('0x27')](function(){return new BPromise(function(_0x294d22,_0x52cab2){rimraf(_0x3cba5c,function(_0x2941e4){if(_0x2941e4)_0x52cab2(_0x2941e4);return _0x294d22();});});})[_0xc60f('0x27')](function(){return _0xdf49['download'](_0x14c7e4,_0x5c0ca1,function(_0x1c92e8){if(_0x1c92e8){console[_0xc60f('0xe0')](_0xc60f('0xe1'),_0x1c92e8);}else{fs[_0xc60f('0xe2')](_0x14c7e4);}});});});}else{return _0xdf49[_0xc60f('0x1b')](0xc8);}})[_0xc60f('0x35')](handleError(_0xdf49,null));};