5fb8751f17bd60dad2ce8de16cd8fd1927030891
[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 _0x4c62=['where','pick','select','field','color','from','u.fullname','ui.SmsInteractionId','user_has_sms_interactions','left_join','u.id\x20=\x20ui.UserId','sms_interactions','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','users','o.id\x20=\x20i.UserId','a.id\x20=\x20i.SmsAccountId','sms_messages','me.SmsInteractionId\x20=\x20i.id','expr','search','conditions','length','find','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?','ContactId','value','start','Tag','split','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','buildExpression','text','body','compact','isEmpty','concat','createdAt','parse','$gte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','read','`unreadMessages`\x20>\x200','tag','filter','replace','isNumeric','i.id\x20LIKE\x20?','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','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','SmsAccountId','i.SmsAccountId\x20IS\x20NOT\x20NULL','role','agent','user','getSmsAccounts','i.SmsAccountId\x20IS\x20NULL','i.SmsAccountId\x20IN\x20?','sequelize','toString','keyBy','merge','a.key','Account.key','a.mandatoryDisposition','Account.mandatoryDisposition','CASE\x20WHEN\x20(c.firstName\x20IS\x20NOT\x20NULL\x20AND\x20c.firstName\x20<>\x20\x27\x27)\x20OR\x20(c.lastName\x20IS\x20NOT\x20NULL\x20AND\x20c.lastName\x20<>\x20\x27\x27)\x20THEN\x20CONCAT(IFNULL(c.firstName,\x20\x27\x27),\x20\x27\x20\x27,\x20IFNULL(c.lastName,\x20\x27\x27))\x20ELSE\x20\x27Unknown\x27\x20END','Contact.firstName','c.lastName','Contact.lastName','c.email','c.phone','Contact.phone','c.mobile','Contact.mobile','c.fax','Contact.fax','o.fullname','Owner.fullname','o.internal','Owner.internal','ui.SmsInteractionId\x20IN\x20?','rows','catch','params','rawAttributes','keys','include','create','destroy','describe','addMessage','SmsMessage','ids','omit','getMessages','SmsInteractionId','format','includeAll','findAll','addTags','setTags','spread','emit','smsInteractionTags:save','removeTags','download','unix','root','server','tmp','join','files','attachments','transcript-%d-%s.zip','push','User','fullname','CmContact','Contact','firstName','lastName','Messages','direction','SmsAccount','Owner','mkdirSync','Sms','Account','N.A.','YYYY-MM-DD\x20HH:mm:ss','disposition','out','secret','views','downloadInteraction.ejs','transcript-','.pdf','createPdfFromHTML','log','unlinkSync','eml-format','rimraf','zip-dir','request-promise','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/export/pdf','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','redis','defaults','localhost','socket.io-emitter','./smsInteraction.socket','sendStatus','status','json','undefined','count','offset','limit','set','Content-Range','apply','reject','save','update','then','end','error','stack','name','send','Users','map','TagIds','forEach','Tags','waiting','talking','answered','unmanaged','closed','UserId','index','SmsInteraction','type','key','model','query','filters','intersection','fields','attributes','hasOwnProperty','nolimit','sort'];(function(_0x317cc5,_0x3b6179){var _0x44fe81=function(_0x3b43b5){while(--_0x3b43b5){_0x317cc5['push'](_0x317cc5['shift']());}};_0x44fe81(++_0x3b6179);}(_0x4c62,0x18e));var _0x24c6=function(_0x360a88,_0x52f10a){_0x360a88=_0x360a88-0x0;var _0x474fb8=_0x4c62[_0x360a88];return _0x474fb8;};'use strict';var emlformat=require(_0x24c6('0x0'));var rimraf=require(_0x24c6('0x1'));var zipdir=require(_0x24c6('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x24c6('0x3'));var moment=require(_0x24c6('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x24c6('0x5'));var util=require(_0x24c6('0x6'));var path=require(_0x24c6('0x7'));var sox=require(_0x24c6('0x8'));var csv=require(_0x24c6('0x9'));var ejs=require(_0x24c6('0xa'));var fs=require('fs');var fs_extra=require(_0x24c6('0xb'));var _=require('lodash');var squel=require(_0x24c6('0xc'));var crypto=require(_0x24c6('0xd'));var jsforce=require(_0x24c6('0xe'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x24c6('0xf'));var Papa=require(_0x24c6('0x10'));var Redis=require(_0x24c6('0x11'));var authService=require(_0x24c6('0x12'));var qs=require(_0x24c6('0x13'));var as=require('../../components/parsers/advancedSearch');var pdf=require(_0x24c6('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x24c6('0x15'))(_0x24c6('0x16'));var utils=require(_0x24c6('0x17'));var config=require(_0x24c6('0x18'));var licenseUtil=require(_0x24c6('0x19'));var db=require('../../mysqldb')['db'];config[_0x24c6('0x1a')]=_[_0x24c6('0x1b')](config[_0x24c6('0x1a')],{'host':_0x24c6('0x1c'),'port':0x18eb});var socket=require(_0x24c6('0x1d'))(new Redis(config[_0x24c6('0x1a')]));require(_0x24c6('0x1e'))['register'](socket);function respondWithStatusCode(_0x283230,_0x3b123e){_0x3b123e=_0x3b123e||0xcc;return function(_0x155acf){if(_0x155acf){return _0x283230[_0x24c6('0x1f')](_0x3b123e);}return _0x283230[_0x24c6('0x20')](_0x3b123e)['end']();};}function respondWithResult(_0x410136,_0x350e96){_0x350e96=_0x350e96||0xc8;return function(_0x1c25be){if(_0x1c25be){return _0x410136[_0x24c6('0x20')](_0x350e96)[_0x24c6('0x21')](_0x1c25be);}};}function respondWithFilteredResult(_0x1e5583,_0x3740e8){return function(_0x50cece){if(_0x50cece){var _0x462088=typeof _0x3740e8['offset']===_0x24c6('0x22')&&typeof _0x3740e8['limit']===_0x24c6('0x22');var _0x1fdc11=_0x50cece[_0x24c6('0x23')];var _0x3fb1d1=_0x462088?0x0:_0x3740e8[_0x24c6('0x24')];var _0x325b8=_0x462088?_0x50cece[_0x24c6('0x23')]:_0x3740e8[_0x24c6('0x24')]+_0x3740e8[_0x24c6('0x25')];var _0x4d6815;if(_0x325b8>=_0x1fdc11){_0x325b8=_0x1fdc11;_0x4d6815=0xc8;}else{_0x4d6815=0xce;}_0x1e5583[_0x24c6('0x20')](_0x4d6815);return _0x1e5583[_0x24c6('0x26')](_0x24c6('0x27'),_0x3fb1d1+'-'+_0x325b8+'/'+_0x1fdc11)[_0x24c6('0x21')](_0x50cece);}return null;};}function patchUpdates(_0x3d43c8){return function(_0x482cc9){try{jsonpatch[_0x24c6('0x28')](_0x482cc9,_0x3d43c8,!![]);}catch(_0x43e3f9){return BPromise[_0x24c6('0x29')](_0x43e3f9);}return _0x482cc9[_0x24c6('0x2a')]();};}function saveUpdates(_0x280cc1,_0x4019f7){return function(_0x41863c){if(_0x41863c){return _0x41863c[_0x24c6('0x2b')](_0x280cc1)[_0x24c6('0x2c')](function(_0x51f5e8){return _0x51f5e8;});}return null;};}function removeEntity(_0x27e4e1,_0x52150d){return function(_0x30ccdb){if(_0x30ccdb){return _0x30ccdb['destroy']()['then'](function(){_0x27e4e1[_0x24c6('0x20')](0xcc)[_0x24c6('0x2d')]();});}};}function handleEntityNotFound(_0x4ffd0a,_0x4794c4){return function(_0x2dce9d){if(!_0x2dce9d){_0x4ffd0a['sendStatus'](0x194);}return _0x2dce9d;};}function handleError(_0x154f0a,_0xaf05e5){_0xaf05e5=_0xaf05e5||0x1f4;return function(_0x5476b1){logger[_0x24c6('0x2e')](_0x5476b1[_0x24c6('0x2f')]);if(_0x5476b1[_0x24c6('0x30')]){delete _0x5476b1['name'];}_0x154f0a[_0x24c6('0x20')](_0xaf05e5)[_0x24c6('0x31')](_0x5476b1);};}function getInteractionUsers(_0x21f302,_0x2d8e41){return new BPromise(function(_0x1d0c5b,_0x32497f){try{if(_0x2d8e41[_0x21f302['id']]){_0x21f302[_0x24c6('0x32')]=_[_0x24c6('0x33')](_0x2d8e41[_0x21f302['id']],function(_0x51d819){return{'id':_0x51d819['id'],'fullname':_0x51d819['fullname']};});}}catch(_0x3acd39){_0x32497f(_0x3acd39);}_0x1d0c5b(_0x21f302);});}function getInteractionTags(_0x28b0c8,_0xc1c2dc){return new BPromise(function(_0x2526e3,_0x309c3b){try{if(_0x28b0c8[_0x24c6('0x34')]){_0x28b0c8['Tags']=[];_0x28b0c8[_0x24c6('0x34')]['split'](',')[_0x24c6('0x35')](function(_0x563ab4){_0x28b0c8[_0x24c6('0x36')]['push'](_0xc1c2dc[_0x563ab4]);});}delete _0x28b0c8[_0x24c6('0x34')];}catch(_0x2b5c0b){_0x309c3b(_0x2b5c0b);}_0x2526e3(_0x28b0c8);});}function updateSmsInteraction(_0x24ef9f,_0x5021b3,_0x56cef7){return new BPromise(function(_0x275ac9,_0x10f080){return getInteractionUsers(_0x24ef9f,_0x56cef7)[_0x24c6('0x2c')](function(_0x3f355b){return getInteractionTags(_0x3f355b,_0x5021b3);})[_0x24c6('0x2c')](function(_0x33a99f){return getStateInteraction(_0x33a99f);})[_0x24c6('0x2c')](function(_0x8dbae4){_0x275ac9(_0x8dbae4);})['catch'](function(_0x88b77e){_0x10f080(_0x88b77e);});});}function getStateInteraction(_0xf99d9f){return new BPromise(function(_0x5135aa){_0xf99d9f[_0x24c6('0x37')]=0x0;_0xf99d9f[_0x24c6('0x38')]=0x0;_0xf99d9f[_0x24c6('0x39')]=0x0;_0xf99d9f[_0x24c6('0x3a')]=0x0;_0xf99d9f['total']=0x0;if(!_0xf99d9f[_0x24c6('0x3b')]&&!_0xf99d9f['UserId']){_0xf99d9f[_0x24c6('0x37')]+=0x1;}if(!_0xf99d9f[_0x24c6('0x3b')]&&_0xf99d9f['UserId']){_0xf99d9f[_0x24c6('0x38')]+=0x1;if(_0xf99d9f['waiting']){_0xf99d9f[_0x24c6('0x37')]-=0x1;}}if(_0xf99d9f[_0x24c6('0x3b')]&&_0xf99d9f[_0x24c6('0x3c')]){_0xf99d9f[_0x24c6('0x39')]+=0x1;if(_0xf99d9f[_0x24c6('0x38')]){_0xf99d9f[_0x24c6('0x38')]-=0x1;}}if(_0xf99d9f[_0x24c6('0x3b')]&&!_0xf99d9f[_0x24c6('0x3c')]){_0xf99d9f['unmanaged']+=0x1;if(_0xf99d9f[_0x24c6('0x37')]){_0xf99d9f[_0x24c6('0x37')]-=0x1;}}_0xf99d9f['total']+=0x1;_0x5135aa(_0xf99d9f);});}exports[_0x24c6('0x3d')]=function(_0x398b2c,_0x2eeb5d){var _0x409ded={},_0x1cf016={},_0x28f1d4={'count':0x0,'rows':[]};var _0x3dbd05=_['map'](db[_0x24c6('0x3e')]['rawAttributes'],function(_0x5a1ed9){return{'name':_0x5a1ed9['fieldName'],'type':_0x5a1ed9[_0x24c6('0x3f')][_0x24c6('0x40')]};});_0x1cf016[_0x24c6('0x41')]=_[_0x24c6('0x33')](_0x3dbd05,_0x24c6('0x30'));_0x1cf016[_0x24c6('0x42')]=_['keys'](_0x398b2c[_0x24c6('0x42')]);_0x1cf016[_0x24c6('0x43')]=_[_0x24c6('0x44')](_0x1cf016['model'],_0x1cf016[_0x24c6('0x42')]);_0x409ded['attributes']=_[_0x24c6('0x44')](_0x1cf016['model'],qs[_0x24c6('0x45')](_0x398b2c['query']['fields']));_0x409ded['attributes']=_0x409ded[_0x24c6('0x46')]['length']?_0x409ded['attributes']:_0x1cf016[_0x24c6('0x41')];if(!_0x398b2c[_0x24c6('0x42')][_0x24c6('0x47')](_0x24c6('0x48'))){_0x409ded[_0x24c6('0x25')]=qs['limit'](_0x398b2c['query']['limit']);_0x409ded['offset']=qs[_0x24c6('0x24')](_0x398b2c[_0x24c6('0x42')][_0x24c6('0x24')]);}_0x409ded['order']=qs[_0x24c6('0x49')](_0x398b2c[_0x24c6('0x42')][_0x24c6('0x49')]);_0x409ded[_0x24c6('0x4a')]=qs[_0x24c6('0x43')](_[_0x24c6('0x4b')](_0x398b2c[_0x24c6('0x42')],_0x1cf016[_0x24c6('0x43')]),_0x3dbd05);var _0x58220=[];var _0x443329=squel[_0x24c6('0x4c')]()['field']('id')[_0x24c6('0x4d')](_0x24c6('0x30'))[_0x24c6('0x4d')](_0x24c6('0x4e'))[_0x24c6('0x4f')]('tools_tags');var _0x1acb14=squel[_0x24c6('0x4c')]()['field']('u.id')[_0x24c6('0x4d')](_0x24c6('0x50'))[_0x24c6('0x4d')](_0x24c6('0x51'))[_0x24c6('0x4f')](_0x24c6('0x52'),'ui')[_0x24c6('0x53')]('users','u',_0x24c6('0x54'));var _0x554d21=squel[_0x24c6('0x4c')]()[_0x24c6('0x4f')](_0x24c6('0x55'),'i')[_0x24c6('0x53')](_0x24c6('0x56'),'c',_0x24c6('0x57'))[_0x24c6('0x53')](_0x24c6('0x58'),'o',_0x24c6('0x59'))[_0x24c6('0x53')]('sms_accounts','a',_0x24c6('0x5a'))[_0x24c6('0x53')](_0x24c6('0x5b'),'me',_0x24c6('0x5c'))[_0x24c6('0x53')]('sms_interaction_has_tags','it','it.SmsInteractionId\x20=\x20i.id')[_0x24c6('0x53')]('tools_tags','t','t.id\x20=\x20it.TagId');var _0x43b975=squel[_0x24c6('0x5d')]();var _0xd5a468=[];var _0x20783e=squel[_0x24c6('0x5d')]();var _0x1ced23;if(_0x398b2c[_0x24c6('0x42')][_0x24c6('0x5e')]){_0x1ced23=as['parseSearch'](_0x398b2c['query']['search']);var _0x26018c=_0x1ced23['sqlOperator'];for(var _0x115d87=0x0;_0x115d87<_0x1ced23[_0x24c6('0x5f')][_0x24c6('0x60')];_0x115d87++){var _0xfd9844=_0x1ced23[_0x24c6('0x5f')][_0x115d87];var _0x3b9653='i';var _0x3c9d0b=_[_0x24c6('0x61')](_0x3dbd05,['name',_0xfd9844[_0x24c6('0x4d')]]);if(!_0x3c9d0b){switch(_0xfd9844[_0x24c6('0x4d')]){case'unreadMessages':if(_0xfd9844['value']==0x1){_0x554d21[_0x24c6('0x62')]('`'+_0xfd9844[_0x24c6('0x4d')]+_0x24c6('0x63'));}else{_0x554d21[_0x24c6('0x62')]('`'+_0xfd9844['field']+'`\x20>\x200');}break;case'Contact':if(_0xfd9844[_0x24c6('0x64')]===_0x24c6('0x65')){if(_0xfd9844['value']['split']('\x20')[_0x24c6('0x60')]>0x1){_0x43b975[_0x26018c](_0x24c6('0x66'),qs[_0x24c6('0x67')](_0xfd9844['value']),null);}else{var _0x2cfc5b='%'+_0xfd9844['value']+'%';_0x43b975[_0x26018c](_0x24c6('0x68'),_0x2cfc5b,_0x2cfc5b,_0x2cfc5b);}}else{_0x3c9d0b=_['find'](_0x3dbd05,[_0x24c6('0x30'),'ContactId']);_0xfd9844['field']=_0x24c6('0x69');_0x45f2ee=as['buildExpression'](_0x3b9653,_0x3c9d0b[_0x24c6('0x3f')],_0xfd9844);_0x43b975[_0x26018c](_0x45f2ee['text'],_0x45f2ee[_0x24c6('0x6a')][_0x24c6('0x6b')],_0x45f2ee[_0x24c6('0x6a')][_0x24c6('0x2d')]);}break;case _0x24c6('0x6c'):var _0x477425=_0xfd9844['value'][_0x24c6('0x6d')](',')[_0x24c6('0x33')](function(_0x27c59b){return Number(_0x27c59b);});_0x477425[_0x24c6('0x35')](function(_0x37a244){_0x20783e['or'](_0x24c6('0x6e'),'%,'+_0x37a244+',%');});_0xd5a468=_[_0x24c6('0x6f')](_0xd5a468,_0x477425);break;case'User':if(_0xfd9844[_0x24c6('0x64')]===_0x24c6('0x65')){_0x43b975[_0x26018c]('CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','%'+_0xfd9844[_0x24c6('0x6a')]+'%',null);}else{_0x3c9d0b=_[_0x24c6('0x61')](_0x3dbd05,[_0x24c6('0x30'),_0x24c6('0x3c')]);_0xfd9844[_0x24c6('0x4d')]=_0x24c6('0x3c');_0x45f2ee=as[_0x24c6('0x70')](_0x3b9653,_0x3c9d0b['type'],_0xfd9844);_0x43b975[_0x26018c](_0x45f2ee[_0x24c6('0x71')],_0x45f2ee[_0x24c6('0x6a')][_0x24c6('0x6b')],_0x45f2ee[_0x24c6('0x6a')][_0x24c6('0x2d')]);}break;case _0x24c6('0x72'):_0x45f2ee=as[_0x24c6('0x70')]('me',null,_0xfd9844);_0x43b975[_0x26018c](_0x45f2ee[_0x24c6('0x71')],_0x45f2ee[_0x24c6('0x6a')][_0x24c6('0x6b')],_0x45f2ee[_0x24c6('0x6a')][_0x24c6('0x2d')]);break;}}else{var _0x45f2ee=as[_0x24c6('0x70')](_0x3b9653,_0x3c9d0b[_0x24c6('0x3f')],_0xfd9844);_0x43b975[_0x26018c](_0x45f2ee[_0x24c6('0x71')],_0x45f2ee['value'][_0x24c6('0x6b')],_0x45f2ee[_0x24c6('0x6a')][_0x24c6('0x2d')]);}}}else{var _0x3a7e3f=_(_0x398b2c[_0x24c6('0x42')])['keys']()['map'](function(_0x3d7781){return _['some'](_0x3dbd05,[_0x24c6('0x30'),_0x3d7781])?_0x3d7781:undefined;})[_0x24c6('0x73')]()[_0x24c6('0x6a')]();if(!_[_0x24c6('0x74')](_0x3a7e3f)){_0x3a7e3f['forEach'](function(_0x7aca21){if(_0x7aca21==='SmsAccountId'){_0x554d21[_0x24c6('0x4a')]('i.SmsAccountId\x20IN\x20?',[][_0x24c6('0x75')](_0x398b2c[_0x24c6('0x42')][_0x7aca21]));}else if(_0x7aca21===_0x24c6('0x76')){var _0x5af2ae=JSON[_0x24c6('0x77')](_0x398b2c[_0x24c6('0x42')][_0x7aca21])[_0x24c6('0x78')];var _0x1662e4=JSON['parse'](_0x398b2c[_0x24c6('0x42')][_0x7aca21])['$lte'];_0x554d21[_0x24c6('0x4a')](_0x24c6('0x79'),_0x5af2ae,_0x1662e4);}else{if(_0x398b2c['query'][_0x7aca21]===_0x24c6('0x7a')){_0x554d21['where']('i.'+_0x7aca21+_0x24c6('0x7b'));}else{_0x554d21[_0x24c6('0x4a')]('i.'+_0x7aca21+'\x20=\x20?',_0x398b2c[_0x24c6('0x42')][_0x7aca21]);}}});}if(_0x398b2c[_0x24c6('0x42')][_0x24c6('0x7c')]){if(_0x398b2c['query']['read']==0x1){_0x554d21[_0x24c6('0x62')]('`unreadMessages`\x20=\x200');}else{_0x554d21[_0x24c6('0x62')](_0x24c6('0x7d'));}}if(_0x398b2c[_0x24c6('0x42')][_0x24c6('0x7e')]){_0xd5a468=_['isArray'](_0x398b2c['query'][_0x24c6('0x7e')])?_0x398b2c[_0x24c6('0x42')][_0x24c6('0x7e')]:new Array(_0x398b2c[_0x24c6('0x42')][_0x24c6('0x7e')]);_0xd5a468[_0x24c6('0x35')](function(_0x6de843){_0x20783e['or'](_0x24c6('0x6e'),'%,'+_0x6de843+',%');});}if(_0x398b2c[_0x24c6('0x42')]['filter']){var _0x144515=_0x398b2c['query'][_0x24c6('0x7f')]['replace']('\x5c','\x5c\x5c')[_0x24c6('0x80')](/'/g,'\x27\x27');if(qs[_0x24c6('0x81')](_0x144515)){_0x43b975['or'](_0x24c6('0x82'),_0x144515+'%')['or']('i.phone\x20LIKE\x20?',_0x144515+'%');}else{_0x43b975['or'](_0x24c6('0x83'),qs[_0x24c6('0x67')](_0x144515))['or'](_0x24c6('0x84'),_0x144515+'%');}}}_0x554d21[_0x24c6('0x4a')](_0x43b975);_0x554d21[_0x24c6('0x85')]('i.id');var _0x49805b={'type':db['Sequelize'][_0x24c6('0x86')][_0x24c6('0x87')],'raw':!![]};var _0x22e17b=_0x554d21[_0x24c6('0x88')]();_0x22e17b['field'](_0x24c6('0x89'));_0x22e17b[_0x24c6('0x4d')](_0x24c6('0x8a'),_0x24c6('0x8b'));if(_0x409ded[_0x24c6('0x8c')]){_0x409ded['order'][_0x24c6('0x35')](function(_0x2828f0){var _0x5c40f1=_0x2828f0[0x0]===_0x24c6('0x8d')?_0x2828f0[0x0]:'i.'+_0x2828f0[0x0];_0x554d21[_0x24c6('0x8c')](_0x5c40f1,_0x2828f0[0x1]===_0x24c6('0x8e')?![]:!![]);});}if(!_['isEmpty'](_0xd5a468)){_0x554d21['having'](_0x20783e);_0x22e17b[_0x24c6('0x4a')](_0x24c6('0x8f'),_0xd5a468);}BPromise[_0x24c6('0x90')]()[_0x24c6('0x2c')](function(){if(!_0x1ced23){if(_0x398b2c[_0x24c6('0x42')][_0x24c6('0x91')])return;_0x22e17b[_0x24c6('0x4a')](_0x24c6('0x92'));_0x554d21[_0x24c6('0x4a')](_0x24c6('0x92'));return;}if(_0x398b2c['user'][_0x24c6('0x93')]!==_0x24c6('0x94'))return;return _0x398b2c[_0x24c6('0x95')][_0x24c6('0x96')]({'attributes':['id'],'raw':!![]})[_0x24c6('0x2c')](function(_0x10eea1){if(_['isEmpty'](_0x10eea1)){_0x22e17b[_0x24c6('0x4a')](_0x24c6('0x97'));_0x554d21[_0x24c6('0x4a')](_0x24c6('0x97'));}else{_0x22e17b[_0x24c6('0x4a')](_0x24c6('0x98'),_[_0x24c6('0x33')](_0x10eea1,'id'));_0x554d21[_0x24c6('0x4a')]('i.SmsAccountId\x20IN\x20?',_[_0x24c6('0x33')](_0x10eea1,'id'));}});})[_0x24c6('0x2c')](function(){if(_0x398b2c[_0x24c6('0x95')][_0x24c6('0x93')]===_0x24c6('0x94')&&!_0x1ced23&&!_0x398b2c[_0x24c6('0x42')]['SmsAccountId'])return[];return db[_0x24c6('0x99')][_0x24c6('0x42')](_0x22e17b[_0x24c6('0x9a')](),_0x49805b);})[_0x24c6('0x2c')](function(_0x200d6a){_0x28f1d4[_0x24c6('0x23')]=_0x200d6a['length'];if(_0x28f1d4[_0x24c6('0x23')]===0x0)return[];return db['sequelize'][_0x24c6('0x42')](_0x443329[_0x24c6('0x9a')](),_0x49805b)[_0x24c6('0x2c')](function(_0x34c61e){_0x58220=_[_0x24c6('0x9b')](_0x34c61e,'id');_0x49805b=_[_0x24c6('0x9c')](_0x49805b,{'model':db[_0x24c6('0x3e')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x398b2c[_0x24c6('0x42')][_0x24c6('0x45')]){_0x409ded[_0x24c6('0x46')]['forEach'](function(_0x149356){_0x554d21[_0x24c6('0x4d')]('i.'+_0x149356);});}else{_0x554d21[_0x24c6('0x4d')](_0x24c6('0x8a'),'unreadMessages');_0x554d21[_0x24c6('0x4d')](_0x24c6('0x9d'),_0x24c6('0x9e'));_0x554d21[_0x24c6('0x4d')](_0x24c6('0x9f'),_0x24c6('0xa0'));_0x554d21[_0x24c6('0x4d')](_0x24c6('0xa1'),_0x24c6('0x8d'));_0x554d21[_0x24c6('0x4d')]('i.*');_0x554d21[_0x24c6('0x4d')]('c.firstName',_0x24c6('0xa2'));_0x554d21[_0x24c6('0x4d')](_0x24c6('0xa3'),_0x24c6('0xa4'));_0x554d21['field'](_0x24c6('0xa5'),'Contact.email');_0x554d21[_0x24c6('0x4d')](_0x24c6('0xa6'),_0x24c6('0xa7'));_0x554d21['field'](_0x24c6('0xa8'),_0x24c6('0xa9'));_0x554d21[_0x24c6('0x4d')](_0x24c6('0xaa'),_0x24c6('0xab'));_0x554d21[_0x24c6('0x4d')](_0x24c6('0xac'),_0x24c6('0xad'));_0x554d21[_0x24c6('0x4d')](_0x24c6('0xae'),_0x24c6('0xaf'));_0x554d21[_0x24c6('0x4d')]('GROUP_CONCAT(DISTINCT\x20t.id)','TagIds');}if(_0x409ded[_0x24c6('0x25')])_0x554d21[_0x24c6('0x25')](_0x409ded[_0x24c6('0x25')]);if(_0x409ded[_0x24c6('0x24')])_0x554d21['offset'](_0x409ded['offset']);return db[_0x24c6('0x99')][_0x24c6('0x42')](_0x554d21[_0x24c6('0x9a')](),_0x49805b);})['then'](function(_0x163f92){if(_0x163f92['length']>0x0)_0x1acb14[_0x24c6('0x4a')](_0x24c6('0xb0'),_[_0x24c6('0x33')](_0x163f92,'id'));return db['sequelize'][_0x24c6('0x42')](_0x1acb14[_0x24c6('0x9a')](),_0x49805b)[_0x24c6('0x2c')](function(_0x5490d8){var _0x2c0e3b=_['groupBy'](_0x5490d8,'SmsInteractionId');var _0x531ea7=[];_0x163f92[_0x24c6('0x35')](function(_0xf60d62){_0x531ea7['push'](updateSmsInteraction(_0xf60d62,_0x58220,_0x2c0e3b));});return BPromise['all'](_0x531ea7);});});})[_0x24c6('0x2c')](function(_0x31a21f){_0x28f1d4[_0x24c6('0xb1')]=_0x31a21f;return _0x28f1d4;})[_0x24c6('0x2c')](respondWithFilteredResult(_0x2eeb5d,_0x409ded))[_0x24c6('0xb2')](handleError(_0x2eeb5d,null));};exports['show']=function(_0x2df427,_0x2eb606){var _0x2eb564={'raw':![],'where':{'id':_0x2df427[_0x24c6('0xb3')]['id']}},_0x2952f6={};_0x2952f6[_0x24c6('0x41')]=_['keys'](db[_0x24c6('0x3e')][_0x24c6('0xb4')]);_0x2952f6[_0x24c6('0x42')]=_[_0x24c6('0xb5')](_0x2df427['query']);_0x2952f6[_0x24c6('0x43')]=_[_0x24c6('0x44')](_0x2952f6[_0x24c6('0x41')],_0x2952f6[_0x24c6('0x42')]);_0x2eb564[_0x24c6('0x46')]=_['intersection'](_0x2952f6[_0x24c6('0x41')],qs[_0x24c6('0x45')](_0x2df427[_0x24c6('0x42')][_0x24c6('0x45')]));_0x2eb564[_0x24c6('0x46')]=_0x2eb564['attributes'][_0x24c6('0x60')]?_0x2eb564[_0x24c6('0x46')]:_0x2952f6[_0x24c6('0x41')];if(_0x2df427['query']['includeAll']){_0x2eb564[_0x24c6('0xb6')]=[{'all':!![]}];}_0x2eb564=_['merge']({},_0x2eb564,_0x2df427['options']);return db['SmsInteraction'][_0x24c6('0x61')](_0x2eb564)[_0x24c6('0x2c')](handleEntityNotFound(_0x2eb606,null))['then'](respondWithResult(_0x2eb606,null))['catch'](handleError(_0x2eb606,null));};exports[_0x24c6('0xb7')]=function(_0x32f44f,_0x26cdb5){return db['SmsInteraction'][_0x24c6('0xb7')](_0x32f44f[_0x24c6('0x72')],{})[_0x24c6('0x2c')](respondWithResult(_0x26cdb5,0xc9))[_0x24c6('0xb2')](handleError(_0x26cdb5,null));};exports[_0x24c6('0x2b')]=function(_0x3f4d43,_0x5aa7d3){if(_0x3f4d43['body']['id']){delete _0x3f4d43[_0x24c6('0x72')]['id'];}return db[_0x24c6('0x3e')]['find']({'where':{'id':_0x3f4d43[_0x24c6('0xb3')]['id']}})[_0x24c6('0x2c')](handleEntityNotFound(_0x5aa7d3,null))[_0x24c6('0x2c')](saveUpdates(_0x3f4d43[_0x24c6('0x72')],null))[_0x24c6('0x2c')](respondWithResult(_0x5aa7d3,null))[_0x24c6('0xb2')](handleError(_0x5aa7d3,null));};exports[_0x24c6('0xb8')]=function(_0x3aacc7,_0x3462df){return db['SmsInteraction']['find']({'where':{'id':_0x3aacc7[_0x24c6('0xb3')]['id']}})[_0x24c6('0x2c')](handleEntityNotFound(_0x3462df,null))[_0x24c6('0x2c')](removeEntity(_0x3462df,null))[_0x24c6('0xb2')](handleError(_0x3462df,null));};exports[_0x24c6('0xb9')]=function(_0x3d5b35,_0x579519){return db[_0x24c6('0x3e')]['describe']()[_0x24c6('0x2c')](respondWithResult(_0x579519,null))['catch'](handleError(_0x579519,null));};exports[_0x24c6('0xba')]=function(_0x3eb1c7,_0x3244a8,_0x41b1ec){return db[_0x24c6('0xbb')][_0x24c6('0x61')]({'where':{'id':_0x3eb1c7['params']['id']}})[_0x24c6('0x2c')](handleEntityNotFound(_0x3244a8,null))[_0x24c6('0x2c')](function(_0x548d7b){if(_0x548d7b){return _0x548d7b[_0x24c6('0xba')](_0x3eb1c7[_0x24c6('0x72')][_0x24c6('0xbc')],_[_0x24c6('0xbd')](_0x3eb1c7[_0x24c6('0x72')],['ids','id'])||{});}})['then'](respondWithResult(_0x3244a8,null))[_0x24c6('0xb2')](handleError(_0x3244a8,null));};exports[_0x24c6('0xbe')]=function(_0x499a13,_0xfa5bd6,_0xa7a7ba){var _0x1c6aa8={'raw':![],'where':{}};var _0x5b607f={};var _0x5afc6d={'count':0x0,'rows':[]};return db[_0x24c6('0x3e')]['findOne']({'where':{'id':_0x499a13[_0x24c6('0xb3')]['id']}})[_0x24c6('0x2c')](handleEntityNotFound(_0xfa5bd6,null))[_0x24c6('0x2c')](function(_0x1b498c){if(_0x1b498c){_0x5b607f[_0x24c6('0x41')]=_[_0x24c6('0xb5')](db[_0x24c6('0xbb')][_0x24c6('0xb4')]);_0x5b607f[_0x24c6('0x42')]=_['keys'](_0x499a13[_0x24c6('0x42')]);_0x5b607f[_0x24c6('0x43')]=_[_0x24c6('0x44')](_0x5b607f[_0x24c6('0x41')],_0x5b607f[_0x24c6('0x42')]);_0x1c6aa8['attributes']=_[_0x24c6('0x44')](_0x5b607f['model'],qs[_0x24c6('0x45')](_0x499a13[_0x24c6('0x42')][_0x24c6('0x45')]));_0x1c6aa8[_0x24c6('0x46')]=_0x1c6aa8[_0x24c6('0x46')][_0x24c6('0x60')]?_0x1c6aa8[_0x24c6('0x46')]:_0x5b607f[_0x24c6('0x41')];if(!_0x499a13[_0x24c6('0x42')][_0x24c6('0x47')](_0x24c6('0x48'))){_0x1c6aa8[_0x24c6('0x25')]=qs[_0x24c6('0x25')](_0x499a13[_0x24c6('0x42')][_0x24c6('0x25')]);_0x1c6aa8[_0x24c6('0x24')]=qs['offset'](_0x499a13[_0x24c6('0x42')]['offset']);}_0x1c6aa8[_0x24c6('0x8c')]=qs[_0x24c6('0x49')](_0x499a13[_0x24c6('0x42')][_0x24c6('0x49')]);_0x1c6aa8['where']=qs[_0x24c6('0x43')](_['pick'](_0x499a13[_0x24c6('0x42')],_0x5b607f['filters']));_0x1c6aa8[_0x24c6('0x4a')][_0x24c6('0xbf')]=_0x1b498c['id'];if(_0x499a13[_0x24c6('0x42')][_0x24c6('0x7f')]){_0x1c6aa8[_0x24c6('0x4a')]=_[_0x24c6('0x9c')](_0x1c6aa8[_0x24c6('0x4a')],{'$or':_[_0x24c6('0x33')](_0x1c6aa8[_0x24c6('0x46')],function(_0x45b648){var _0x2c9801={};_0x2c9801[_0x45b648]={'$like':'%'+_0x499a13[_0x24c6('0x42')]['filter']+'%'};return _0x2c9801;})});}if(_0x499a13['query']['$gte']){var _0x6b50e0=_0x499a13[_0x24c6('0x42')]['$gte'][_0x24c6('0x6d')](',');var _0x233e80={};_0x233e80[_0x6b50e0[0x0]]={'$gte':moment(_0x6b50e0[0x1])[_0x24c6('0xc0')]('YYYY-MM-DD\x20HH:mm:ss')};_0x1c6aa8['where']=_[_0x24c6('0x9c')](_0x1c6aa8[_0x24c6('0x4a')],_0x233e80);}_0x1c6aa8=_[_0x24c6('0x9c')]({},_0x1c6aa8,_0x499a13['options']);return db['SmsMessage']['count']({'where':_0x1c6aa8[_0x24c6('0x4a')]})[_0x24c6('0x2c')](function(_0x11257e){_0x5afc6d['count']=_0x11257e;if(_0x499a13[_0x24c6('0x42')][_0x24c6('0xc1')]){_0x1c6aa8[_0x24c6('0xb6')]=[{'all':!![]}];}return db[_0x24c6('0xbb')][_0x24c6('0xc2')](_0x1c6aa8);})['then'](function(_0x2564af){_0x5afc6d[_0x24c6('0xb1')]=_0x2564af;return _0x5afc6d;});}})['then'](respondWithFilteredResult(_0xfa5bd6,_0x1c6aa8))[_0x24c6('0xb2')](handleError(_0xfa5bd6,null));};exports[_0x24c6('0xc3')]=function(_0x57fcf2,_0x19fc6d,_0x24c4ac){return db[_0x24c6('0x3e')][_0x24c6('0x61')]({'where':{'id':_0x57fcf2['params']['id']}})['then'](handleEntityNotFound(_0x19fc6d,null))[_0x24c6('0x2c')](function(_0x41f834){if(_0x41f834){return _0x41f834[_0x24c6('0xc4')](_0x57fcf2[_0x24c6('0x72')][_0x24c6('0xbc')],_[_0x24c6('0xbd')](_0x57fcf2[_0x24c6('0x72')],[_0x24c6('0xbc'),'id'])||{})[_0x24c6('0xc5')](function(){return db['Tag'][_0x24c6('0xc2')]({'attributes':['id',_0x24c6('0x30'),_0x24c6('0x4e')],'where':{'id':_0x57fcf2[_0x24c6('0x72')][_0x24c6('0xbc')]}});})[_0x24c6('0x2c')](function(_0x4030c8){socket[_0x24c6('0xc6')](_0x24c6('0xc7'),{'id':Number(_0x57fcf2[_0x24c6('0xb3')]['id']),'tags':_0x4030c8||[]});return{'id':Number(_0x57fcf2[_0x24c6('0xb3')]['id']),'tags':_0x4030c8||[]};});}})[_0x24c6('0x2c')](respondWithResult(_0x19fc6d,null))[_0x24c6('0xb2')](handleError(_0x19fc6d,null));};exports[_0x24c6('0xc8')]=function(_0x2c9d61,_0x573775,_0x5b46bd){return db['SmsInteraction'][_0x24c6('0x61')]({'where':{'id':_0x2c9d61[_0x24c6('0xb3')]['id']}})[_0x24c6('0x2c')](handleEntityNotFound(_0x573775,null))[_0x24c6('0x2c')](function(_0x3e1363){if(_0x3e1363){return _0x3e1363[_0x24c6('0xc8')](_0x2c9d61[_0x24c6('0x42')][_0x24c6('0xbc')]);}})['then'](respondWithStatusCode(_0x573775,null))[_0x24c6('0xb2')](handleError(_0x573775,null));};exports[_0x24c6('0xc9')]=function(_0x33e335,_0x3bf94d){var _0x1bc93c=moment()[_0x24c6('0xca')]()[_0x24c6('0x9a')]();var _0xa1a083=path['join'](config[_0x24c6('0xcb')],_0x24c6('0xcc'),'files',_0x24c6('0xcd'));var _0x352cea=path[_0x24c6('0xce')](config[_0x24c6('0xcb')],_0x24c6('0xcc'),_0x24c6('0xcf'),_0x24c6('0xd0'));var _0x378e42=path[_0x24c6('0xce')](_0xa1a083,_0x1bc93c);var _0x118d52=util[_0x24c6('0xc0')](_0x24c6('0xd1'),_0x33e335[_0x24c6('0xb3')]['id'],_0x1bc93c);var _0x315bbc=path[_0x24c6('0xce')](_0xa1a083,_0x118d52);var _0x95045e=[];_0x95045e[_0x24c6('0xd2')]({'model':db[_0x24c6('0xd3')],'as':'User','attributes':['id',_0x24c6('0xd4')],'raw':!![]});_0x95045e[_0x24c6('0xd2')]({'model':db[_0x24c6('0xd5')],'as':_0x24c6('0xd6'),'attributes':['id',_0x24c6('0xd7'),_0x24c6('0xd8')],'raw':!![]});var _0x5cdacd=[{'model':db[_0x24c6('0xbb')],'as':_0x24c6('0xd9'),'attributes':['id','body',_0x24c6('0x76'),_0x24c6('0xda'),'secret',_0x24c6('0x7c')],'include':_0x95045e}];_0x5cdacd[_0x24c6('0xd2')]({'model':db[_0x24c6('0xdb')],'as':'Account','attributes':['id',_0x24c6('0x30')]});_0x5cdacd[_0x24c6('0xd2')]({'model':db[_0x24c6('0xd3')],'as':_0x24c6('0xdc'),'attributes':['id','fullname']});return db['SmsInteraction'][_0x24c6('0x61')]({'where':{'id':_0x33e335[_0x24c6('0xb3')]['id']},'include':_0x5cdacd})[_0x24c6('0x2c')](handleEntityNotFound(_0x3bf94d,null))['then'](function(_0x59cc12){if(_0x59cc12){var _0x5a7627=_0x59cc12['get']({'plain':!![]});fs[_0x24c6('0xdd')](_0x378e42);var _0x52d6fb={'channel':_0x24c6('0xde'),'account':_0x5a7627[_0x24c6('0xdf')][_0x24c6('0x30')],'agent':_0x5a7627[_0x24c6('0xdc')]?_0x5a7627[_0x24c6('0xdc')][_0x24c6('0xd4')]:_0x24c6('0xe0'),'createdAt':moment(_0x5a7627[_0x24c6('0x76')])['format']('YYYY-MM-DD\x20HH:mm:ss')[_0x24c6('0x9a')](),'closedAt':_0x5a7627[_0x24c6('0x3b')]?moment(_0x5a7627['closedAt'])['format'](_0x24c6('0xe1'))['toString']():'','disposition':_0x5a7627[_0x24c6('0xe2')],'messages':_(_0x5a7627[_0x24c6('0xd9')])['filter']({'secret':![]})['map'](function(_0x25f6a1){return{'date':moment(_0x25f6a1[_0x24c6('0x76')])['format'](_0x24c6('0xe1'))[_0x24c6('0x9a')](),'sender':_0x25f6a1['direction']==='out'?_0x25f6a1[_0x24c6('0xd3')]?_0x25f6a1[_0x24c6('0xd3')][_0x24c6('0xd4')]:'System':_0x25f6a1[_0x24c6('0xd6')][_0x24c6('0xd7')]+(_0x25f6a1[_0x24c6('0xd6')]['lastName']?'\x20'+_0x25f6a1[_0x24c6('0xd6')][_0x24c6('0xd8')]:''),'body':_0x25f6a1[_0x24c6('0x72')],'direction':_0x25f6a1['direction']===_0x24c6('0xe3')?'A':'C','secret':_0x25f6a1[_0x24c6('0xe4')],'read':_0x25f6a1[_0x24c6('0x7c')]};})[_0x24c6('0x6a')]()};return ejs['renderFile'](path[_0x24c6('0xce')](config[_0x24c6('0xcb')],_0x24c6('0xcc'),_0x24c6('0xe5'),_0x24c6('0xe6')),{'interaction':_0x52d6fb})[_0x24c6('0x2c')](function(_0x106f4f){var _0x4d9d94=path['join'](_0x378e42,_0x24c6('0xe7')+_0x5a7627['id']+'-'+_0x1bc93c+_0x24c6('0xe8'));var _0x90b513={'path':_0x4d9d94,'channel':'Sms','interactionId':_0x5a7627['id']};return pdf[_0x24c6('0xe9')](_0x106f4f,_0x90b513);})[_0x24c6('0x2c')](function(){return new BPromise(function(_0x15c229,_0x27f035){zipdir(_0x378e42,{'saveTo':_0x315bbc},function(_0x2d98c4,_0x1dad66){if(_0x2d98c4)return _0x27f035(_0x2d98c4);return _0x15c229(_0x1dad66);});})[_0x24c6('0x2c')](function(){return new BPromise(function(_0x57ac7e,_0x485ee6){rimraf(_0x378e42,function(_0xd25c5e){if(_0xd25c5e)_0x485ee6(_0xd25c5e);return _0x57ac7e();});});})['then'](function(){return _0x3bf94d['download'](_0x315bbc,_0x118d52,function(_0x525f5c){if(_0x525f5c){console[_0x24c6('0xea')]('err',_0x525f5c);}else{fs[_0x24c6('0xeb')](_0x315bbc);}});});});}else{return _0x3bf94d[_0x24c6('0x1f')](0xc8);}})[_0x24c6('0xb2')](handleError(_0x3bf94d,null));};