df7920821ecb801aba4cd44746dde178c9be8888
[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 _0x9fcb=['findOne','YYYY-MM-DD\x20HH:mm:ss','options','findAll','setTags','emit','smsInteractionTags:save','removeTags','download','unix','root','server','files','tmp','join','attachments','format','transcript-%d-%s.zip','firstName','Messages','direction','secret','SmsAccount','Account','Owner','get','mkdirSync','10px','40px','<div\x20class=\x22header\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<h5>Interaction\x20Transcript</h5>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>','<hr\x20class=\x22separator\x22/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22footer\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22left\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>%s</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22center\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>{{page}}/{{pages}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22right\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>%s</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>','%s\x20#%d','YYYY-MM-DD','N.A.','closedAt','disposition','out','System','lastName','renderFile','views','toFile','transcript-','log','err','unlinkSync','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','lodash','crypto','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','defaults','redis','socket.io-emitter','./smsInteraction.socket','register','sendStatus','status','end','json','count','offset','set','Content-Range','apply','reject','update','then','destroy','error','stack','name','send','fullname','TagIds','forEach','Tags','push','index','rawAttributes','fieldName','type','key','model','map','keys','query','filters','intersection','attributes','fields','length','nolimit','limit','order','sort','where','pick','field','color','from','select','u.fullname','ui.SmsInteractionId','left_join','sms_interactions','cm_contacts','o.id\x20=\x20i.UserId','sms_accounts','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','find','unreadMessages','having','`\x20=\x200','`\x20>\x200','Contact','operator','$substring','value','split','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','ContactId','buildExpression','text','start','Tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','UserId','body','some','isEmpty','SmsAccountId','concat','createdAt','parse','null','\x20=\x20?','read','`unreadMessages`\x20>\x200','tag','isArray','filter','replace','\x27\x27\x27\x27','isNumeric','i.id\x20LIKE\x20?','i.phone\x20LIKE\x20?','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','QueryTypes','SELECT','clone','i.id','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','DESC','i.SmsAccountId\x20IS\x20NOT\x20NULL','i.SmsAccountId\x20IS\x20NULL','i.SmsAccountId\x20IN\x20?','sequelize','toString','keyBy','merge','SmsInteraction','a.key','Account.key','a.mandatoryDisposition','i.*','Contact.firstName','c.lastName','Contact.lastName','c.email','Contact.phone','c.mobile','Contact.mobile','c.fax','Contact.fax','o.fullname','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','groupBy','all','rows','catch','show','params','includeAll','include','create','SmsMessage','addMessage','omit','ids','getMessages'];(function(_0x4dbd77,_0xbe078){var _0x32df9c=function(_0x151fb3){while(--_0x151fb3){_0x4dbd77['push'](_0x4dbd77['shift']());}};_0x32df9c(++_0xbe078);}(_0x9fcb,0x1f2));var _0xb9fc=function(_0xf8c022,_0x5f10c4){_0xf8c022=_0xf8c022-0x0;var _0x2aab7b=_0x9fcb[_0xf8c022];return _0x2aab7b;};'use strict';var pdf=require(_0xb9fc('0x0'));var emlformat=require(_0xb9fc('0x1'));var rimraf=require(_0xb9fc('0x2'));var zipdir=require(_0xb9fc('0x3'));var jsonpatch=require(_0xb9fc('0x4'));var rp=require('request-promise');var moment=require(_0xb9fc('0x5'));var BPromise=require(_0xb9fc('0x6'));var Mustache=require(_0xb9fc('0x7'));var util=require(_0xb9fc('0x8'));var path=require(_0xb9fc('0x9'));var sox=require(_0xb9fc('0xa'));var csv=require(_0xb9fc('0xb'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xb9fc('0xc'));var squel=require('squel');var crypto=require(_0xb9fc('0xd'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0xb9fc('0xb'));var querystring=require(_0xb9fc('0xe'));var Papa=require(_0xb9fc('0xf'));var Redis=require(_0xb9fc('0x10'));var authService=require(_0xb9fc('0x11'));var qs=require(_0xb9fc('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xb9fc('0x13'));var logger=require(_0xb9fc('0x14'))(_0xb9fc('0x15'));var utils=require(_0xb9fc('0x16'));var config=require(_0xb9fc('0x17'));var licenseUtil=require(_0xb9fc('0x18'));var db=require(_0xb9fc('0x19'))['db'];config['redis']=_[_0xb9fc('0x1a')](config[_0xb9fc('0x1b')],{'host':'localhost','port':0x18eb});var socket=require(_0xb9fc('0x1c'))(new Redis(config['redis']));require(_0xb9fc('0x1d'))[_0xb9fc('0x1e')](socket);function respondWithStatusCode(_0x27aa74,_0x369a60){_0x369a60=_0x369a60||0xcc;return function(_0x7b9c70){if(_0x7b9c70){return _0x27aa74[_0xb9fc('0x1f')](_0x369a60);}return _0x27aa74[_0xb9fc('0x20')](_0x369a60)[_0xb9fc('0x21')]();};}function respondWithResult(_0x5a0d46,_0x45ac8f){_0x45ac8f=_0x45ac8f||0xc8;return function(_0x39e9d1){if(_0x39e9d1){return _0x5a0d46[_0xb9fc('0x20')](_0x45ac8f)[_0xb9fc('0x22')](_0x39e9d1);}};}function respondWithFilteredResult(_0x2d8597,_0x364d75){return function(_0x2b1a5e){if(_0x2b1a5e){var _0x52e63e=_0x2b1a5e[_0xb9fc('0x23')],_0x5caa99=_0x364d75['offset'],_0x180295=_0x364d75[_0xb9fc('0x24')]+_0x364d75['limit'],_0x2ec415;if(_0x180295>=_0x52e63e){_0x180295=_0x52e63e;_0x2ec415=0xc8;}else{_0x2ec415=0xce;}_0x2d8597[_0xb9fc('0x20')](_0x2ec415);return _0x2d8597[_0xb9fc('0x25')](_0xb9fc('0x26'),_0x5caa99+'-'+_0x180295+'/'+_0x52e63e)['json'](_0x2b1a5e);}return null;};}function patchUpdates(_0x2d7897){return function(_0x589164){try{jsonpatch[_0xb9fc('0x27')](_0x589164,_0x2d7897,!![]);}catch(_0x478bee){return BPromise[_0xb9fc('0x28')](_0x478bee);}return _0x589164['save']();};}function saveUpdates(_0xdca5f,_0x5cc57c){return function(_0x5c8089){if(_0x5c8089){return _0x5c8089[_0xb9fc('0x29')](_0xdca5f)[_0xb9fc('0x2a')](function(_0x286c34){return _0x286c34;});}return null;};}function removeEntity(_0x29c60e,_0x1697e2){return function(_0x30b63d){if(_0x30b63d){return _0x30b63d[_0xb9fc('0x2b')]()[_0xb9fc('0x2a')](function(){_0x29c60e['status'](0xcc)[_0xb9fc('0x21')]();});}};}function handleEntityNotFound(_0x27789f,_0x20fa3e){return function(_0x5dd2e0){if(!_0x5dd2e0){_0x27789f['sendStatus'](0x194);}return _0x5dd2e0;};}function handleError(_0x1e341c,_0x446088){_0x446088=_0x446088||0x1f4;return function(_0x560845){logger[_0xb9fc('0x2c')](_0x560845[_0xb9fc('0x2d')]);if(_0x560845[_0xb9fc('0x2e')]){delete _0x560845[_0xb9fc('0x2e')];}_0x1e341c[_0xb9fc('0x20')](_0x446088)[_0xb9fc('0x2f')](_0x560845);};}function getInteractionUsers(_0x374172,_0x27f703){return new BPromise(function(_0x995618,_0x757e0c){try{if(_0x27f703[_0x374172['id']]){_0x374172['Users']=_['map'](_0x27f703[_0x374172['id']],function(_0x85e387){return{'id':_0x85e387['id'],'fullname':_0x85e387[_0xb9fc('0x30')]};});}}catch(_0x3b6e0e){_0x757e0c(_0x3b6e0e);}_0x995618(_0x374172);});}function getInteractionTags(_0x26f9e3,_0x5de04c){return new BPromise(function(_0x2f0638,_0x25ff7b){try{if(_0x26f9e3[_0xb9fc('0x31')]){_0x26f9e3['Tags']=[];_0x26f9e3[_0xb9fc('0x31')]['split'](',')[_0xb9fc('0x32')](function(_0x1478f9){_0x26f9e3[_0xb9fc('0x33')][_0xb9fc('0x34')](_0x5de04c[_0x1478f9]);});}delete _0x26f9e3[_0xb9fc('0x31')];}catch(_0x3fb153){_0x25ff7b(_0x3fb153);}_0x2f0638(_0x26f9e3);});}function updateSmsInteraction(_0x35361b,_0x5b63be,_0x5abad5){return new BPromise(function(_0x4d7956,_0x5a98f7){return getInteractionUsers(_0x35361b,_0x5abad5)[_0xb9fc('0x2a')](function(_0x55643a){return getInteractionTags(_0x55643a,_0x5b63be);})[_0xb9fc('0x2a')](function(_0x5ddd99){_0x4d7956(_0x5ddd99);})['catch'](function(_0x49e2ad){_0x5a98f7(_0x49e2ad);});});}exports[_0xb9fc('0x35')]=function(_0x462521,_0x569184){var _0x473a31={},_0x4f388c={},_0x5da2e4={'count':0x0,'rows':[]};var _0x10989e=_['map'](db['SmsInteraction'][_0xb9fc('0x36')],function(_0x74630f){return{'name':_0x74630f[_0xb9fc('0x37')],'type':_0x74630f[_0xb9fc('0x38')][_0xb9fc('0x39')]};});_0x4f388c[_0xb9fc('0x3a')]=_[_0xb9fc('0x3b')](_0x10989e,'name');_0x4f388c['query']=_[_0xb9fc('0x3c')](_0x462521[_0xb9fc('0x3d')]);_0x4f388c[_0xb9fc('0x3e')]=_[_0xb9fc('0x3f')](_0x4f388c[_0xb9fc('0x3a')],_0x4f388c[_0xb9fc('0x3d')]);_0x473a31[_0xb9fc('0x40')]=_['intersection'](_0x4f388c[_0xb9fc('0x3a')],qs[_0xb9fc('0x41')](_0x462521[_0xb9fc('0x3d')][_0xb9fc('0x41')]));_0x473a31[_0xb9fc('0x40')]=_0x473a31[_0xb9fc('0x40')][_0xb9fc('0x42')]?_0x473a31[_0xb9fc('0x40')]:_0x4f388c[_0xb9fc('0x3a')];if(!_0x462521[_0xb9fc('0x3d')]['hasOwnProperty'](_0xb9fc('0x43'))){_0x473a31[_0xb9fc('0x44')]=qs[_0xb9fc('0x44')](_0x462521['query'][_0xb9fc('0x44')]);_0x473a31[_0xb9fc('0x24')]=qs[_0xb9fc('0x24')](_0x462521[_0xb9fc('0x3d')][_0xb9fc('0x24')]);}_0x473a31[_0xb9fc('0x45')]=qs[_0xb9fc('0x46')](_0x462521[_0xb9fc('0x3d')][_0xb9fc('0x46')]);_0x473a31[_0xb9fc('0x47')]=qs[_0xb9fc('0x3e')](_[_0xb9fc('0x48')](_0x462521[_0xb9fc('0x3d')],_0x4f388c['filters']),_0x10989e);var _0x45d212=[];var _0x4c749c=squel['select']()['field']('id')[_0xb9fc('0x49')](_0xb9fc('0x2e'))[_0xb9fc('0x49')](_0xb9fc('0x4a'))[_0xb9fc('0x4b')]('tools_tags');var _0x4306e0=squel[_0xb9fc('0x4c')]()['field']('u.id')[_0xb9fc('0x49')](_0xb9fc('0x4d'))[_0xb9fc('0x49')](_0xb9fc('0x4e'))[_0xb9fc('0x4b')]('user_has_sms_interactions','ui')[_0xb9fc('0x4f')]('users','u','u.id\x20=\x20ui.UserId');var _0x149ca3=squel[_0xb9fc('0x4c')]()[_0xb9fc('0x4b')](_0xb9fc('0x50'),'i')[_0xb9fc('0x4f')](_0xb9fc('0x51'),'c','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL')[_0xb9fc('0x4f')]('users','o',_0xb9fc('0x52'))['left_join'](_0xb9fc('0x53'),'a',_0xb9fc('0x54'))[_0xb9fc('0x4f')](_0xb9fc('0x55'),'me',_0xb9fc('0x56'))[_0xb9fc('0x4f')]('sms_interaction_has_tags','it',_0xb9fc('0x57'))[_0xb9fc('0x4f')]('tools_tags','t',_0xb9fc('0x58'));var _0x2e1295=squel[_0xb9fc('0x59')]();var _0x41cde6=[];var _0x2d4616=squel['expr']();var _0x548d49;if(_0x462521[_0xb9fc('0x3d')][_0xb9fc('0x5a')]){_0x548d49=as[_0xb9fc('0x5b')](_0x462521['query'][_0xb9fc('0x5a')]);var _0x5a0f4c=_0x548d49[_0xb9fc('0x5c')];for(var _0x4009d0=0x0;_0x4009d0<_0x548d49[_0xb9fc('0x5d')]['length'];_0x4009d0++){var _0xd9d7a4=_0x548d49[_0xb9fc('0x5d')][_0x4009d0];var _0xc7eb5c='i';var _0x1e6063=_[_0xb9fc('0x5e')](_0x10989e,['name',_0xd9d7a4[_0xb9fc('0x49')]]);if(!_0x1e6063){switch(_0xd9d7a4[_0xb9fc('0x49')]){case _0xb9fc('0x5f'):if(_0xd9d7a4['value']==0x1){_0x149ca3[_0xb9fc('0x60')]('`'+_0xd9d7a4[_0xb9fc('0x49')]+_0xb9fc('0x61'));}else{_0x149ca3[_0xb9fc('0x60')]('`'+_0xd9d7a4['field']+_0xb9fc('0x62'));}break;case _0xb9fc('0x63'):if(_0xd9d7a4[_0xb9fc('0x64')]===_0xb9fc('0x65')){if(_0xd9d7a4[_0xb9fc('0x66')][_0xb9fc('0x67')]('\x20')[_0xb9fc('0x42')]>0x1){_0x2e1295[_0x5a0f4c](_0xb9fc('0x68'),qs[_0xb9fc('0x69')](_0xd9d7a4[_0xb9fc('0x66')]),null);}else{var _0x31ad02='%'+_0xd9d7a4[_0xb9fc('0x66')]+'%';_0x2e1295[_0x5a0f4c]('c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?',_0x31ad02,_0x31ad02,_0x31ad02);}}else{_0x1e6063=_[_0xb9fc('0x5e')](_0x10989e,[_0xb9fc('0x2e'),'ContactId']);_0xd9d7a4['field']=_0xb9fc('0x6a');_0x545ede=as[_0xb9fc('0x6b')](_0xc7eb5c,_0x1e6063['type'],_0xd9d7a4);_0x2e1295[_0x5a0f4c](_0x545ede[_0xb9fc('0x6c')],_0x545ede[_0xb9fc('0x66')][_0xb9fc('0x6d')],_0x545ede[_0xb9fc('0x66')][_0xb9fc('0x21')]);}break;case _0xb9fc('0x6e'):var _0xe2ba21=_0xd9d7a4[_0xb9fc('0x66')][_0xb9fc('0x67')](',')[_0xb9fc('0x3b')](function(_0x247832){return Number(_0x247832);});_0xe2ba21[_0xb9fc('0x32')](function(_0x3b6577){_0x2d4616['or'](_0xb9fc('0x6f'),'%,'+_0x3b6577+',%');});_0x41cde6=_[_0xb9fc('0x70')](_0x41cde6,_0xe2ba21);break;case _0xb9fc('0x71'):if(_0xd9d7a4[_0xb9fc('0x64')]===_0xb9fc('0x65')){_0x2e1295[_0x5a0f4c]('CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','%'+_0xd9d7a4[_0xb9fc('0x66')]+'%',null);}else{_0x1e6063=_[_0xb9fc('0x5e')](_0x10989e,['name',_0xb9fc('0x72')]);_0xd9d7a4['field']=_0xb9fc('0x72');_0x545ede=as[_0xb9fc('0x6b')](_0xc7eb5c,_0x1e6063[_0xb9fc('0x38')],_0xd9d7a4);_0x2e1295[_0x5a0f4c](_0x545ede[_0xb9fc('0x6c')],_0x545ede[_0xb9fc('0x66')][_0xb9fc('0x6d')],_0x545ede[_0xb9fc('0x66')]['end']);}break;case _0xb9fc('0x73'):_0x545ede=as[_0xb9fc('0x6b')]('me',null,_0xd9d7a4);_0x2e1295[_0x5a0f4c](_0x545ede[_0xb9fc('0x6c')],_0x545ede[_0xb9fc('0x66')][_0xb9fc('0x6d')],_0x545ede['value'][_0xb9fc('0x21')]);break;}}else{var _0x545ede=as['buildExpression'](_0xc7eb5c,_0x1e6063['type'],_0xd9d7a4);_0x2e1295[_0x5a0f4c](_0x545ede[_0xb9fc('0x6c')],_0x545ede[_0xb9fc('0x66')][_0xb9fc('0x6d')],_0x545ede[_0xb9fc('0x66')][_0xb9fc('0x21')]);}}}else{var _0x544031=_(_0x462521[_0xb9fc('0x3d')])[_0xb9fc('0x3c')]()['map'](function(_0x17e2f0){return _[_0xb9fc('0x74')](_0x10989e,[_0xb9fc('0x2e'),_0x17e2f0])?_0x17e2f0:undefined;})['compact']()[_0xb9fc('0x66')]();if(!_[_0xb9fc('0x75')](_0x544031)){_0x544031[_0xb9fc('0x32')](function(_0x5de083){if(_0x5de083===_0xb9fc('0x76')){_0x149ca3[_0xb9fc('0x47')]('i.SmsAccountId\x20IN\x20?',[][_0xb9fc('0x77')](_0x462521[_0xb9fc('0x3d')][_0x5de083]));}else if(_0x5de083===_0xb9fc('0x78')){var _0x20211f=JSON[_0xb9fc('0x79')](_0x462521[_0xb9fc('0x3d')][_0x5de083])['$gte'];var _0x5e9bfa=JSON[_0xb9fc('0x79')](_0x462521[_0xb9fc('0x3d')][_0x5de083])['$lte'];_0x149ca3[_0xb9fc('0x47')]('i.createdAt\x20BETWEEN\x20?\x20AND\x20?',_0x20211f,_0x5e9bfa);}else{if(_0x462521[_0xb9fc('0x3d')][_0x5de083]===_0xb9fc('0x7a')){_0x149ca3[_0xb9fc('0x47')]('i.'+_0x5de083+'\x20IS\x20NULL');}else{_0x149ca3[_0xb9fc('0x47')]('i.'+_0x5de083+_0xb9fc('0x7b'),_0x462521[_0xb9fc('0x3d')][_0x5de083]);}}});}if(_0x462521[_0xb9fc('0x3d')][_0xb9fc('0x7c')]){if(_0x462521[_0xb9fc('0x3d')][_0xb9fc('0x7c')]==0x1){_0x149ca3[_0xb9fc('0x60')]('`unreadMessages`\x20=\x200');}else{_0x149ca3[_0xb9fc('0x60')](_0xb9fc('0x7d'));}}if(_0x462521[_0xb9fc('0x3d')][_0xb9fc('0x7e')]){_0x41cde6=_[_0xb9fc('0x7f')](_0x462521[_0xb9fc('0x3d')][_0xb9fc('0x7e')])?_0x462521[_0xb9fc('0x3d')]['tag']:new Array(_0x462521[_0xb9fc('0x3d')][_0xb9fc('0x7e')]);_0x41cde6['forEach'](function(_0x5f2b2a){_0x2d4616['or'](_0xb9fc('0x6f'),'%,'+_0x5f2b2a+',%');});}if(_0x462521['query'][_0xb9fc('0x80')]){var _0x2b12f6=_0x462521['query'][_0xb9fc('0x80')][_0xb9fc('0x81')]('\x5c','\x5c\x5c')[_0xb9fc('0x81')]('\x27\x27',_0xb9fc('0x82'));if(qs[_0xb9fc('0x83')](_0x2b12f6)){_0x2e1295['or'](_0xb9fc('0x84'),_0x2b12f6+'%')['or'](_0xb9fc('0x85'),_0x2b12f6+'%');}else{_0x2e1295['or'](_0xb9fc('0x86'),qs[_0xb9fc('0x69')](_0x2b12f6))['or'](_0xb9fc('0x87'),_0x2b12f6+'%');}}}_0x149ca3['where'](_0x2e1295);_0x149ca3['group']('i.id');var _0x6bb38e={'type':db['Sequelize'][_0xb9fc('0x88')][_0xb9fc('0x89')],'raw':!![]};var _0x22247c=_0x149ca3[_0xb9fc('0x8a')]();_0x22247c[_0xb9fc('0x49')](_0xb9fc('0x8b'));_0x22247c['field'](_0xb9fc('0x8c'),'unreadMessages');if(_0x473a31[_0xb9fc('0x45')]){_0x473a31['order'][_0xb9fc('0x32')](function(_0x379b65){_0x149ca3[_0xb9fc('0x45')]('i.'+_0x379b65[0x0],_0x379b65[0x1]===_0xb9fc('0x8d')?![]:!![]);});}if(!_['isEmpty'](_0x41cde6)){_0x149ca3[_0xb9fc('0x60')](_0x2d4616);_0x22247c['where']('t.id\x20IN\x20?',_0x41cde6);}BPromise['resolve']()[_0xb9fc('0x2a')](function(){if(!_0x548d49){if(_0x462521[_0xb9fc('0x3d')][_0xb9fc('0x76')]||_0x462521[_0xb9fc('0x3d')]['journey'])return;_0x22247c[_0xb9fc('0x47')](_0xb9fc('0x8e'));_0x149ca3[_0xb9fc('0x47')](_0xb9fc('0x8e'));return;}return _0x462521['user']['getSmsAccounts']({'attributes':['id'],'raw':!![]})[_0xb9fc('0x2a')](function(_0x2ccdcc){if(_[_0xb9fc('0x75')](_0x2ccdcc)){_0x22247c[_0xb9fc('0x47')](_0xb9fc('0x8f'));_0x149ca3[_0xb9fc('0x47')]('i.SmsAccountId\x20IS\x20NULL');}else{_0x22247c[_0xb9fc('0x47')](_0xb9fc('0x90'),_[_0xb9fc('0x3b')](_0x2ccdcc,'id'));_0x149ca3[_0xb9fc('0x47')]('i.SmsAccountId\x20IN\x20?',_['map'](_0x2ccdcc,'id'));}});})[_0xb9fc('0x2a')](function(){db['sequelize'][_0xb9fc('0x3d')](_0x22247c['toString'](),_0x6bb38e)[_0xb9fc('0x2a')](function(_0x567ae6){_0x5da2e4[_0xb9fc('0x23')]=_0x567ae6[_0xb9fc('0x42')];if(_0x5da2e4['count']===0x0)return[];return db[_0xb9fc('0x91')][_0xb9fc('0x3d')](_0x4c749c[_0xb9fc('0x92')](),_0x6bb38e)['then'](function(_0x5c03f8){_0x45d212=_[_0xb9fc('0x93')](_0x5c03f8,'id');_0x6bb38e=_[_0xb9fc('0x94')](_0x6bb38e,{'model':db[_0xb9fc('0x95')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x462521[_0xb9fc('0x3d')][_0xb9fc('0x41')]){_0x473a31[_0xb9fc('0x40')][_0xb9fc('0x32')](function(_0x426255){_0x149ca3[_0xb9fc('0x49')]('i.'+_0x426255);});}else{_0x149ca3[_0xb9fc('0x49')](_0xb9fc('0x8c'),_0xb9fc('0x5f'));_0x149ca3[_0xb9fc('0x49')](_0xb9fc('0x96'),_0xb9fc('0x97'));_0x149ca3[_0xb9fc('0x49')](_0xb9fc('0x98'),'Account.mandatoryDisposition');_0x149ca3[_0xb9fc('0x49')](_0xb9fc('0x99'));_0x149ca3[_0xb9fc('0x49')]('c.firstName',_0xb9fc('0x9a'));_0x149ca3[_0xb9fc('0x49')](_0xb9fc('0x9b'),_0xb9fc('0x9c'));_0x149ca3[_0xb9fc('0x49')](_0xb9fc('0x9d'),'Contact.email');_0x149ca3[_0xb9fc('0x49')]('c.phone',_0xb9fc('0x9e'));_0x149ca3['field'](_0xb9fc('0x9f'),_0xb9fc('0xa0'));_0x149ca3[_0xb9fc('0x49')](_0xb9fc('0xa1'),_0xb9fc('0xa2'));_0x149ca3[_0xb9fc('0x49')](_0xb9fc('0xa3'),'Owner.fullname');_0x149ca3['field']('o.internal',_0xb9fc('0xa4'));_0x149ca3[_0xb9fc('0x49')](_0xb9fc('0xa5'),_0xb9fc('0x31'));}if(_0x473a31['limit'])_0x149ca3[_0xb9fc('0x44')](_0x473a31['limit']);if(_0x473a31[_0xb9fc('0x24')])_0x149ca3['offset'](_0x473a31[_0xb9fc('0x24')]);return db['sequelize'][_0xb9fc('0x3d')](_0x149ca3[_0xb9fc('0x92')](),_0x6bb38e);})[_0xb9fc('0x2a')](function(_0x5601e6){_0x4306e0['where']('ui.SmsInteractionId\x20IN\x20?',_[_0xb9fc('0x3b')](_0x5601e6,'id'));return db[_0xb9fc('0x91')][_0xb9fc('0x3d')](_0x4306e0[_0xb9fc('0x92')](),_0x6bb38e)[_0xb9fc('0x2a')](function(_0x193c9f){var _0xe2936b=_[_0xb9fc('0xa6')](_0x193c9f,'SmsInteractionId');var _0x317cf0=[];_0x5601e6['forEach'](function(_0x41d509){_0x317cf0[_0xb9fc('0x34')](updateSmsInteraction(_0x41d509,_0x45d212,_0xe2936b));});return BPromise[_0xb9fc('0xa7')](_0x317cf0);});});})[_0xb9fc('0x2a')](function(_0x5a89b3){_0x5da2e4[_0xb9fc('0xa8')]=_0x5a89b3;return _0x5da2e4;})['then'](respondWithFilteredResult(_0x569184,_0x473a31));})[_0xb9fc('0xa9')](handleError(_0x569184,null));};exports[_0xb9fc('0xaa')]=function(_0x232c2f,_0x301c82){var _0x4bbb8e={'raw':![],'where':{'id':_0x232c2f[_0xb9fc('0xab')]['id']}},_0x532cd1={};_0x532cd1['model']=_[_0xb9fc('0x3c')](db[_0xb9fc('0x95')][_0xb9fc('0x36')]);_0x532cd1[_0xb9fc('0x3d')]=_[_0xb9fc('0x3c')](_0x232c2f[_0xb9fc('0x3d')]);_0x532cd1[_0xb9fc('0x3e')]=_[_0xb9fc('0x3f')](_0x532cd1[_0xb9fc('0x3a')],_0x532cd1['query']);_0x4bbb8e[_0xb9fc('0x40')]=_['intersection'](_0x532cd1[_0xb9fc('0x3a')],qs[_0xb9fc('0x41')](_0x232c2f[_0xb9fc('0x3d')]['fields']));_0x4bbb8e[_0xb9fc('0x40')]=_0x4bbb8e[_0xb9fc('0x40')][_0xb9fc('0x42')]?_0x4bbb8e[_0xb9fc('0x40')]:_0x532cd1['model'];if(_0x232c2f[_0xb9fc('0x3d')][_0xb9fc('0xac')]){_0x4bbb8e[_0xb9fc('0xad')]=[{'all':!![]}];}_0x4bbb8e=_[_0xb9fc('0x94')]({},_0x4bbb8e,_0x232c2f['options']);return db[_0xb9fc('0x95')]['find'](_0x4bbb8e)[_0xb9fc('0x2a')](handleEntityNotFound(_0x301c82,null))[_0xb9fc('0x2a')](respondWithResult(_0x301c82,null))['catch'](handleError(_0x301c82,null));};exports[_0xb9fc('0xae')]=function(_0x23c028,_0x2a796e){return db[_0xb9fc('0x95')][_0xb9fc('0xae')](_0x23c028[_0xb9fc('0x73')],{})[_0xb9fc('0x2a')](respondWithResult(_0x2a796e,0xc9))[_0xb9fc('0xa9')](handleError(_0x2a796e,null));};exports['update']=function(_0x3a7bd3,_0x4a0686){if(_0x3a7bd3['body']['id']){delete _0x3a7bd3[_0xb9fc('0x73')]['id'];}return db[_0xb9fc('0x95')][_0xb9fc('0x5e')]({'where':{'id':_0x3a7bd3[_0xb9fc('0xab')]['id']}})[_0xb9fc('0x2a')](handleEntityNotFound(_0x4a0686,null))[_0xb9fc('0x2a')](saveUpdates(_0x3a7bd3[_0xb9fc('0x73')],null))[_0xb9fc('0x2a')](respondWithResult(_0x4a0686,null))[_0xb9fc('0xa9')](handleError(_0x4a0686,null));};exports['destroy']=function(_0x4b7d17,_0x4e2e95){return db[_0xb9fc('0x95')][_0xb9fc('0x5e')]({'where':{'id':_0x4b7d17[_0xb9fc('0xab')]['id']}})['then'](handleEntityNotFound(_0x4e2e95,null))['then'](removeEntity(_0x4e2e95,null))[_0xb9fc('0xa9')](handleError(_0x4e2e95,null));};exports['describe']=function(_0x55660e,_0x55a267){return db[_0xb9fc('0x95')]['describe']()['then'](respondWithResult(_0x55a267,null))[_0xb9fc('0xa9')](handleError(_0x55a267,null));};exports['addMessage']=function(_0x54cbaf,_0x3c6b9d,_0x5dfffb){return db[_0xb9fc('0xaf')][_0xb9fc('0x5e')]({'where':{'id':_0x54cbaf[_0xb9fc('0xab')]['id']}})[_0xb9fc('0x2a')](handleEntityNotFound(_0x3c6b9d,null))[_0xb9fc('0x2a')](function(_0x1562d5){if(_0x1562d5){return _0x1562d5[_0xb9fc('0xb0')](_0x54cbaf[_0xb9fc('0x73')]['ids'],_[_0xb9fc('0xb1')](_0x54cbaf[_0xb9fc('0x73')],[_0xb9fc('0xb2'),'id'])||{});}})['then'](respondWithResult(_0x3c6b9d,null))[_0xb9fc('0xa9')](handleError(_0x3c6b9d,null));};exports[_0xb9fc('0xb3')]=function(_0x527039,_0x50fa38,_0xa4f83d){var _0x2373ae={'raw':![],'where':{}};var _0x2a8642={};var _0x2ed1a2={'count':0x0,'rows':[]};return db[_0xb9fc('0x95')][_0xb9fc('0xb4')]({'where':{'id':_0x527039['params']['id']}})[_0xb9fc('0x2a')](handleEntityNotFound(_0x50fa38,null))['then'](function(_0x5863d1){if(_0x5863d1){_0x2a8642['model']=_[_0xb9fc('0x3c')](db['SmsMessage']['rawAttributes']);_0x2a8642[_0xb9fc('0x3d')]=_[_0xb9fc('0x3c')](_0x527039['query']);_0x2a8642['filters']=_[_0xb9fc('0x3f')](_0x2a8642[_0xb9fc('0x3a')],_0x2a8642[_0xb9fc('0x3d')]);_0x2373ae[_0xb9fc('0x40')]=_['intersection'](_0x2a8642[_0xb9fc('0x3a')],qs[_0xb9fc('0x41')](_0x527039[_0xb9fc('0x3d')][_0xb9fc('0x41')]));_0x2373ae[_0xb9fc('0x40')]=_0x2373ae[_0xb9fc('0x40')][_0xb9fc('0x42')]?_0x2373ae[_0xb9fc('0x40')]:_0x2a8642[_0xb9fc('0x3a')];if(!_0x527039['query']['hasOwnProperty'](_0xb9fc('0x43'))){_0x2373ae[_0xb9fc('0x44')]=qs[_0xb9fc('0x44')](_0x527039[_0xb9fc('0x3d')][_0xb9fc('0x44')]);_0x2373ae[_0xb9fc('0x24')]=qs[_0xb9fc('0x24')](_0x527039[_0xb9fc('0x3d')][_0xb9fc('0x24')]);}_0x2373ae[_0xb9fc('0x45')]=qs['sort'](_0x527039['query'][_0xb9fc('0x46')]);_0x2373ae[_0xb9fc('0x47')]=qs[_0xb9fc('0x3e')](_[_0xb9fc('0x48')](_0x527039[_0xb9fc('0x3d')],_0x2a8642[_0xb9fc('0x3e')]));_0x2373ae[_0xb9fc('0x47')]['SmsInteractionId']=_0x5863d1['id'];if(_0x527039[_0xb9fc('0x3d')][_0xb9fc('0x80')]){_0x2373ae[_0xb9fc('0x47')]=_[_0xb9fc('0x94')](_0x2373ae['where'],{'$or':_[_0xb9fc('0x3b')](_0x2373ae[_0xb9fc('0x40')],function(_0x5b263c){var _0x136ec5={};_0x136ec5[_0x5b263c]={'$like':'%'+_0x527039[_0xb9fc('0x3d')][_0xb9fc('0x80')]+'%'};return _0x136ec5;})});}if(_0x527039[_0xb9fc('0x3d')]['$gte']){var _0x2f1bd9=_0x527039[_0xb9fc('0x3d')]['$gte']['split'](',');var _0x36dd86={};_0x36dd86[_0x2f1bd9[0x0]]={'$gte':moment(_0x2f1bd9[0x1])['format'](_0xb9fc('0xb5'))};_0x2373ae[_0xb9fc('0x47')]=_[_0xb9fc('0x94')](_0x2373ae[_0xb9fc('0x47')],_0x36dd86);}_0x2373ae=_[_0xb9fc('0x94')]({},_0x2373ae,_0x527039[_0xb9fc('0xb6')]);return db['SmsMessage'][_0xb9fc('0x23')]({'where':_0x2373ae[_0xb9fc('0x47')]})[_0xb9fc('0x2a')](function(_0xce1db5){_0x2ed1a2[_0xb9fc('0x23')]=_0xce1db5;if(_0x527039[_0xb9fc('0x3d')][_0xb9fc('0xac')]){_0x2373ae[_0xb9fc('0xad')]=[{'all':!![]}];}return db[_0xb9fc('0xaf')][_0xb9fc('0xb7')](_0x2373ae);})['then'](function(_0x255c36){_0x2ed1a2[_0xb9fc('0xa8')]=_0x255c36;return _0x2ed1a2;});}})[_0xb9fc('0x2a')](respondWithFilteredResult(_0x50fa38,_0x2373ae))[_0xb9fc('0xa9')](handleError(_0x50fa38,null));};exports['addTags']=function(_0x35fea6,_0x56a57f,_0x62c8f){return db[_0xb9fc('0x95')][_0xb9fc('0x5e')]({'where':{'id':_0x35fea6[_0xb9fc('0xab')]['id']}})[_0xb9fc('0x2a')](handleEntityNotFound(_0x56a57f,null))[_0xb9fc('0x2a')](function(_0x577984){if(_0x577984){return _0x577984[_0xb9fc('0xb8')](_0x35fea6[_0xb9fc('0x73')][_0xb9fc('0xb2')],_[_0xb9fc('0xb1')](_0x35fea6[_0xb9fc('0x73')],[_0xb9fc('0xb2'),'id'])||{})['spread'](function(){return db[_0xb9fc('0x6e')][_0xb9fc('0xb7')]({'attributes':['id',_0xb9fc('0x2e'),_0xb9fc('0x4a')],'where':{'id':_0x35fea6[_0xb9fc('0x73')][_0xb9fc('0xb2')]}});})[_0xb9fc('0x2a')](function(_0x37fb19){socket[_0xb9fc('0xb9')](_0xb9fc('0xba'),{'id':Number(_0x35fea6[_0xb9fc('0xab')]['id']),'tags':_0x37fb19||[]});return{'id':Number(_0x35fea6[_0xb9fc('0xab')]['id']),'tags':_0x37fb19||[]};});}})[_0xb9fc('0x2a')](respondWithResult(_0x56a57f,null))[_0xb9fc('0xa9')](handleError(_0x56a57f,null));};exports[_0xb9fc('0xbb')]=function(_0x57aadb,_0x4c2328,_0x5b92dd){return db[_0xb9fc('0x95')][_0xb9fc('0x5e')]({'where':{'id':_0x57aadb['params']['id']}})['then'](handleEntityNotFound(_0x4c2328,null))[_0xb9fc('0x2a')](function(_0x10f2d4){if(_0x10f2d4){return _0x10f2d4['removeTags'](_0x57aadb[_0xb9fc('0x3d')][_0xb9fc('0xb2')]);}})[_0xb9fc('0x2a')](respondWithStatusCode(_0x4c2328,null))[_0xb9fc('0xa9')](handleError(_0x4c2328,null));};exports[_0xb9fc('0xbc')]=function(_0x1e5878,_0x1d4f7a){var _0x4325d2=moment()[_0xb9fc('0xbd')]()[_0xb9fc('0x92')]();var _0x413029=path['join'](config[_0xb9fc('0xbe')],_0xb9fc('0xbf'),_0xb9fc('0xc0'),_0xb9fc('0xc1'));var _0x74bf2b=path[_0xb9fc('0xc2')](config[_0xb9fc('0xbe')],'server',_0xb9fc('0xc0'),_0xb9fc('0xc3'));var _0x4d1244=path[_0xb9fc('0xc2')](_0x413029,_0x4325d2);var _0x30fc95=util[_0xb9fc('0xc4')](_0xb9fc('0xc5'),_0x1e5878[_0xb9fc('0xab')]['id'],_0x4325d2);var _0x38e515=path[_0xb9fc('0xc2')](_0x413029,_0x30fc95);var _0x15e73a=[];_0x15e73a[_0xb9fc('0x34')]({'model':db['User'],'as':_0xb9fc('0x71'),'attributes':['id',_0xb9fc('0x30')],'raw':!![]});_0x15e73a[_0xb9fc('0x34')]({'model':db['CmContact'],'as':_0xb9fc('0x63'),'attributes':['id',_0xb9fc('0xc6'),'lastName'],'raw':!![]});var _0x276088=[{'model':db[_0xb9fc('0xaf')],'as':_0xb9fc('0xc7'),'attributes':['id','body',_0xb9fc('0x78'),_0xb9fc('0xc8'),_0xb9fc('0xc9'),'read'],'include':_0x15e73a}];_0x276088[_0xb9fc('0x34')]({'model':db[_0xb9fc('0xca')],'as':_0xb9fc('0xcb'),'attributes':['id','name']});_0x276088['push']({'model':db['User'],'as':_0xb9fc('0xcc'),'attributes':['id','fullname']});return db['SmsInteraction']['find']({'where':{'id':_0x1e5878[_0xb9fc('0xab')]['id']},'include':_0x276088})['then'](handleEntityNotFound(_0x1d4f7a,null))['then'](function(_0x1d713a){if(_0x1d713a){var _0x21833a=_0x1d713a[_0xb9fc('0xcd')]({'plain':!![]});fs[_0xb9fc('0xce')](_0x4d1244);var _0x3ef10f={'format':'A4','border':_0xb9fc('0xcf'),'header':{'height':_0xb9fc('0xd0'),'contents':{'first':_0xb9fc('0xd1')}},'footer':{'height':'30px','contents':{'default':util[_0xb9fc('0xc4')](_0xb9fc('0xd2'),util[_0xb9fc('0xc4')](_0xb9fc('0xd3'),'Sms',_0x21833a['id']),moment()['format'](_0xb9fc('0xd4'))[_0xb9fc('0x92')]())}}};var _0x585f70={'channel':'Sms','account':_0x21833a[_0xb9fc('0xcb')]['name'],'agent':_0x21833a[_0xb9fc('0xcc')]?_0x21833a[_0xb9fc('0xcc')]['fullname']:_0xb9fc('0xd5'),'createdAt':moment(_0x21833a['createdAt'])[_0xb9fc('0xc4')](_0xb9fc('0xb5'))['toString'](),'closedAt':_0x21833a['closed']?moment(_0x21833a[_0xb9fc('0xd6')])[_0xb9fc('0xc4')]('YYYY-MM-DD\x20HH:mm:ss')[_0xb9fc('0x92')]():'','disposition':_0x21833a[_0xb9fc('0xd7')],'messages':_(_0x21833a[_0xb9fc('0xc7')])[_0xb9fc('0x80')]({'secret':![]})['map'](function(_0x196f60){return{'date':moment(_0x196f60[_0xb9fc('0x78')])[_0xb9fc('0xc4')](_0xb9fc('0xb5'))[_0xb9fc('0x92')](),'sender':_0x196f60[_0xb9fc('0xc8')]===_0xb9fc('0xd8')?_0x196f60[_0xb9fc('0x71')]?_0x196f60[_0xb9fc('0x71')][_0xb9fc('0x30')]:_0xb9fc('0xd9'):_0x196f60['Contact'][_0xb9fc('0xc6')]+(_0x196f60[_0xb9fc('0x63')][_0xb9fc('0xda')]?'\x20'+_0x196f60[_0xb9fc('0x63')][_0xb9fc('0xda')]:''),'body':_0x196f60[_0xb9fc('0x73')],'direction':_0x196f60[_0xb9fc('0xc8')]===_0xb9fc('0xd8')?'A':'C','secret':_0x196f60['secret'],'read':_0x196f60[_0xb9fc('0x7c')]};})[_0xb9fc('0x66')]()};return ejs[_0xb9fc('0xdb')](path[_0xb9fc('0xc2')](config['root'],_0xb9fc('0xbf'),_0xb9fc('0xdc'),'downloadInteraction.html'),{'interaction':_0x585f70})[_0xb9fc('0x2a')](function(_0x558990){return new BPromise(function(_0x22eb06,_0x1818d5){pdf['create'](_0x558990,_0x3ef10f)[_0xb9fc('0xdd')](path['join'](_0x4d1244,_0xb9fc('0xde')+_0x21833a['id']+'-'+_0x4325d2+'.pdf'),function(_0x48e9df,_0x59b653){if(_0x48e9df)return _0x1818d5(_0x48e9df);_0x22eb06(_0x59b653);});});})['then'](function(){return new BPromise(function(_0x2fc608,_0x55c114){zipdir(_0x4d1244,{'saveTo':_0x38e515},function(_0x5766de,_0x58b858){if(_0x5766de)return _0x55c114(_0x5766de);return _0x2fc608(_0x58b858);});})[_0xb9fc('0x2a')](function(){return new BPromise(function(_0x2130e7,_0x465ef2){rimraf(_0x4d1244,function(_0xb13e6f){if(_0xb13e6f)_0x465ef2(_0xb13e6f);return _0x2130e7();});});})[_0xb9fc('0x2a')](function(){return _0x1d4f7a[_0xb9fc('0xbc')](_0x38e515,_0x30fc95,function(_0x16969c){if(_0x16969c){console[_0xb9fc('0xdf')](_0xb9fc('0xe0'),_0x16969c);}else{fs[_0xb9fc('0xe1')](_0x38e515);}});});});}else{return _0x1d4f7a[_0xb9fc('0x1f')](0xc8);}})[_0xb9fc('0xa9')](handleError(_0x1d4f7a,null));};