Built motion from commit 87cd5f02.|2.5.48
[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 _0x2f76=['waiting','talking','answered','unmanaged','total','closed','UserId','index','SmsInteraction','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','field','color','tools_tags','select','u.id','u.fullname','ui.SmsInteractionId','from','left_join','users','u.id\x20=\x20ui.UserId','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','a.id\x20=\x20i.SmsAccountId','sms_messages','me.SmsInteractionId\x20=\x20i.id','it.SmsInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','search','parseSearch','sqlOperator','conditions','length','find','unreadMessages','`\x20=\x200','having','`\x20>\x200','Contact','operator','getFullTextValue','value','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','buildExpression','text','start','union','User','body','some','compact','SmsAccountId','i.SmsAccountId\x20IN\x20?','concat','parse','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','filter','replace','isNumeric','i.id\x20LIKE\x20?','i.phone\x20LIKE\x20?','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','i.id','Sequelize','QueryTypes','contactName','DESC','isEmpty','t.id\x20IN\x20?','resolve','i.SmsAccountId\x20IS\x20NOT\x20NULL','user','role','agent','i.SmsAccountId\x20IS\x20NULL','sequelize','toString','keyBy','merge','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','a.mandatoryDisposition','Account.mandatoryDisposition','CASE\x20WHEN\x20(c.firstName\x20IS\x20NOT\x20NULL\x20AND\x20c.firstName\x20<>\x20\x27\x27)\x20OR\x20(c.lastName\x20IS\x20NOT\x20NULL\x20AND\x20c.lastName\x20<>\x20\x27\x27)\x20THEN\x20CONCAT(IFNULL(c.firstName,\x20\x27\x27),\x20\x27\x20\x27,\x20IFNULL(c.lastName,\x20\x27\x27))\x20ELSE\x20\x27Unknown\x27\x20END','i.*','c.firstName','Contact.firstName','c.lastName','c.email','Contact.phone','c.mobile','Contact.mobile','c.fax','Contact.fax','o.fullname','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.SmsInteractionId\x20IN\x20?','SmsInteractionId','push','all','rows','show','params','rawAttributes','includeAll','create','describe','SmsMessage','addMessage','omit','ids','getMessages','findOne','format','addTags','spread','Tag','findAll','emit','smsInteractionTags:save','removeTags','download','unix','join','root','server','files','tmp','attachments','transcript-%d-%s.zip','firstName','lastName','Messages','secret','SmsAccount','Account','get','mkdirSync','Owner','N.A.','YYYY-MM-DD\x20HH:mm:ss','closedAt','disposition','createdAt','out','System','direction','renderFile','views','downloadInteraction.ejs','transcript-','.pdf','Sms','createPdfFromHTML','err','unlinkSync','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','sox','to-csv','ejs','fs-extra','squel','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../components/export/pdf','../../config/utils','../../config/environment','../../config/license/util','redis','localhost','socket.io-emitter','./smsInteraction.socket','register','sendStatus','status','json','offset','limit','undefined','count','set','Content-Range','apply','reject','save','update','then','destroy','end','error','name','send','map','fullname','Tags','TagIds','split','forEach','catch'];(function(_0x5e5a7e,_0x1d6d8b){var _0x8c7128=function(_0x1fee1b){while(--_0x1fee1b){_0x5e5a7e['push'](_0x5e5a7e['shift']());}};_0x8c7128(++_0x1d6d8b);}(_0x2f76,0x1a5));var _0x62f7=function(_0x3d31bc,_0x398995){_0x3d31bc=_0x3d31bc-0x0;var _0x2293d1=_0x2f76[_0x3d31bc];return _0x2293d1;};'use strict';var emlformat=require(_0x62f7('0x0'));var rimraf=require(_0x62f7('0x1'));var zipdir=require(_0x62f7('0x2'));var jsonpatch=require(_0x62f7('0x3'));var rp=require(_0x62f7('0x4'));var moment=require(_0x62f7('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x62f7('0x6'));var util=require(_0x62f7('0x7'));var path=require('path');var sox=require(_0x62f7('0x8'));var csv=require(_0x62f7('0x9'));var ejs=require(_0x62f7('0xa'));var fs=require('fs');var fs_extra=require(_0x62f7('0xb'));var _=require('lodash');var squel=require(_0x62f7('0xc'));var crypto=require('crypto');var jsforce=require(_0x62f7('0xd'));var deskjs=require(_0x62f7('0xe'));var toCsv=require(_0x62f7('0x9'));var querystring=require(_0x62f7('0xf'));var Papa=require(_0x62f7('0x10'));var Redis=require('ioredis');var authService=require(_0x62f7('0x11'));var qs=require(_0x62f7('0x12'));var as=require(_0x62f7('0x13'));var pdf=require(_0x62f7('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')('api');var utils=require(_0x62f7('0x15'));var config=require(_0x62f7('0x16'));var licenseUtil=require(_0x62f7('0x17'));var db=require('../../mysqldb')['db'];config[_0x62f7('0x18')]=_['defaults'](config[_0x62f7('0x18')],{'host':_0x62f7('0x19'),'port':0x18eb});var socket=require(_0x62f7('0x1a'))(new Redis(config[_0x62f7('0x18')]));require(_0x62f7('0x1b'))[_0x62f7('0x1c')](socket);function respondWithStatusCode(_0x12d0a7,_0x5da7c9){_0x5da7c9=_0x5da7c9||0xcc;return function(_0xf1c32a){if(_0xf1c32a){return _0x12d0a7[_0x62f7('0x1d')](_0x5da7c9);}return _0x12d0a7['status'](_0x5da7c9)['end']();};}function respondWithResult(_0x32890e,_0x2ae923){_0x2ae923=_0x2ae923||0xc8;return function(_0x34bd5f){if(_0x34bd5f){return _0x32890e[_0x62f7('0x1e')](_0x2ae923)[_0x62f7('0x1f')](_0x34bd5f);}};}function respondWithFilteredResult(_0x3faa77,_0x175e53){return function(_0x86620d){if(_0x86620d){var _0x59a9f6=typeof _0x175e53[_0x62f7('0x20')]==='undefined'&&typeof _0x175e53[_0x62f7('0x21')]===_0x62f7('0x22');var _0x536fde=_0x86620d[_0x62f7('0x23')];var _0x41e42e=_0x59a9f6?0x0:_0x175e53['offset'];var _0x15d0ac=_0x59a9f6?_0x86620d['count']:_0x175e53[_0x62f7('0x20')]+_0x175e53[_0x62f7('0x21')];var _0x593a1f;if(_0x15d0ac>=_0x536fde){_0x15d0ac=_0x536fde;_0x593a1f=0xc8;}else{_0x593a1f=0xce;}_0x3faa77['status'](_0x593a1f);return _0x3faa77[_0x62f7('0x24')](_0x62f7('0x25'),_0x41e42e+'-'+_0x15d0ac+'/'+_0x536fde)['json'](_0x86620d);}return null;};}function patchUpdates(_0x15a6b4){return function(_0x2b74c8){try{jsonpatch[_0x62f7('0x26')](_0x2b74c8,_0x15a6b4,!![]);}catch(_0x230831){return BPromise[_0x62f7('0x27')](_0x230831);}return _0x2b74c8[_0x62f7('0x28')]();};}function saveUpdates(_0x40cc49,_0x397c3a){return function(_0x404c49){if(_0x404c49){return _0x404c49[_0x62f7('0x29')](_0x40cc49)[_0x62f7('0x2a')](function(_0x397519){return _0x397519;});}return null;};}function removeEntity(_0x8e29ed,_0xda2835){return function(_0x4a4ac2){if(_0x4a4ac2){return _0x4a4ac2[_0x62f7('0x2b')]()[_0x62f7('0x2a')](function(){_0x8e29ed['status'](0xcc)[_0x62f7('0x2c')]();});}};}function handleEntityNotFound(_0x12c09c,_0x1dbce5){return function(_0x55a51b){if(!_0x55a51b){_0x12c09c[_0x62f7('0x1d')](0x194);}return _0x55a51b;};}function handleError(_0x42433e,_0xc1f5f){_0xc1f5f=_0xc1f5f||0x1f4;return function(_0x3f70f6){logger[_0x62f7('0x2d')](_0x3f70f6['stack']);if(_0x3f70f6['name']){delete _0x3f70f6[_0x62f7('0x2e')];}_0x42433e[_0x62f7('0x1e')](_0xc1f5f)[_0x62f7('0x2f')](_0x3f70f6);};}function getInteractionUsers(_0x5b3cf3,_0x23973a){return new BPromise(function(_0x2538e6,_0x437931){try{if(_0x23973a[_0x5b3cf3['id']]){_0x5b3cf3['Users']=_[_0x62f7('0x30')](_0x23973a[_0x5b3cf3['id']],function(_0x1860f6){return{'id':_0x1860f6['id'],'fullname':_0x1860f6[_0x62f7('0x31')]};});}}catch(_0x4e1178){_0x437931(_0x4e1178);}_0x2538e6(_0x5b3cf3);});}function getInteractionTags(_0x1a9dd3,_0x4a19b3){return new BPromise(function(_0x271c19,_0x7565c4){try{if(_0x1a9dd3['TagIds']){_0x1a9dd3[_0x62f7('0x32')]=[];_0x1a9dd3[_0x62f7('0x33')][_0x62f7('0x34')](',')[_0x62f7('0x35')](function(_0x3bfeff){_0x1a9dd3[_0x62f7('0x32')]['push'](_0x4a19b3[_0x3bfeff]);});}delete _0x1a9dd3['TagIds'];}catch(_0x2e9a0f){_0x7565c4(_0x2e9a0f);}_0x271c19(_0x1a9dd3);});}function updateSmsInteraction(_0x30c98d,_0x1ca1fb,_0x8f2106){return new BPromise(function(_0x5587a5,_0x4a7600){return getInteractionUsers(_0x30c98d,_0x8f2106)[_0x62f7('0x2a')](function(_0x59db23){return getInteractionTags(_0x59db23,_0x1ca1fb);})[_0x62f7('0x2a')](function(_0x3fc417){return getStateInteraction(_0x3fc417);})['then'](function(_0x316e18){_0x5587a5(_0x316e18);})[_0x62f7('0x36')](function(_0x527dff){_0x4a7600(_0x527dff);});});}function getStateInteraction(_0x1ac187){return new BPromise(function(_0x3bb8dd){_0x1ac187[_0x62f7('0x37')]=0x0;_0x1ac187[_0x62f7('0x38')]=0x0;_0x1ac187[_0x62f7('0x39')]=0x0;_0x1ac187[_0x62f7('0x3a')]=0x0;_0x1ac187[_0x62f7('0x3b')]=0x0;if(!_0x1ac187[_0x62f7('0x3c')]&&!_0x1ac187['UserId']){_0x1ac187[_0x62f7('0x37')]+=0x1;}if(!_0x1ac187['closed']&&_0x1ac187['UserId']){_0x1ac187[_0x62f7('0x38')]+=0x1;if(_0x1ac187[_0x62f7('0x37')]){_0x1ac187[_0x62f7('0x37')]-=0x1;}}if(_0x1ac187[_0x62f7('0x3c')]&&_0x1ac187[_0x62f7('0x3d')]){_0x1ac187[_0x62f7('0x39')]+=0x1;if(_0x1ac187['talking']){_0x1ac187[_0x62f7('0x38')]-=0x1;}}if(_0x1ac187[_0x62f7('0x3c')]&&!_0x1ac187[_0x62f7('0x3d')]){_0x1ac187[_0x62f7('0x3a')]+=0x1;if(_0x1ac187[_0x62f7('0x37')]){_0x1ac187[_0x62f7('0x37')]-=0x1;}}_0x1ac187['total']+=0x1;_0x3bb8dd(_0x1ac187);});}exports[_0x62f7('0x3e')]=function(_0x340e76,_0x4805f9){var _0x577c83={},_0x13556d={},_0x151fa3={'count':0x0,'rows':[]};var _0x2d334e=_[_0x62f7('0x30')](db[_0x62f7('0x3f')]['rawAttributes'],function(_0x51a59e){return{'name':_0x51a59e[_0x62f7('0x40')],'type':_0x51a59e[_0x62f7('0x41')][_0x62f7('0x42')]};});_0x13556d[_0x62f7('0x43')]=_['map'](_0x2d334e,_0x62f7('0x2e'));_0x13556d[_0x62f7('0x44')]=_[_0x62f7('0x45')](_0x340e76[_0x62f7('0x44')]);_0x13556d[_0x62f7('0x46')]=_[_0x62f7('0x47')](_0x13556d['model'],_0x13556d[_0x62f7('0x44')]);_0x577c83[_0x62f7('0x48')]=_[_0x62f7('0x47')](_0x13556d[_0x62f7('0x43')],qs[_0x62f7('0x49')](_0x340e76[_0x62f7('0x44')]['fields']));_0x577c83[_0x62f7('0x48')]=_0x577c83[_0x62f7('0x48')]['length']?_0x577c83[_0x62f7('0x48')]:_0x13556d['model'];if(!_0x340e76[_0x62f7('0x44')][_0x62f7('0x4a')](_0x62f7('0x4b'))){_0x577c83['limit']=qs[_0x62f7('0x21')](_0x340e76['query']['limit']);_0x577c83[_0x62f7('0x20')]=qs[_0x62f7('0x20')](_0x340e76[_0x62f7('0x44')][_0x62f7('0x20')]);}_0x577c83[_0x62f7('0x4c')]=qs[_0x62f7('0x4d')](_0x340e76[_0x62f7('0x44')][_0x62f7('0x4d')]);_0x577c83[_0x62f7('0x4e')]=qs['filters'](_[_0x62f7('0x4f')](_0x340e76[_0x62f7('0x44')],_0x13556d[_0x62f7('0x46')]),_0x2d334e);var _0x3a3533=[];var _0x3a1b91=squel['select']()[_0x62f7('0x50')]('id')['field'](_0x62f7('0x2e'))[_0x62f7('0x50')](_0x62f7('0x51'))['from'](_0x62f7('0x52'));var _0xe98595=squel[_0x62f7('0x53')]()[_0x62f7('0x50')](_0x62f7('0x54'))[_0x62f7('0x50')](_0x62f7('0x55'))[_0x62f7('0x50')](_0x62f7('0x56'))[_0x62f7('0x57')]('user_has_sms_interactions','ui')[_0x62f7('0x58')](_0x62f7('0x59'),'u',_0x62f7('0x5a'));var _0x58d8b9=squel[_0x62f7('0x53')]()[_0x62f7('0x57')]('sms_interactions','i')[_0x62f7('0x58')]('cm_contacts','c',_0x62f7('0x5b'))[_0x62f7('0x58')]('users','o','o.id\x20=\x20i.UserId')[_0x62f7('0x58')]('sms_accounts','a',_0x62f7('0x5c'))[_0x62f7('0x58')](_0x62f7('0x5d'),'me',_0x62f7('0x5e'))['left_join']('sms_interaction_has_tags','it',_0x62f7('0x5f'))[_0x62f7('0x58')](_0x62f7('0x52'),'t',_0x62f7('0x60'));var _0xe10095=squel[_0x62f7('0x61')]();var _0x52208f=[];var _0x591c91=squel[_0x62f7('0x61')]();var _0x282793;if(_0x340e76[_0x62f7('0x44')][_0x62f7('0x62')]){_0x282793=as[_0x62f7('0x63')](_0x340e76[_0x62f7('0x44')][_0x62f7('0x62')]);var _0xb1a769=_0x282793[_0x62f7('0x64')];for(var _0x516bd7=0x0;_0x516bd7<_0x282793[_0x62f7('0x65')][_0x62f7('0x66')];_0x516bd7++){var _0x4346c4=_0x282793[_0x62f7('0x65')][_0x516bd7];var _0x296ba4='i';var _0x565a95=_[_0x62f7('0x67')](_0x2d334e,[_0x62f7('0x2e'),_0x4346c4['field']]);if(!_0x565a95){switch(_0x4346c4[_0x62f7('0x50')]){case _0x62f7('0x68'):if(_0x4346c4['value']==0x1){_0x58d8b9['having']('`'+_0x4346c4['field']+_0x62f7('0x69'));}else{_0x58d8b9[_0x62f7('0x6a')]('`'+_0x4346c4[_0x62f7('0x50')]+_0x62f7('0x6b'));}break;case _0x62f7('0x6c'):if(_0x4346c4[_0x62f7('0x6d')]==='$substring'){if(_0x4346c4['value']['split']('\x20')['length']>0x1){_0xe10095[_0xb1a769]('MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0x62f7('0x6e')](_0x4346c4[_0x62f7('0x6f')]),null);}else{var _0x4238dc='%'+_0x4346c4[_0x62f7('0x6f')]+'%';_0xe10095[_0xb1a769](_0x62f7('0x70'),_0x4238dc,_0x4238dc,_0x4238dc);}}else{_0x565a95=_[_0x62f7('0x67')](_0x2d334e,[_0x62f7('0x2e'),_0x62f7('0x71')]);_0x4346c4[_0x62f7('0x50')]=_0x62f7('0x71');_0x169b55=as[_0x62f7('0x72')](_0x296ba4,_0x565a95[_0x62f7('0x41')],_0x4346c4);_0xe10095[_0xb1a769](_0x169b55[_0x62f7('0x73')],_0x169b55['value'][_0x62f7('0x74')],_0x169b55[_0x62f7('0x6f')]['end']);}break;case'Tag':var _0x480b54=_0x4346c4[_0x62f7('0x6f')][_0x62f7('0x34')](',')['map'](function(_0x1a9d04){return Number(_0x1a9d04);});_0x480b54[_0x62f7('0x35')](function(_0x1cf280){_0x591c91['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x1cf280+',%');});_0x52208f=_[_0x62f7('0x75')](_0x52208f,_0x480b54);break;case _0x62f7('0x76'):if(_0x4346c4[_0x62f7('0x6d')]==='$substring'){_0xe10095[_0xb1a769]('CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','%'+_0x4346c4['value']+'%',null);}else{_0x565a95=_['find'](_0x2d334e,[_0x62f7('0x2e'),'UserId']);_0x4346c4[_0x62f7('0x50')]=_0x62f7('0x3d');_0x169b55=as['buildExpression'](_0x296ba4,_0x565a95[_0x62f7('0x41')],_0x4346c4);_0xe10095[_0xb1a769](_0x169b55['text'],_0x169b55[_0x62f7('0x6f')][_0x62f7('0x74')],_0x169b55[_0x62f7('0x6f')][_0x62f7('0x2c')]);}break;case _0x62f7('0x77'):_0x169b55=as['buildExpression']('me',null,_0x4346c4);_0xe10095[_0xb1a769](_0x169b55['text'],_0x169b55[_0x62f7('0x6f')]['start'],_0x169b55[_0x62f7('0x6f')][_0x62f7('0x2c')]);break;}}else{var _0x169b55=as[_0x62f7('0x72')](_0x296ba4,_0x565a95[_0x62f7('0x41')],_0x4346c4);_0xe10095[_0xb1a769](_0x169b55[_0x62f7('0x73')],_0x169b55[_0x62f7('0x6f')]['start'],_0x169b55[_0x62f7('0x6f')][_0x62f7('0x2c')]);}}}else{var _0x228acc=_(_0x340e76[_0x62f7('0x44')])[_0x62f7('0x45')]()['map'](function(_0x13079d){return _[_0x62f7('0x78')](_0x2d334e,[_0x62f7('0x2e'),_0x13079d])?_0x13079d:undefined;})[_0x62f7('0x79')]()['value']();if(!_['isEmpty'](_0x228acc)){_0x228acc[_0x62f7('0x35')](function(_0x49eb55){if(_0x49eb55===_0x62f7('0x7a')){_0x58d8b9[_0x62f7('0x4e')](_0x62f7('0x7b'),[][_0x62f7('0x7c')](_0x340e76[_0x62f7('0x44')][_0x49eb55]));}else if(_0x49eb55==='createdAt'){var _0x466d85=JSON[_0x62f7('0x7d')](_0x340e76['query'][_0x49eb55])[_0x62f7('0x7e')];var _0x56145c=JSON[_0x62f7('0x7d')](_0x340e76[_0x62f7('0x44')][_0x49eb55])[_0x62f7('0x7f')];_0x58d8b9[_0x62f7('0x4e')](_0x62f7('0x80'),_0x466d85,_0x56145c);}else{if(_0x340e76[_0x62f7('0x44')][_0x49eb55]===_0x62f7('0x81')){_0x58d8b9['where']('i.'+_0x49eb55+_0x62f7('0x82'));}else{_0x58d8b9[_0x62f7('0x4e')]('i.'+_0x49eb55+_0x62f7('0x83'),_0x340e76[_0x62f7('0x44')][_0x49eb55]);}}});}if(_0x340e76[_0x62f7('0x44')][_0x62f7('0x84')]){if(_0x340e76[_0x62f7('0x44')][_0x62f7('0x84')]==0x1){_0x58d8b9[_0x62f7('0x6a')](_0x62f7('0x85'));}else{_0x58d8b9['having'](_0x62f7('0x86'));}}if(_0x340e76[_0x62f7('0x44')][_0x62f7('0x87')]){_0x52208f=_['isArray'](_0x340e76[_0x62f7('0x44')]['tag'])?_0x340e76[_0x62f7('0x44')][_0x62f7('0x87')]:new Array(_0x340e76[_0x62f7('0x44')][_0x62f7('0x87')]);_0x52208f[_0x62f7('0x35')](function(_0x6c510f){_0x591c91['or'](_0x62f7('0x88'),'%,'+_0x6c510f+',%');});}if(_0x340e76[_0x62f7('0x44')][_0x62f7('0x89')]){var _0x38d957=_0x340e76[_0x62f7('0x44')][_0x62f7('0x89')][_0x62f7('0x8a')]('\x5c','\x5c\x5c')[_0x62f7('0x8a')](/'/g,'\x27\x27');if(qs[_0x62f7('0x8b')](_0x38d957)){_0xe10095['or'](_0x62f7('0x8c'),_0x38d957+'%')['or'](_0x62f7('0x8d'),_0x38d957+'%');}else{_0xe10095['or']('MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs['getFullTextValue'](_0x38d957))['or'](_0x62f7('0x8e'),_0x38d957+'%');}}}_0x58d8b9['where'](_0xe10095);_0x58d8b9[_0x62f7('0x8f')](_0x62f7('0x90'));var _0x14afb3={'type':db[_0x62f7('0x91')][_0x62f7('0x92')]['SELECT'],'raw':!![]};var _0x54a552=_0x58d8b9['clone']();_0x54a552[_0x62f7('0x50')](_0x62f7('0x90'));_0x54a552[_0x62f7('0x50')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0x62f7('0x68'));if(_0x577c83[_0x62f7('0x4c')]){_0x577c83['order'][_0x62f7('0x35')](function(_0x3e4f37){var _0x2b97bd=_0x3e4f37[0x0]===_0x62f7('0x93')?_0x3e4f37[0x0]:'i.'+_0x3e4f37[0x0];_0x58d8b9[_0x62f7('0x4c')](_0x2b97bd,_0x3e4f37[0x1]===_0x62f7('0x94')?![]:!![]);});}if(!_[_0x62f7('0x95')](_0x52208f)){_0x58d8b9[_0x62f7('0x6a')](_0x591c91);_0x54a552['where'](_0x62f7('0x96'),_0x52208f);}BPromise[_0x62f7('0x97')]()[_0x62f7('0x2a')](function(){if(!_0x282793){if(_0x340e76[_0x62f7('0x44')][_0x62f7('0x7a')])return;_0x54a552[_0x62f7('0x4e')](_0x62f7('0x98'));_0x58d8b9[_0x62f7('0x4e')](_0x62f7('0x98'));return;}if(_0x340e76[_0x62f7('0x99')][_0x62f7('0x9a')]!==_0x62f7('0x9b'))return;return _0x340e76['user']['getSmsAccounts']({'attributes':['id'],'raw':!![]})[_0x62f7('0x2a')](function(_0x15cdd4){if(_['isEmpty'](_0x15cdd4)){_0x54a552['where']('i.SmsAccountId\x20IS\x20NULL');_0x58d8b9[_0x62f7('0x4e')](_0x62f7('0x9c'));}else{_0x54a552[_0x62f7('0x4e')](_0x62f7('0x7b'),_[_0x62f7('0x30')](_0x15cdd4,'id'));_0x58d8b9[_0x62f7('0x4e')](_0x62f7('0x7b'),_['map'](_0x15cdd4,'id'));}});})[_0x62f7('0x2a')](function(){if(_0x340e76['user'][_0x62f7('0x9a')]==='agent'&&!_0x282793&&!_0x340e76[_0x62f7('0x44')][_0x62f7('0x7a')])return[];return db[_0x62f7('0x9d')][_0x62f7('0x44')](_0x54a552[_0x62f7('0x9e')](),_0x14afb3);})['then'](function(_0x4ea3e6){_0x151fa3[_0x62f7('0x23')]=_0x4ea3e6[_0x62f7('0x66')];if(_0x151fa3['count']===0x0)return[];return db[_0x62f7('0x9d')][_0x62f7('0x44')](_0x3a1b91['toString'](),_0x14afb3)['then'](function(_0x3afb8b){_0x3a3533=_[_0x62f7('0x9f')](_0x3afb8b,'id');_0x14afb3=_[_0x62f7('0xa0')](_0x14afb3,{'model':db[_0x62f7('0x3f')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x340e76[_0x62f7('0x44')][_0x62f7('0x49')]){_0x577c83[_0x62f7('0x48')][_0x62f7('0x35')](function(_0x383f5d){_0x58d8b9[_0x62f7('0x50')]('i.'+_0x383f5d);});}else{_0x58d8b9[_0x62f7('0x50')](_0x62f7('0xa1'),_0x62f7('0x68'));_0x58d8b9['field']('a.key','Account.key');_0x58d8b9[_0x62f7('0x50')](_0x62f7('0xa2'),_0x62f7('0xa3'));_0x58d8b9['field'](_0x62f7('0xa4'),_0x62f7('0x93'));_0x58d8b9['field'](_0x62f7('0xa5'));_0x58d8b9[_0x62f7('0x50')](_0x62f7('0xa6'),_0x62f7('0xa7'));_0x58d8b9['field'](_0x62f7('0xa8'),'Contact.lastName');_0x58d8b9[_0x62f7('0x50')](_0x62f7('0xa9'),'Contact.email');_0x58d8b9[_0x62f7('0x50')]('c.phone',_0x62f7('0xaa'));_0x58d8b9['field'](_0x62f7('0xab'),_0x62f7('0xac'));_0x58d8b9[_0x62f7('0x50')](_0x62f7('0xad'),_0x62f7('0xae'));_0x58d8b9[_0x62f7('0x50')](_0x62f7('0xaf'),'Owner.fullname');_0x58d8b9['field']('o.internal',_0x62f7('0xb0'));_0x58d8b9['field'](_0x62f7('0xb1'),_0x62f7('0x33'));}if(_0x577c83[_0x62f7('0x21')])_0x58d8b9[_0x62f7('0x21')](_0x577c83[_0x62f7('0x21')]);if(_0x577c83[_0x62f7('0x20')])_0x58d8b9[_0x62f7('0x20')](_0x577c83['offset']);return db['sequelize'][_0x62f7('0x44')](_0x58d8b9[_0x62f7('0x9e')](),_0x14afb3);})[_0x62f7('0x2a')](function(_0x4f8de9){if(_0x4f8de9[_0x62f7('0x66')]>0x0)_0xe98595[_0x62f7('0x4e')](_0x62f7('0xb2'),_[_0x62f7('0x30')](_0x4f8de9,'id'));return db[_0x62f7('0x9d')]['query'](_0xe98595[_0x62f7('0x9e')](),_0x14afb3)[_0x62f7('0x2a')](function(_0x36a65a){var _0x4166e2=_['groupBy'](_0x36a65a,_0x62f7('0xb3'));var _0x554f62=[];_0x4f8de9[_0x62f7('0x35')](function(_0x3301b8){_0x554f62[_0x62f7('0xb4')](updateSmsInteraction(_0x3301b8,_0x3a3533,_0x4166e2));});return BPromise[_0x62f7('0xb5')](_0x554f62);});});})[_0x62f7('0x2a')](function(_0xb68b53){_0x151fa3[_0x62f7('0xb6')]=_0xb68b53;return _0x151fa3;})[_0x62f7('0x2a')](respondWithFilteredResult(_0x4805f9,_0x577c83))[_0x62f7('0x36')](handleError(_0x4805f9,null));};exports[_0x62f7('0xb7')]=function(_0x123249,_0x1fc928){var _0x481584={'raw':![],'where':{'id':_0x123249[_0x62f7('0xb8')]['id']}},_0x21b77e={};_0x21b77e['model']=_[_0x62f7('0x45')](db[_0x62f7('0x3f')][_0x62f7('0xb9')]);_0x21b77e[_0x62f7('0x44')]=_[_0x62f7('0x45')](_0x123249['query']);_0x21b77e[_0x62f7('0x46')]=_['intersection'](_0x21b77e[_0x62f7('0x43')],_0x21b77e[_0x62f7('0x44')]);_0x481584[_0x62f7('0x48')]=_[_0x62f7('0x47')](_0x21b77e[_0x62f7('0x43')],qs['fields'](_0x123249[_0x62f7('0x44')][_0x62f7('0x49')]));_0x481584['attributes']=_0x481584[_0x62f7('0x48')][_0x62f7('0x66')]?_0x481584[_0x62f7('0x48')]:_0x21b77e[_0x62f7('0x43')];if(_0x123249[_0x62f7('0x44')][_0x62f7('0xba')]){_0x481584['include']=[{'all':!![]}];}_0x481584=_[_0x62f7('0xa0')]({},_0x481584,_0x123249['options']);return db[_0x62f7('0x3f')][_0x62f7('0x67')](_0x481584)[_0x62f7('0x2a')](handleEntityNotFound(_0x1fc928,null))['then'](respondWithResult(_0x1fc928,null))['catch'](handleError(_0x1fc928,null));};exports[_0x62f7('0xbb')]=function(_0x531a6c,_0x5a3837){return db[_0x62f7('0x3f')][_0x62f7('0xbb')](_0x531a6c[_0x62f7('0x77')],{})['then'](respondWithResult(_0x5a3837,0xc9))[_0x62f7('0x36')](handleError(_0x5a3837,null));};exports[_0x62f7('0x29')]=function(_0x2dbdab,_0x337d10){if(_0x2dbdab['body']['id']){delete _0x2dbdab[_0x62f7('0x77')]['id'];}return db['SmsInteraction'][_0x62f7('0x67')]({'where':{'id':_0x2dbdab['params']['id']}})['then'](handleEntityNotFound(_0x337d10,null))[_0x62f7('0x2a')](saveUpdates(_0x2dbdab[_0x62f7('0x77')],null))[_0x62f7('0x2a')](respondWithResult(_0x337d10,null))['catch'](handleError(_0x337d10,null));};exports[_0x62f7('0x2b')]=function(_0xd3be70,_0x38013d){return db['SmsInteraction'][_0x62f7('0x67')]({'where':{'id':_0xd3be70[_0x62f7('0xb8')]['id']}})[_0x62f7('0x2a')](handleEntityNotFound(_0x38013d,null))[_0x62f7('0x2a')](removeEntity(_0x38013d,null))[_0x62f7('0x36')](handleError(_0x38013d,null));};exports[_0x62f7('0xbc')]=function(_0x1bf68f,_0x8bc825){return db[_0x62f7('0x3f')]['describe']()[_0x62f7('0x2a')](respondWithResult(_0x8bc825,null))['catch'](handleError(_0x8bc825,null));};exports['addMessage']=function(_0x256397,_0x51246d,_0x580d51){return db[_0x62f7('0xbd')][_0x62f7('0x67')]({'where':{'id':_0x256397['params']['id']}})[_0x62f7('0x2a')](handleEntityNotFound(_0x51246d,null))[_0x62f7('0x2a')](function(_0x1dd4cb){if(_0x1dd4cb){return _0x1dd4cb[_0x62f7('0xbe')](_0x256397[_0x62f7('0x77')]['ids'],_[_0x62f7('0xbf')](_0x256397[_0x62f7('0x77')],[_0x62f7('0xc0'),'id'])||{});}})['then'](respondWithResult(_0x51246d,null))['catch'](handleError(_0x51246d,null));};exports[_0x62f7('0xc1')]=function(_0x2eec21,_0x2acf42,_0xa0009d){var _0x1f9577={'raw':![],'where':{}};var _0x5e5913={};var _0x5242ec={'count':0x0,'rows':[]};return db['SmsInteraction'][_0x62f7('0xc2')]({'where':{'id':_0x2eec21['params']['id']}})[_0x62f7('0x2a')](handleEntityNotFound(_0x2acf42,null))['then'](function(_0x39691f){if(_0x39691f){_0x5e5913[_0x62f7('0x43')]=_[_0x62f7('0x45')](db[_0x62f7('0xbd')][_0x62f7('0xb9')]);_0x5e5913[_0x62f7('0x44')]=_['keys'](_0x2eec21['query']);_0x5e5913[_0x62f7('0x46')]=_[_0x62f7('0x47')](_0x5e5913[_0x62f7('0x43')],_0x5e5913[_0x62f7('0x44')]);_0x1f9577[_0x62f7('0x48')]=_[_0x62f7('0x47')](_0x5e5913[_0x62f7('0x43')],qs[_0x62f7('0x49')](_0x2eec21[_0x62f7('0x44')][_0x62f7('0x49')]));_0x1f9577[_0x62f7('0x48')]=_0x1f9577[_0x62f7('0x48')][_0x62f7('0x66')]?_0x1f9577[_0x62f7('0x48')]:_0x5e5913['model'];if(!_0x2eec21[_0x62f7('0x44')][_0x62f7('0x4a')](_0x62f7('0x4b'))){_0x1f9577['limit']=qs[_0x62f7('0x21')](_0x2eec21['query'][_0x62f7('0x21')]);_0x1f9577[_0x62f7('0x20')]=qs[_0x62f7('0x20')](_0x2eec21['query'][_0x62f7('0x20')]);}_0x1f9577[_0x62f7('0x4c')]=qs[_0x62f7('0x4d')](_0x2eec21[_0x62f7('0x44')][_0x62f7('0x4d')]);_0x1f9577['where']=qs[_0x62f7('0x46')](_['pick'](_0x2eec21[_0x62f7('0x44')],_0x5e5913[_0x62f7('0x46')]));_0x1f9577[_0x62f7('0x4e')][_0x62f7('0xb3')]=_0x39691f['id'];if(_0x2eec21[_0x62f7('0x44')]['filter']){_0x1f9577[_0x62f7('0x4e')]=_[_0x62f7('0xa0')](_0x1f9577['where'],{'$or':_[_0x62f7('0x30')](_0x1f9577['attributes'],function(_0x2065a0){var _0x1f698a={};_0x1f698a[_0x2065a0]={'$like':'%'+_0x2eec21[_0x62f7('0x44')]['filter']+'%'};return _0x1f698a;})});}if(_0x2eec21[_0x62f7('0x44')][_0x62f7('0x7e')]){var _0x1cfa4e=_0x2eec21[_0x62f7('0x44')][_0x62f7('0x7e')]['split'](',');var _0x143e20={};_0x143e20[_0x1cfa4e[0x0]]={'$gte':moment(_0x1cfa4e[0x1])[_0x62f7('0xc3')]('YYYY-MM-DD\x20HH:mm:ss')};_0x1f9577[_0x62f7('0x4e')]=_[_0x62f7('0xa0')](_0x1f9577[_0x62f7('0x4e')],_0x143e20);}_0x1f9577=_[_0x62f7('0xa0')]({},_0x1f9577,_0x2eec21['options']);return db[_0x62f7('0xbd')][_0x62f7('0x23')]({'where':_0x1f9577[_0x62f7('0x4e')]})[_0x62f7('0x2a')](function(_0x58574b){_0x5242ec[_0x62f7('0x23')]=_0x58574b;if(_0x2eec21['query'][_0x62f7('0xba')]){_0x1f9577['include']=[{'all':!![]}];}return db[_0x62f7('0xbd')]['findAll'](_0x1f9577);})[_0x62f7('0x2a')](function(_0x4e8702){_0x5242ec['rows']=_0x4e8702;return _0x5242ec;});}})[_0x62f7('0x2a')](respondWithFilteredResult(_0x2acf42,_0x1f9577))[_0x62f7('0x36')](handleError(_0x2acf42,null));};exports[_0x62f7('0xc4')]=function(_0x105044,_0x16ab0b,_0x1238b9){return db[_0x62f7('0x3f')][_0x62f7('0x67')]({'where':{'id':_0x105044[_0x62f7('0xb8')]['id']}})['then'](handleEntityNotFound(_0x16ab0b,null))[_0x62f7('0x2a')](function(_0x5c9263){if(_0x5c9263){return _0x5c9263['setTags'](_0x105044[_0x62f7('0x77')][_0x62f7('0xc0')],_[_0x62f7('0xbf')](_0x105044['body'],[_0x62f7('0xc0'),'id'])||{})[_0x62f7('0xc5')](function(){return db[_0x62f7('0xc6')][_0x62f7('0xc7')]({'attributes':['id',_0x62f7('0x2e'),_0x62f7('0x51')],'where':{'id':_0x105044[_0x62f7('0x77')][_0x62f7('0xc0')]}});})[_0x62f7('0x2a')](function(_0x4dc49a){socket[_0x62f7('0xc8')](_0x62f7('0xc9'),{'id':Number(_0x105044['params']['id']),'tags':_0x4dc49a||[]});return{'id':Number(_0x105044[_0x62f7('0xb8')]['id']),'tags':_0x4dc49a||[]};});}})[_0x62f7('0x2a')](respondWithResult(_0x16ab0b,null))[_0x62f7('0x36')](handleError(_0x16ab0b,null));};exports[_0x62f7('0xca')]=function(_0x9dfa0e,_0x512b0b,_0xc14918){return db['SmsInteraction']['find']({'where':{'id':_0x9dfa0e[_0x62f7('0xb8')]['id']}})[_0x62f7('0x2a')](handleEntityNotFound(_0x512b0b,null))[_0x62f7('0x2a')](function(_0x1adb27){if(_0x1adb27){return _0x1adb27[_0x62f7('0xca')](_0x9dfa0e[_0x62f7('0x44')][_0x62f7('0xc0')]);}})[_0x62f7('0x2a')](respondWithStatusCode(_0x512b0b,null))[_0x62f7('0x36')](handleError(_0x512b0b,null));};exports[_0x62f7('0xcb')]=function(_0x37def7,_0x6a3780){var _0x51527f=moment()[_0x62f7('0xcc')]()[_0x62f7('0x9e')]();var _0x2a004f=path[_0x62f7('0xcd')](config[_0x62f7('0xce')],_0x62f7('0xcf'),_0x62f7('0xd0'),_0x62f7('0xd1'));var _0x142e20=path[_0x62f7('0xcd')](config[_0x62f7('0xce')],_0x62f7('0xcf'),_0x62f7('0xd0'),_0x62f7('0xd2'));var _0x7dc52b=path[_0x62f7('0xcd')](_0x2a004f,_0x51527f);var _0x27401d=util[_0x62f7('0xc3')](_0x62f7('0xd3'),_0x37def7[_0x62f7('0xb8')]['id'],_0x51527f);var _0x486c42=path[_0x62f7('0xcd')](_0x2a004f,_0x27401d);var _0xd78080=[];_0xd78080[_0x62f7('0xb4')]({'model':db[_0x62f7('0x76')],'as':'User','attributes':['id',_0x62f7('0x31')],'raw':!![]});_0xd78080[_0x62f7('0xb4')]({'model':db['CmContact'],'as':_0x62f7('0x6c'),'attributes':['id',_0x62f7('0xd4'),_0x62f7('0xd5')],'raw':!![]});var _0x494df8=[{'model':db[_0x62f7('0xbd')],'as':_0x62f7('0xd6'),'attributes':['id',_0x62f7('0x77'),'createdAt','direction',_0x62f7('0xd7'),'read'],'include':_0xd78080}];_0x494df8[_0x62f7('0xb4')]({'model':db[_0x62f7('0xd8')],'as':_0x62f7('0xd9'),'attributes':['id',_0x62f7('0x2e')]});_0x494df8['push']({'model':db['User'],'as':'Owner','attributes':['id',_0x62f7('0x31')]});return db['SmsInteraction'][_0x62f7('0x67')]({'where':{'id':_0x37def7['params']['id']},'include':_0x494df8})[_0x62f7('0x2a')](handleEntityNotFound(_0x6a3780,null))[_0x62f7('0x2a')](function(_0x1e9b93){if(_0x1e9b93){var _0x7cefff=_0x1e9b93[_0x62f7('0xda')]({'plain':!![]});fs[_0x62f7('0xdb')](_0x7dc52b);var _0x5b0e20={'channel':'Sms','account':_0x7cefff[_0x62f7('0xd9')][_0x62f7('0x2e')],'agent':_0x7cefff['Owner']?_0x7cefff[_0x62f7('0xdc')][_0x62f7('0x31')]:_0x62f7('0xdd'),'createdAt':moment(_0x7cefff['createdAt'])['format'](_0x62f7('0xde'))[_0x62f7('0x9e')](),'closedAt':_0x7cefff[_0x62f7('0x3c')]?moment(_0x7cefff[_0x62f7('0xdf')])[_0x62f7('0xc3')]('YYYY-MM-DD\x20HH:mm:ss')['toString']():'','disposition':_0x7cefff[_0x62f7('0xe0')],'messages':_(_0x7cefff[_0x62f7('0xd6')])[_0x62f7('0x89')]({'secret':![]})['map'](function(_0x17fef4){return{'date':moment(_0x17fef4[_0x62f7('0xe1')])[_0x62f7('0xc3')](_0x62f7('0xde'))[_0x62f7('0x9e')](),'sender':_0x17fef4['direction']===_0x62f7('0xe2')?_0x17fef4[_0x62f7('0x76')]?_0x17fef4[_0x62f7('0x76')]['fullname']:_0x62f7('0xe3'):_0x17fef4['Contact']['firstName']+(_0x17fef4['Contact']['lastName']?'\x20'+_0x17fef4[_0x62f7('0x6c')][_0x62f7('0xd5')]:''),'body':_0x17fef4[_0x62f7('0x77')],'direction':_0x17fef4[_0x62f7('0xe4')]===_0x62f7('0xe2')?'A':'C','secret':_0x17fef4[_0x62f7('0xd7')],'read':_0x17fef4[_0x62f7('0x84')]};})['value']()};return ejs[_0x62f7('0xe5')](path[_0x62f7('0xcd')](config[_0x62f7('0xce')],_0x62f7('0xcf'),_0x62f7('0xe6'),_0x62f7('0xe7')),{'interaction':_0x5b0e20})[_0x62f7('0x2a')](function(_0x2ce4ec){var _0x3ef1dd=path[_0x62f7('0xcd')](_0x7dc52b,_0x62f7('0xe8')+_0x7cefff['id']+'-'+_0x51527f+_0x62f7('0xe9'));var _0x26bb11={'path':_0x3ef1dd,'channel':_0x62f7('0xea'),'interactionId':_0x7cefff['id']};return pdf[_0x62f7('0xeb')](_0x2ce4ec,_0x26bb11);})[_0x62f7('0x2a')](function(){return new BPromise(function(_0x41b1cd,_0x17d024){zipdir(_0x7dc52b,{'saveTo':_0x486c42},function(_0x1becfa,_0x13f2b6){if(_0x1becfa)return _0x17d024(_0x1becfa);return _0x41b1cd(_0x13f2b6);});})['then'](function(){return new BPromise(function(_0x3f2413,_0x1e2a33){rimraf(_0x7dc52b,function(_0x1b9f3c){if(_0x1b9f3c)_0x1e2a33(_0x1b9f3c);return _0x3f2413();});});})[_0x62f7('0x2a')](function(){return _0x6a3780[_0x62f7('0xcb')](_0x486c42,_0x27401d,function(_0x5dbb60){if(_0x5dbb60){console['log'](_0x62f7('0xec'),_0x5dbb60);}else{fs[_0x62f7('0xed')](_0x486c42);}});});});}else{return _0x6a3780['sendStatus'](0xc8);}})['catch'](handleError(_0x6a3780,null));};