c40a6ef827e72e76ac978d75ee2a573f336e2fed
[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 _0x5ca8=['setTags','spread','color','emit','smsInteractionTags:save','removeTags','download','unix','join','root','server','files','tmp','attachments','transcript-%d-%s.zip','fullname','CmContact','Contact','lastName','Messages','direction','secret','SmsAccount','Account','Owner','get','mkdirSync','Sms','closedAt','out','firstName','renderFile','views','downloadInteraction.ejs','transcript-','.pdf','createPdfFromHTML','log','unlinkSync','eml-format','rimraf','fast-json-patch','request-promise','mustache','path','sox','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/export/pdf','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','redis','localhost','socket.io-emitter','register','sendStatus','end','json','offset','undefined','limit','count','status','Content-Range','reject','save','update','then','destroy','error','stack','name','TagIds','Tags','split','forEach','push','talking','unmanaged','total','closed','waiting','UserId','answered','index','SmsInteraction','rawAttributes','fieldName','type','map','query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','select','field','from','tools_tags','u.id','u.fullname','ui.SmsInteractionId','user_has_sms_interactions','left_join','users','u.id\x20=\x20ui.UserId','sms_interactions','cm_contacts','a.id\x20=\x20i.SmsAccountId','sms_messages','sms_interaction_has_tags','expr','search','parseSearch','find','value','having','`\x20=\x200','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?','buildExpression','start','Tag','User','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','text','some','compact','isEmpty','SmsAccountId','i.SmsAccountId\x20IN\x20?','concat','createdAt','parse','$gte','$lte','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20>\x200','isArray','tag','replace','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?','Sequelize','QueryTypes','SELECT','clone','i.id','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','unreadMessages','order','contactName','DESC','t.id\x20IN\x20?','resolve','i.SmsAccountId\x20IS\x20NOT\x20NULL','user','role','getSmsAccounts','i.SmsAccountId\x20IS\x20NULL','sequelize','toString','merge','Account.key','i.*','c.firstName','Contact.firstName','c.lastName','Contact.email','c.phone','Contact.phone','c.mobile','Contact.mobile','c.fax','Contact.fax','o.fullname','Owner.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.SmsInteractionId\x20IN\x20?','groupBy','all','rows','show','params','includeAll','include','catch','create','body','describe','addMessage','SmsMessage','ids','omit','getMessages','findOne','SmsInteractionId','filter','format','YYYY-MM-DD\x20HH:mm:ss','findAll'];(function(_0x454bbf,_0x22d616){var _0x3b0294=function(_0x11922a){while(--_0x11922a){_0x454bbf['push'](_0x454bbf['shift']());}};_0x3b0294(++_0x22d616);}(_0x5ca8,0x1f3));var _0x85ca=function(_0x40a045,_0x516f0e){_0x40a045=_0x40a045-0x0;var _0x1a687c=_0x5ca8[_0x40a045];return _0x1a687c;};'use strict';var emlformat=require(_0x85ca('0x0'));var rimraf=require(_0x85ca('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x85ca('0x2'));var rp=require(_0x85ca('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x85ca('0x4'));var util=require('util');var path=require(_0x85ca('0x5'));var sox=require(_0x85ca('0x6'));var csv=require('to-csv');var ejs=require(_0x85ca('0x7'));var fs=require('fs');var fs_extra=require(_0x85ca('0x8'));var _=require(_0x85ca('0x9'));var squel=require(_0x85ca('0xa'));var crypto=require(_0x85ca('0xb'));var jsforce=require(_0x85ca('0xc'));var deskjs=require(_0x85ca('0xd'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x85ca('0xe'));var Redis=require(_0x85ca('0xf'));var authService=require(_0x85ca('0x10'));var qs=require(_0x85ca('0x11'));var as=require('../../components/parsers/advancedSearch');var pdf=require(_0x85ca('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x85ca('0x13'))('api');var utils=require(_0x85ca('0x14'));var config=require(_0x85ca('0x15'));var licenseUtil=require(_0x85ca('0x16'));var db=require('../../mysqldb')['db'];config[_0x85ca('0x17')]=_['defaults'](config['redis'],{'host':_0x85ca('0x18'),'port':0x18eb});var socket=require(_0x85ca('0x19'))(new Redis(config['redis']));require('./smsInteraction.socket')[_0x85ca('0x1a')](socket);function respondWithStatusCode(_0xfcba92,_0x43810e){_0x43810e=_0x43810e||0xcc;return function(_0x583379){if(_0x583379){return _0xfcba92[_0x85ca('0x1b')](_0x43810e);}return _0xfcba92['status'](_0x43810e)[_0x85ca('0x1c')]();};}function respondWithResult(_0x4cefa2,_0x3e7e35){_0x3e7e35=_0x3e7e35||0xc8;return function(_0xea3b4e){if(_0xea3b4e){return _0x4cefa2['status'](_0x3e7e35)[_0x85ca('0x1d')](_0xea3b4e);}};}function respondWithFilteredResult(_0x18d447,_0x7bc433){return function(_0x47e81d){if(_0x47e81d){var _0x4f0a5b=typeof _0x7bc433[_0x85ca('0x1e')]===_0x85ca('0x1f')&&typeof _0x7bc433[_0x85ca('0x20')]===_0x85ca('0x1f');var _0x508514=_0x47e81d[_0x85ca('0x21')];var _0x1684e0=_0x4f0a5b?0x0:_0x7bc433[_0x85ca('0x1e')];var _0x64c942=_0x4f0a5b?_0x47e81d[_0x85ca('0x21')]:_0x7bc433[_0x85ca('0x1e')]+_0x7bc433[_0x85ca('0x20')];var _0x31da35;if(_0x64c942>=_0x508514){_0x64c942=_0x508514;_0x31da35=0xc8;}else{_0x31da35=0xce;}_0x18d447[_0x85ca('0x22')](_0x31da35);return _0x18d447['set'](_0x85ca('0x23'),_0x1684e0+'-'+_0x64c942+'/'+_0x508514)[_0x85ca('0x1d')](_0x47e81d);}return null;};}function patchUpdates(_0x12bb10){return function(_0x99c6f1){try{jsonpatch['apply'](_0x99c6f1,_0x12bb10,!![]);}catch(_0x5a63ea){return BPromise[_0x85ca('0x24')](_0x5a63ea);}return _0x99c6f1[_0x85ca('0x25')]();};}function saveUpdates(_0x2ab039,_0x3b2ae2){return function(_0xc5e53c){if(_0xc5e53c){return _0xc5e53c[_0x85ca('0x26')](_0x2ab039)[_0x85ca('0x27')](function(_0x1d592e){return _0x1d592e;});}return null;};}function removeEntity(_0x9c92b1,_0x4b4834){return function(_0x537b55){if(_0x537b55){return _0x537b55[_0x85ca('0x28')]()['then'](function(){_0x9c92b1[_0x85ca('0x22')](0xcc)[_0x85ca('0x1c')]();});}};}function handleEntityNotFound(_0x16c7ea,_0x5b7efe){return function(_0x3d269c){if(!_0x3d269c){_0x16c7ea[_0x85ca('0x1b')](0x194);}return _0x3d269c;};}function handleError(_0x478cb4,_0x453163){_0x453163=_0x453163||0x1f4;return function(_0x52b4a8){logger[_0x85ca('0x29')](_0x52b4a8[_0x85ca('0x2a')]);if(_0x52b4a8[_0x85ca('0x2b')]){delete _0x52b4a8[_0x85ca('0x2b')];}_0x478cb4[_0x85ca('0x22')](_0x453163)['send'](_0x52b4a8);};}function getInteractionUsers(_0x53f516,_0x2b2994){return new BPromise(function(_0x19f077,_0x3c97de){try{if(_0x2b2994[_0x53f516['id']]){_0x53f516['Users']=_['map'](_0x2b2994[_0x53f516['id']],function(_0xbafa75){return{'id':_0xbafa75['id'],'fullname':_0xbafa75['fullname']};});}}catch(_0x244411){_0x3c97de(_0x244411);}_0x19f077(_0x53f516);});}function getInteractionTags(_0x2eb308,_0x25d882){return new BPromise(function(_0x5b575a,_0x368866){try{if(_0x2eb308[_0x85ca('0x2c')]){_0x2eb308[_0x85ca('0x2d')]=[];_0x2eb308[_0x85ca('0x2c')][_0x85ca('0x2e')](',')[_0x85ca('0x2f')](function(_0x35eb2b){_0x2eb308['Tags'][_0x85ca('0x30')](_0x25d882[_0x35eb2b]);});}delete _0x2eb308['TagIds'];}catch(_0x3ab80c){_0x368866(_0x3ab80c);}_0x5b575a(_0x2eb308);});}function updateSmsInteraction(_0x4d998e,_0x135ec2,_0x366093){return new BPromise(function(_0x12ebb7,_0x49ed5b){return getInteractionUsers(_0x4d998e,_0x366093)[_0x85ca('0x27')](function(_0xf24ea1){return getInteractionTags(_0xf24ea1,_0x135ec2);})['then'](function(_0x167df9){return getStateInteraction(_0x167df9);})[_0x85ca('0x27')](function(_0x3d5e88){_0x12ebb7(_0x3d5e88);})['catch'](function(_0x266dc6){_0x49ed5b(_0x266dc6);});});}function getStateInteraction(_0x54a688){return new BPromise(function(_0x22c3cd){_0x54a688['waiting']=0x0;_0x54a688[_0x85ca('0x31')]=0x0;_0x54a688['answered']=0x0;_0x54a688[_0x85ca('0x32')]=0x0;_0x54a688[_0x85ca('0x33')]=0x0;if(!_0x54a688[_0x85ca('0x34')]&&!_0x54a688['UserId']){_0x54a688[_0x85ca('0x35')]+=0x1;}if(!_0x54a688[_0x85ca('0x34')]&&_0x54a688[_0x85ca('0x36')]){_0x54a688[_0x85ca('0x31')]+=0x1;if(_0x54a688[_0x85ca('0x35')]){_0x54a688[_0x85ca('0x35')]-=0x1;}}if(_0x54a688[_0x85ca('0x34')]&&_0x54a688['UserId']){_0x54a688[_0x85ca('0x37')]+=0x1;if(_0x54a688[_0x85ca('0x31')]){_0x54a688[_0x85ca('0x31')]-=0x1;}}if(_0x54a688['closed']&&!_0x54a688[_0x85ca('0x36')]){_0x54a688['unmanaged']+=0x1;if(_0x54a688[_0x85ca('0x35')]){_0x54a688[_0x85ca('0x35')]-=0x1;}}_0x54a688[_0x85ca('0x33')]+=0x1;_0x22c3cd(_0x54a688);});}exports[_0x85ca('0x38')]=function(_0x2e88b1,_0x1f9f85){var _0x130f20={},_0x25695d={},_0x5af840={'count':0x0,'rows':[]};var _0xd4e31b=_['map'](db[_0x85ca('0x39')][_0x85ca('0x3a')],function(_0x2c5f7e){return{'name':_0x2c5f7e[_0x85ca('0x3b')],'type':_0x2c5f7e[_0x85ca('0x3c')]['key']};});_0x25695d['model']=_[_0x85ca('0x3d')](_0xd4e31b,'name');_0x25695d[_0x85ca('0x3e')]=_[_0x85ca('0x3f')](_0x2e88b1[_0x85ca('0x3e')]);_0x25695d[_0x85ca('0x40')]=_[_0x85ca('0x41')](_0x25695d[_0x85ca('0x42')],_0x25695d[_0x85ca('0x3e')]);_0x130f20[_0x85ca('0x43')]=_['intersection'](_0x25695d[_0x85ca('0x42')],qs[_0x85ca('0x44')](_0x2e88b1[_0x85ca('0x3e')][_0x85ca('0x44')]));_0x130f20[_0x85ca('0x43')]=_0x130f20[_0x85ca('0x43')][_0x85ca('0x45')]?_0x130f20['attributes']:_0x25695d[_0x85ca('0x42')];if(!_0x2e88b1[_0x85ca('0x3e')][_0x85ca('0x46')](_0x85ca('0x47'))){_0x130f20[_0x85ca('0x20')]=qs[_0x85ca('0x20')](_0x2e88b1[_0x85ca('0x3e')]['limit']);_0x130f20['offset']=qs['offset'](_0x2e88b1[_0x85ca('0x3e')][_0x85ca('0x1e')]);}_0x130f20['order']=qs[_0x85ca('0x48')](_0x2e88b1['query'][_0x85ca('0x48')]);_0x130f20[_0x85ca('0x49')]=qs[_0x85ca('0x40')](_[_0x85ca('0x4a')](_0x2e88b1[_0x85ca('0x3e')],_0x25695d[_0x85ca('0x40')]),_0xd4e31b);var _0x27ca87=[];var _0x40e221=squel[_0x85ca('0x4b')]()[_0x85ca('0x4c')]('id')['field'](_0x85ca('0x2b'))[_0x85ca('0x4c')]('color')[_0x85ca('0x4d')](_0x85ca('0x4e'));var _0xf89cf2=squel['select']()['field'](_0x85ca('0x4f'))[_0x85ca('0x4c')](_0x85ca('0x50'))['field'](_0x85ca('0x51'))[_0x85ca('0x4d')](_0x85ca('0x52'),'ui')[_0x85ca('0x53')](_0x85ca('0x54'),'u',_0x85ca('0x55'));var _0x5bd1b9=squel['select']()[_0x85ca('0x4d')](_0x85ca('0x56'),'i')['left_join'](_0x85ca('0x57'),'c','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL')[_0x85ca('0x53')](_0x85ca('0x54'),'o','o.id\x20=\x20i.UserId')[_0x85ca('0x53')]('sms_accounts','a',_0x85ca('0x58'))['left_join'](_0x85ca('0x59'),'me','me.SmsInteractionId\x20=\x20i.id')[_0x85ca('0x53')](_0x85ca('0x5a'),'it','it.SmsInteractionId\x20=\x20i.id')[_0x85ca('0x53')]('tools_tags','t','t.id\x20=\x20it.TagId');var _0x5bd256=squel[_0x85ca('0x5b')]();var _0x4fa94e=[];var _0x2af228=squel[_0x85ca('0x5b')]();var _0x21cd18;if(_0x2e88b1[_0x85ca('0x3e')][_0x85ca('0x5c')]){_0x21cd18=as[_0x85ca('0x5d')](_0x2e88b1[_0x85ca('0x3e')]['search']);var _0x3a72a3=_0x21cd18['sqlOperator'];for(var _0x437a3a=0x0;_0x437a3a<_0x21cd18['conditions']['length'];_0x437a3a++){var _0x7807a2=_0x21cd18['conditions'][_0x437a3a];var _0x3f958a='i';var _0x1e7061=_[_0x85ca('0x5e')](_0xd4e31b,['name',_0x7807a2[_0x85ca('0x4c')]]);if(!_0x1e7061){switch(_0x7807a2[_0x85ca('0x4c')]){case'unreadMessages':if(_0x7807a2[_0x85ca('0x5f')]==0x1){_0x5bd1b9[_0x85ca('0x60')]('`'+_0x7807a2[_0x85ca('0x4c')]+_0x85ca('0x61'));}else{_0x5bd1b9['having']('`'+_0x7807a2[_0x85ca('0x4c')]+'`\x20>\x200');}break;case'Contact':if(_0x7807a2[_0x85ca('0x62')]===_0x85ca('0x63')){if(_0x7807a2['value'][_0x85ca('0x2e')]('\x20')[_0x85ca('0x45')]>0x1){_0x5bd256[_0x3a72a3](_0x85ca('0x64'),qs[_0x85ca('0x65')](_0x7807a2[_0x85ca('0x5f')]),null);}else{var _0x94132a='%'+_0x7807a2[_0x85ca('0x5f')]+'%';_0x5bd256[_0x3a72a3](_0x85ca('0x66'),_0x94132a,_0x94132a,_0x94132a);}}else{_0x1e7061=_[_0x85ca('0x5e')](_0xd4e31b,[_0x85ca('0x2b'),'ContactId']);_0x7807a2['field']='ContactId';_0x17e561=as[_0x85ca('0x67')](_0x3f958a,_0x1e7061[_0x85ca('0x3c')],_0x7807a2);_0x5bd256[_0x3a72a3](_0x17e561['text'],_0x17e561['value'][_0x85ca('0x68')],_0x17e561[_0x85ca('0x5f')][_0x85ca('0x1c')]);}break;case _0x85ca('0x69'):var _0x1df9eb=_0x7807a2[_0x85ca('0x5f')][_0x85ca('0x2e')](',')[_0x85ca('0x3d')](function(_0x3925f0){return Number(_0x3925f0);});_0x1df9eb[_0x85ca('0x2f')](function(_0x43314c){_0x2af228['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x43314c+',%');});_0x4fa94e=_['union'](_0x4fa94e,_0x1df9eb);break;case _0x85ca('0x6a'):if(_0x7807a2['operator']===_0x85ca('0x63')){_0x5bd256[_0x3a72a3](_0x85ca('0x6b'),'%'+_0x7807a2[_0x85ca('0x5f')]+'%',null);}else{_0x1e7061=_[_0x85ca('0x5e')](_0xd4e31b,[_0x85ca('0x2b'),_0x85ca('0x36')]);_0x7807a2[_0x85ca('0x4c')]=_0x85ca('0x36');_0x17e561=as[_0x85ca('0x67')](_0x3f958a,_0x1e7061[_0x85ca('0x3c')],_0x7807a2);_0x5bd256[_0x3a72a3](_0x17e561[_0x85ca('0x6c')],_0x17e561[_0x85ca('0x5f')]['start'],_0x17e561[_0x85ca('0x5f')][_0x85ca('0x1c')]);}break;case'body':_0x17e561=as[_0x85ca('0x67')]('me',null,_0x7807a2);_0x5bd256[_0x3a72a3](_0x17e561['text'],_0x17e561[_0x85ca('0x5f')][_0x85ca('0x68')],_0x17e561[_0x85ca('0x5f')]['end']);break;}}else{var _0x17e561=as[_0x85ca('0x67')](_0x3f958a,_0x1e7061['type'],_0x7807a2);_0x5bd256[_0x3a72a3](_0x17e561[_0x85ca('0x6c')],_0x17e561['value'][_0x85ca('0x68')],_0x17e561[_0x85ca('0x5f')][_0x85ca('0x1c')]);}}}else{var _0x1d96a9=_(_0x2e88b1['query'])['keys']()[_0x85ca('0x3d')](function(_0x158108){return _[_0x85ca('0x6d')](_0xd4e31b,[_0x85ca('0x2b'),_0x158108])?_0x158108:undefined;})[_0x85ca('0x6e')]()[_0x85ca('0x5f')]();if(!_[_0x85ca('0x6f')](_0x1d96a9)){_0x1d96a9['forEach'](function(_0x27c1fd){if(_0x27c1fd===_0x85ca('0x70')){_0x5bd1b9[_0x85ca('0x49')](_0x85ca('0x71'),[][_0x85ca('0x72')](_0x2e88b1[_0x85ca('0x3e')][_0x27c1fd]));}else if(_0x27c1fd===_0x85ca('0x73')){var _0x321420=JSON[_0x85ca('0x74')](_0x2e88b1[_0x85ca('0x3e')][_0x27c1fd])[_0x85ca('0x75')];var _0x299b4d=JSON[_0x85ca('0x74')](_0x2e88b1[_0x85ca('0x3e')][_0x27c1fd])[_0x85ca('0x76')];_0x5bd1b9['where']('i.createdAt\x20BETWEEN\x20?\x20AND\x20?',_0x321420,_0x299b4d);}else{if(_0x2e88b1[_0x85ca('0x3e')][_0x27c1fd]===_0x85ca('0x77')){_0x5bd1b9[_0x85ca('0x49')]('i.'+_0x27c1fd+_0x85ca('0x78'));}else{_0x5bd1b9['where']('i.'+_0x27c1fd+_0x85ca('0x79'),_0x2e88b1[_0x85ca('0x3e')][_0x27c1fd]);}}});}if(_0x2e88b1[_0x85ca('0x3e')][_0x85ca('0x7a')]){if(_0x2e88b1[_0x85ca('0x3e')][_0x85ca('0x7a')]==0x1){_0x5bd1b9[_0x85ca('0x60')]('`unreadMessages`\x20=\x200');}else{_0x5bd1b9[_0x85ca('0x60')](_0x85ca('0x7b'));}}if(_0x2e88b1[_0x85ca('0x3e')]['tag']){_0x4fa94e=_[_0x85ca('0x7c')](_0x2e88b1[_0x85ca('0x3e')][_0x85ca('0x7d')])?_0x2e88b1['query'][_0x85ca('0x7d')]:new Array(_0x2e88b1[_0x85ca('0x3e')][_0x85ca('0x7d')]);_0x4fa94e[_0x85ca('0x2f')](function(_0xb6a450){_0x2af228['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0xb6a450+',%');});}if(_0x2e88b1[_0x85ca('0x3e')]['filter']){var _0x42de9f=_0x2e88b1[_0x85ca('0x3e')]['filter'][_0x85ca('0x7e')]('\x5c','\x5c\x5c')[_0x85ca('0x7e')](/'/g,'\x27\x27');if(qs['isNumeric'](_0x42de9f)){_0x5bd256['or'](_0x85ca('0x7f'),_0x42de9f+'%')['or'](_0x85ca('0x80'),_0x42de9f+'%');}else{_0x5bd256['or'](_0x85ca('0x81'),qs[_0x85ca('0x65')](_0x42de9f))['or'](_0x85ca('0x82'),_0x42de9f+'%');}}}_0x5bd1b9[_0x85ca('0x49')](_0x5bd256);_0x5bd1b9['group']('i.id');var _0x57cea9={'type':db[_0x85ca('0x83')][_0x85ca('0x84')][_0x85ca('0x85')],'raw':!![]};var _0x52d616=_0x5bd1b9[_0x85ca('0x86')]();_0x52d616[_0x85ca('0x4c')](_0x85ca('0x87'));_0x52d616[_0x85ca('0x4c')](_0x85ca('0x88'),_0x85ca('0x89'));if(_0x130f20[_0x85ca('0x8a')]){_0x130f20['order'][_0x85ca('0x2f')](function(_0xaab51a){var _0x29ebef=_0xaab51a[0x0]===_0x85ca('0x8b')?_0xaab51a[0x0]:'i.'+_0xaab51a[0x0];_0x5bd1b9[_0x85ca('0x8a')](_0x29ebef,_0xaab51a[0x1]===_0x85ca('0x8c')?![]:!![]);});}if(!_[_0x85ca('0x6f')](_0x4fa94e)){_0x5bd1b9[_0x85ca('0x60')](_0x2af228);_0x52d616[_0x85ca('0x49')](_0x85ca('0x8d'),_0x4fa94e);}BPromise[_0x85ca('0x8e')]()[_0x85ca('0x27')](function(){if(!_0x21cd18){if(_0x2e88b1['query'][_0x85ca('0x70')])return;_0x52d616[_0x85ca('0x49')](_0x85ca('0x8f'));_0x5bd1b9['where'](_0x85ca('0x8f'));return;}if(_0x2e88b1[_0x85ca('0x90')][_0x85ca('0x91')]!=='agent')return;return _0x2e88b1[_0x85ca('0x90')][_0x85ca('0x92')]({'attributes':['id'],'raw':!![]})[_0x85ca('0x27')](function(_0x556455){if(_[_0x85ca('0x6f')](_0x556455)){_0x52d616[_0x85ca('0x49')]('i.SmsAccountId\x20IS\x20NULL');_0x5bd1b9[_0x85ca('0x49')](_0x85ca('0x93'));}else{_0x52d616[_0x85ca('0x49')](_0x85ca('0x71'),_[_0x85ca('0x3d')](_0x556455,'id'));_0x5bd1b9[_0x85ca('0x49')](_0x85ca('0x71'),_[_0x85ca('0x3d')](_0x556455,'id'));}});})[_0x85ca('0x27')](function(){if(_0x2e88b1['user']['role']==='agent'&&!_0x21cd18&&!_0x2e88b1['query'][_0x85ca('0x70')])return[];return db[_0x85ca('0x94')][_0x85ca('0x3e')](_0x52d616[_0x85ca('0x95')](),_0x57cea9);})[_0x85ca('0x27')](function(_0x5c6000){_0x5af840['count']=_0x5c6000[_0x85ca('0x45')];if(_0x5af840[_0x85ca('0x21')]===0x0)return[];return db[_0x85ca('0x94')]['query'](_0x40e221[_0x85ca('0x95')](),_0x57cea9)[_0x85ca('0x27')](function(_0x4c0ae1){_0x27ca87=_['keyBy'](_0x4c0ae1,'id');_0x57cea9=_[_0x85ca('0x96')](_0x57cea9,{'model':db[_0x85ca('0x39')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x2e88b1[_0x85ca('0x3e')][_0x85ca('0x44')]){_0x130f20[_0x85ca('0x43')][_0x85ca('0x2f')](function(_0x35d220){_0x5bd1b9['field']('i.'+_0x35d220);});}else{_0x5bd1b9[_0x85ca('0x4c')](_0x85ca('0x88'),_0x85ca('0x89'));_0x5bd1b9[_0x85ca('0x4c')]('a.key',_0x85ca('0x97'));_0x5bd1b9[_0x85ca('0x4c')]('a.mandatoryDisposition','Account.mandatoryDisposition');_0x5bd1b9['field']('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',_0x85ca('0x8b'));_0x5bd1b9[_0x85ca('0x4c')](_0x85ca('0x98'));_0x5bd1b9[_0x85ca('0x4c')](_0x85ca('0x99'),_0x85ca('0x9a'));_0x5bd1b9[_0x85ca('0x4c')](_0x85ca('0x9b'),'Contact.lastName');_0x5bd1b9[_0x85ca('0x4c')]('c.email',_0x85ca('0x9c'));_0x5bd1b9[_0x85ca('0x4c')](_0x85ca('0x9d'),_0x85ca('0x9e'));_0x5bd1b9['field'](_0x85ca('0x9f'),_0x85ca('0xa0'));_0x5bd1b9[_0x85ca('0x4c')](_0x85ca('0xa1'),_0x85ca('0xa2'));_0x5bd1b9['field'](_0x85ca('0xa3'),_0x85ca('0xa4'));_0x5bd1b9[_0x85ca('0x4c')](_0x85ca('0xa5'),_0x85ca('0xa6'));_0x5bd1b9['field'](_0x85ca('0xa7'),_0x85ca('0x2c'));}if(_0x130f20[_0x85ca('0x20')])_0x5bd1b9[_0x85ca('0x20')](_0x130f20['limit']);if(_0x130f20[_0x85ca('0x1e')])_0x5bd1b9[_0x85ca('0x1e')](_0x130f20['offset']);return db[_0x85ca('0x94')][_0x85ca('0x3e')](_0x5bd1b9[_0x85ca('0x95')](),_0x57cea9);})['then'](function(_0x488fba){if(_0x488fba[_0x85ca('0x45')]>0x0)_0xf89cf2[_0x85ca('0x49')](_0x85ca('0xa8'),_[_0x85ca('0x3d')](_0x488fba,'id'));return db[_0x85ca('0x94')][_0x85ca('0x3e')](_0xf89cf2[_0x85ca('0x95')](),_0x57cea9)[_0x85ca('0x27')](function(_0x38085f){var _0x2b8400=_[_0x85ca('0xa9')](_0x38085f,'SmsInteractionId');var _0x367e27=[];_0x488fba[_0x85ca('0x2f')](function(_0xd83536){_0x367e27[_0x85ca('0x30')](updateSmsInteraction(_0xd83536,_0x27ca87,_0x2b8400));});return BPromise[_0x85ca('0xaa')](_0x367e27);});});})[_0x85ca('0x27')](function(_0x20f1da){_0x5af840[_0x85ca('0xab')]=_0x20f1da;return _0x5af840;})[_0x85ca('0x27')](respondWithFilteredResult(_0x1f9f85,_0x130f20))['catch'](handleError(_0x1f9f85,null));};exports[_0x85ca('0xac')]=function(_0x97326d,_0x1f3f27){var _0x57bf09={'raw':![],'where':{'id':_0x97326d[_0x85ca('0xad')]['id']}},_0x4f61da={};_0x4f61da['model']=_[_0x85ca('0x3f')](db[_0x85ca('0x39')][_0x85ca('0x3a')]);_0x4f61da[_0x85ca('0x3e')]=_[_0x85ca('0x3f')](_0x97326d[_0x85ca('0x3e')]);_0x4f61da['filters']=_[_0x85ca('0x41')](_0x4f61da[_0x85ca('0x42')],_0x4f61da[_0x85ca('0x3e')]);_0x57bf09[_0x85ca('0x43')]=_[_0x85ca('0x41')](_0x4f61da[_0x85ca('0x42')],qs['fields'](_0x97326d[_0x85ca('0x3e')][_0x85ca('0x44')]));_0x57bf09[_0x85ca('0x43')]=_0x57bf09[_0x85ca('0x43')][_0x85ca('0x45')]?_0x57bf09['attributes']:_0x4f61da[_0x85ca('0x42')];if(_0x97326d[_0x85ca('0x3e')][_0x85ca('0xae')]){_0x57bf09[_0x85ca('0xaf')]=[{'all':!![]}];}_0x57bf09=_[_0x85ca('0x96')]({},_0x57bf09,_0x97326d['options']);return db[_0x85ca('0x39')][_0x85ca('0x5e')](_0x57bf09)[_0x85ca('0x27')](handleEntityNotFound(_0x1f3f27,null))[_0x85ca('0x27')](respondWithResult(_0x1f3f27,null))[_0x85ca('0xb0')](handleError(_0x1f3f27,null));};exports[_0x85ca('0xb1')]=function(_0x398e6c,_0x124901){return db[_0x85ca('0x39')][_0x85ca('0xb1')](_0x398e6c[_0x85ca('0xb2')],{})['then'](respondWithResult(_0x124901,0xc9))[_0x85ca('0xb0')](handleError(_0x124901,null));};exports[_0x85ca('0x26')]=function(_0x460ea4,_0x2759ea){if(_0x460ea4[_0x85ca('0xb2')]['id']){delete _0x460ea4[_0x85ca('0xb2')]['id'];}return db[_0x85ca('0x39')][_0x85ca('0x5e')]({'where':{'id':_0x460ea4['params']['id']}})[_0x85ca('0x27')](handleEntityNotFound(_0x2759ea,null))[_0x85ca('0x27')](saveUpdates(_0x460ea4[_0x85ca('0xb2')],null))[_0x85ca('0x27')](respondWithResult(_0x2759ea,null))['catch'](handleError(_0x2759ea,null));};exports[_0x85ca('0x28')]=function(_0x3ae96d,_0x3ab6ec){return db[_0x85ca('0x39')]['find']({'where':{'id':_0x3ae96d['params']['id']}})[_0x85ca('0x27')](handleEntityNotFound(_0x3ab6ec,null))[_0x85ca('0x27')](removeEntity(_0x3ab6ec,null))[_0x85ca('0xb0')](handleError(_0x3ab6ec,null));};exports['describe']=function(_0x3dbe3e,_0xdf6ee){return db[_0x85ca('0x39')][_0x85ca('0xb3')]()[_0x85ca('0x27')](respondWithResult(_0xdf6ee,null))[_0x85ca('0xb0')](handleError(_0xdf6ee,null));};exports[_0x85ca('0xb4')]=function(_0xf4d67e,_0x395ae0,_0x4eeb47){return db[_0x85ca('0xb5')]['find']({'where':{'id':_0xf4d67e[_0x85ca('0xad')]['id']}})[_0x85ca('0x27')](handleEntityNotFound(_0x395ae0,null))[_0x85ca('0x27')](function(_0x3b9092){if(_0x3b9092){return _0x3b9092[_0x85ca('0xb4')](_0xf4d67e[_0x85ca('0xb2')][_0x85ca('0xb6')],_[_0x85ca('0xb7')](_0xf4d67e[_0x85ca('0xb2')],[_0x85ca('0xb6'),'id'])||{});}})[_0x85ca('0x27')](respondWithResult(_0x395ae0,null))[_0x85ca('0xb0')](handleError(_0x395ae0,null));};exports[_0x85ca('0xb8')]=function(_0x4a0ad9,_0x41663d,_0x391b1d){var _0x557f09={'raw':![],'where':{}};var _0x2c6cad={};var _0x3898ea={'count':0x0,'rows':[]};return db['SmsInteraction'][_0x85ca('0xb9')]({'where':{'id':_0x4a0ad9[_0x85ca('0xad')]['id']}})[_0x85ca('0x27')](handleEntityNotFound(_0x41663d,null))[_0x85ca('0x27')](function(_0x1743a5){if(_0x1743a5){_0x2c6cad[_0x85ca('0x42')]=_[_0x85ca('0x3f')](db[_0x85ca('0xb5')][_0x85ca('0x3a')]);_0x2c6cad[_0x85ca('0x3e')]=_[_0x85ca('0x3f')](_0x4a0ad9[_0x85ca('0x3e')]);_0x2c6cad[_0x85ca('0x40')]=_[_0x85ca('0x41')](_0x2c6cad[_0x85ca('0x42')],_0x2c6cad[_0x85ca('0x3e')]);_0x557f09[_0x85ca('0x43')]=_['intersection'](_0x2c6cad['model'],qs[_0x85ca('0x44')](_0x4a0ad9[_0x85ca('0x3e')]['fields']));_0x557f09[_0x85ca('0x43')]=_0x557f09[_0x85ca('0x43')][_0x85ca('0x45')]?_0x557f09['attributes']:_0x2c6cad[_0x85ca('0x42')];if(!_0x4a0ad9[_0x85ca('0x3e')][_0x85ca('0x46')](_0x85ca('0x47'))){_0x557f09[_0x85ca('0x20')]=qs[_0x85ca('0x20')](_0x4a0ad9[_0x85ca('0x3e')][_0x85ca('0x20')]);_0x557f09[_0x85ca('0x1e')]=qs['offset'](_0x4a0ad9[_0x85ca('0x3e')][_0x85ca('0x1e')]);}_0x557f09[_0x85ca('0x8a')]=qs['sort'](_0x4a0ad9[_0x85ca('0x3e')][_0x85ca('0x48')]);_0x557f09[_0x85ca('0x49')]=qs['filters'](_[_0x85ca('0x4a')](_0x4a0ad9['query'],_0x2c6cad[_0x85ca('0x40')]));_0x557f09[_0x85ca('0x49')][_0x85ca('0xba')]=_0x1743a5['id'];if(_0x4a0ad9[_0x85ca('0x3e')][_0x85ca('0xbb')]){_0x557f09[_0x85ca('0x49')]=_[_0x85ca('0x96')](_0x557f09[_0x85ca('0x49')],{'$or':_[_0x85ca('0x3d')](_0x557f09[_0x85ca('0x43')],function(_0x4bfbe2){var _0x45ef28={};_0x45ef28[_0x4bfbe2]={'$like':'%'+_0x4a0ad9[_0x85ca('0x3e')][_0x85ca('0xbb')]+'%'};return _0x45ef28;})});}if(_0x4a0ad9['query']['$gte']){var _0x23f6fc=_0x4a0ad9[_0x85ca('0x3e')][_0x85ca('0x75')][_0x85ca('0x2e')](',');var _0x3036a0={};_0x3036a0[_0x23f6fc[0x0]]={'$gte':moment(_0x23f6fc[0x1])[_0x85ca('0xbc')](_0x85ca('0xbd'))};_0x557f09[_0x85ca('0x49')]=_[_0x85ca('0x96')](_0x557f09[_0x85ca('0x49')],_0x3036a0);}_0x557f09=_['merge']({},_0x557f09,_0x4a0ad9['options']);return db[_0x85ca('0xb5')]['count']({'where':_0x557f09[_0x85ca('0x49')]})[_0x85ca('0x27')](function(_0x484221){_0x3898ea[_0x85ca('0x21')]=_0x484221;if(_0x4a0ad9[_0x85ca('0x3e')][_0x85ca('0xae')]){_0x557f09[_0x85ca('0xaf')]=[{'all':!![]}];}return db[_0x85ca('0xb5')][_0x85ca('0xbe')](_0x557f09);})[_0x85ca('0x27')](function(_0x233591){_0x3898ea[_0x85ca('0xab')]=_0x233591;return _0x3898ea;});}})[_0x85ca('0x27')](respondWithFilteredResult(_0x41663d,_0x557f09))[_0x85ca('0xb0')](handleError(_0x41663d,null));};exports['addTags']=function(_0x3cc3bf,_0xb6cd58,_0x35a201){return db[_0x85ca('0x39')]['find']({'where':{'id':_0x3cc3bf[_0x85ca('0xad')]['id']}})[_0x85ca('0x27')](handleEntityNotFound(_0xb6cd58,null))['then'](function(_0xc6e9bd){if(_0xc6e9bd){return _0xc6e9bd[_0x85ca('0xbf')](_0x3cc3bf[_0x85ca('0xb2')][_0x85ca('0xb6')],_['omit'](_0x3cc3bf[_0x85ca('0xb2')],[_0x85ca('0xb6'),'id'])||{})[_0x85ca('0xc0')](function(){return db[_0x85ca('0x69')][_0x85ca('0xbe')]({'attributes':['id',_0x85ca('0x2b'),_0x85ca('0xc1')],'where':{'id':_0x3cc3bf[_0x85ca('0xb2')]['ids']}});})[_0x85ca('0x27')](function(_0xfa026e){socket[_0x85ca('0xc2')](_0x85ca('0xc3'),{'id':Number(_0x3cc3bf[_0x85ca('0xad')]['id']),'tags':_0xfa026e||[]});return{'id':Number(_0x3cc3bf[_0x85ca('0xad')]['id']),'tags':_0xfa026e||[]};});}})['then'](respondWithResult(_0xb6cd58,null))[_0x85ca('0xb0')](handleError(_0xb6cd58,null));};exports[_0x85ca('0xc4')]=function(_0x1b00e7,_0x4ce3ab,_0x788ce6){return db['SmsInteraction'][_0x85ca('0x5e')]({'where':{'id':_0x1b00e7[_0x85ca('0xad')]['id']}})[_0x85ca('0x27')](handleEntityNotFound(_0x4ce3ab,null))['then'](function(_0x250d6b){if(_0x250d6b){return _0x250d6b[_0x85ca('0xc4')](_0x1b00e7[_0x85ca('0x3e')][_0x85ca('0xb6')]);}})[_0x85ca('0x27')](respondWithStatusCode(_0x4ce3ab,null))[_0x85ca('0xb0')](handleError(_0x4ce3ab,null));};exports[_0x85ca('0xc5')]=function(_0x4438e4,_0x2b6c78){var _0x3f4ab5=moment()[_0x85ca('0xc6')]()[_0x85ca('0x95')]();var _0xf5374b=path[_0x85ca('0xc7')](config[_0x85ca('0xc8')],_0x85ca('0xc9'),_0x85ca('0xca'),_0x85ca('0xcb'));var _0x4709ac=path[_0x85ca('0xc7')](config['root'],_0x85ca('0xc9'),_0x85ca('0xca'),_0x85ca('0xcc'));var _0x5709bf=path[_0x85ca('0xc7')](_0xf5374b,_0x3f4ab5);var _0x5f5c7e=util[_0x85ca('0xbc')](_0x85ca('0xcd'),_0x4438e4[_0x85ca('0xad')]['id'],_0x3f4ab5);var _0x5e8d22=path[_0x85ca('0xc7')](_0xf5374b,_0x5f5c7e);var _0x162f47=[];_0x162f47['push']({'model':db[_0x85ca('0x6a')],'as':'User','attributes':['id',_0x85ca('0xce')],'raw':!![]});_0x162f47[_0x85ca('0x30')]({'model':db[_0x85ca('0xcf')],'as':_0x85ca('0xd0'),'attributes':['id','firstName',_0x85ca('0xd1')],'raw':!![]});var _0x22fb3d=[{'model':db[_0x85ca('0xb5')],'as':_0x85ca('0xd2'),'attributes':['id',_0x85ca('0xb2'),_0x85ca('0x73'),_0x85ca('0xd3'),_0x85ca('0xd4'),_0x85ca('0x7a')],'include':_0x162f47}];_0x22fb3d['push']({'model':db[_0x85ca('0xd5')],'as':_0x85ca('0xd6'),'attributes':['id',_0x85ca('0x2b')]});_0x22fb3d[_0x85ca('0x30')]({'model':db['User'],'as':_0x85ca('0xd7'),'attributes':['id',_0x85ca('0xce')]});return db['SmsInteraction'][_0x85ca('0x5e')]({'where':{'id':_0x4438e4[_0x85ca('0xad')]['id']},'include':_0x22fb3d})['then'](handleEntityNotFound(_0x2b6c78,null))[_0x85ca('0x27')](function(_0x44ca41){if(_0x44ca41){var _0x31710e=_0x44ca41[_0x85ca('0xd8')]({'plain':!![]});fs[_0x85ca('0xd9')](_0x5709bf);var _0x360731={'channel':_0x85ca('0xda'),'account':_0x31710e[_0x85ca('0xd6')][_0x85ca('0x2b')],'agent':_0x31710e[_0x85ca('0xd7')]?_0x31710e['Owner'][_0x85ca('0xce')]:'N.A.','createdAt':moment(_0x31710e[_0x85ca('0x73')])[_0x85ca('0xbc')](_0x85ca('0xbd'))[_0x85ca('0x95')](),'closedAt':_0x31710e[_0x85ca('0x34')]?moment(_0x31710e[_0x85ca('0xdb')])[_0x85ca('0xbc')](_0x85ca('0xbd'))[_0x85ca('0x95')]():'','disposition':_0x31710e['disposition'],'messages':_(_0x31710e[_0x85ca('0xd2')])['filter']({'secret':![]})['map'](function(_0x44c6b2){return{'date':moment(_0x44c6b2['createdAt'])[_0x85ca('0xbc')]('YYYY-MM-DD\x20HH:mm:ss')[_0x85ca('0x95')](),'sender':_0x44c6b2[_0x85ca('0xd3')]===_0x85ca('0xdc')?_0x44c6b2[_0x85ca('0x6a')]?_0x44c6b2[_0x85ca('0x6a')]['fullname']:'System':_0x44c6b2[_0x85ca('0xd0')][_0x85ca('0xdd')]+(_0x44c6b2[_0x85ca('0xd0')][_0x85ca('0xd1')]?'\x20'+_0x44c6b2[_0x85ca('0xd0')][_0x85ca('0xd1')]:''),'body':_0x44c6b2['body'],'direction':_0x44c6b2[_0x85ca('0xd3')]===_0x85ca('0xdc')?'A':'C','secret':_0x44c6b2[_0x85ca('0xd4')],'read':_0x44c6b2[_0x85ca('0x7a')]};})[_0x85ca('0x5f')]()};return ejs[_0x85ca('0xde')](path['join'](config['root'],_0x85ca('0xc9'),_0x85ca('0xdf'),_0x85ca('0xe0')),{'interaction':_0x360731})['then'](function(_0x47d21f){var _0xe7b0e1=path[_0x85ca('0xc7')](_0x5709bf,_0x85ca('0xe1')+_0x31710e['id']+'-'+_0x3f4ab5+_0x85ca('0xe2'));var _0x4895cc={'path':_0xe7b0e1,'channel':_0x85ca('0xda'),'interactionId':_0x31710e['id']};return pdf[_0x85ca('0xe3')](_0x47d21f,_0x4895cc);})[_0x85ca('0x27')](function(){return new BPromise(function(_0x29b437,_0x528a1b){zipdir(_0x5709bf,{'saveTo':_0x5e8d22},function(_0x541850,_0x312ca5){if(_0x541850)return _0x528a1b(_0x541850);return _0x29b437(_0x312ca5);});})[_0x85ca('0x27')](function(){return new BPromise(function(_0x8c28e6,_0x564500){rimraf(_0x5709bf,function(_0xf3ee92){if(_0xf3ee92)_0x564500(_0xf3ee92);return _0x8c28e6();});});})[_0x85ca('0x27')](function(){return _0x2b6c78[_0x85ca('0xc5')](_0x5e8d22,_0x5f5c7e,function(_0x2948e4){if(_0x2948e4){console[_0x85ca('0xe4')]('err',_0x2948e4);}else{fs[_0x85ca('0xe5')](_0x5e8d22);}});});});}else{return _0x2b6c78['sendStatus'](0xc8);}})[_0x85ca('0xb0')](handleError(_0x2b6c78,null));};