Built motion from commit 9d7072cc.|2.5.39
[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 _0x75f3=['sms_interactions','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','o.id\x20=\x20i.UserId','sms_accounts','a.id\x20=\x20i.SmsAccountId','sms_messages','me.SmsInteractionId\x20=\x20i.id','sms_interaction_has_tags','it.SmsInteractionId\x20=\x20i.id','tools_tags','t.id\x20=\x20it.TagId','expr','search','parseSearch','conditions','find','value','having','`\x20>\x200','Contact','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','buildExpression','text','Tag','union','User','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','type','start','some','isEmpty','SmsAccountId','i.SmsAccountId\x20IN\x20?','concat','createdAt','parse','$gte','$lte','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','isArray','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','filter','replace','isNumeric','i.phone\x20LIKE\x20?','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','group','i.id','Sequelize','SELECT','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','unreadMessages','order','contactName','DESC','resolve','i.SmsAccountId\x20IS\x20NOT\x20NULL','user','role','getSmsAccounts','i.SmsAccountId\x20IS\x20NULL','agent','sequelize','toString','keyBy','merge','a.key','a.mandatoryDisposition','c.firstName','Contact.firstName','c.lastName','Contact.lastName','Contact.email','c.phone','Contact.phone','c.mobile','c.fax','Contact.fax','o.fullname','Owner.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.SmsInteractionId\x20IN\x20?','groupBy','SmsInteractionId','rows','params','includeAll','include','body','describe','addMessage','SmsMessage','omit','ids','getMessages','findOne','nolimit','pick','format','YYYY-MM-DD\x20HH:mm:ss','options','addTags','setTags','spread','findAll','emit','smsInteractionTags:save','removeTags','download','unix','root','server','join','files','transcript-%d-%s.zip','CmContact','firstName','lastName','Messages','direction','secret','SmsAccount','Account','Owner','get','mkdirSync','Sms','N.A.','closedAt','disposition','out','System','renderFile','downloadInteraction.ejs','.pdf','createPdfFromHTML','log','err','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','redis','defaults','socket.io-emitter','./smsInteraction.socket','register','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','then','destroy','sendStatus','error','stack','name','fullname','TagIds','Tags','split','forEach','push','catch','waiting','answered','unmanaged','closed','UserId','talking','total','index','SmsInteraction','rawAttributes','fieldName','key','model','map','keys','query','filters','intersection','fields','attributes','length','hasOwnProperty','sort','where','select','field','color','from','u.fullname','ui.SmsInteractionId','user_has_sms_interactions','left_join','users','u.id\x20=\x20ui.UserId'];(function(_0x1fff40,_0x2bc94b){var _0x54f2eb=function(_0x51696a){while(--_0x51696a){_0x1fff40['push'](_0x1fff40['shift']());}};_0x54f2eb(++_0x2bc94b);}(_0x75f3,0x99));var _0x375f=function(_0xa58f10,_0x1b29ad){_0xa58f10=_0xa58f10-0x0;var _0x3bdc8e=_0x75f3[_0xa58f10];return _0x3bdc8e;};'use strict';var emlformat=require(_0x375f('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x375f('0x1'));var jsonpatch=require(_0x375f('0x2'));var rp=require(_0x375f('0x3'));var moment=require(_0x375f('0x4'));var BPromise=require(_0x375f('0x5'));var Mustache=require(_0x375f('0x6'));var util=require(_0x375f('0x7'));var path=require(_0x375f('0x8'));var sox=require('sox');var csv=require(_0x375f('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x375f('0xa'));var _=require(_0x375f('0xb'));var squel=require(_0x375f('0xc'));var crypto=require(_0x375f('0xd'));var jsforce=require(_0x375f('0xe'));var deskjs=require(_0x375f('0xf'));var toCsv=require(_0x375f('0x9'));var querystring=require('querystring');var Papa=require(_0x375f('0x10'));var Redis=require(_0x375f('0x11'));var authService=require(_0x375f('0x12'));var qs=require(_0x375f('0x13'));var as=require(_0x375f('0x14'));var pdf=require('../../components/export/pdf');var hardwareService=require('../../config/license/hardware');var logger=require(_0x375f('0x15'))(_0x375f('0x16'));var utils=require(_0x375f('0x17'));var config=require(_0x375f('0x18'));var licenseUtil=require('../../config/license/util');var db=require(_0x375f('0x19'))['db'];config[_0x375f('0x1a')]=_[_0x375f('0x1b')](config[_0x375f('0x1a')],{'host':'localhost','port':0x18eb});var socket=require(_0x375f('0x1c'))(new Redis(config[_0x375f('0x1a')]));require(_0x375f('0x1d'))[_0x375f('0x1e')](socket);function respondWithStatusCode(_0x3f0252,_0x439c25){_0x439c25=_0x439c25||0xcc;return function(_0x4c6f5d){if(_0x4c6f5d){return _0x3f0252['sendStatus'](_0x439c25);}return _0x3f0252[_0x375f('0x1f')](_0x439c25)[_0x375f('0x20')]();};}function respondWithResult(_0x52234a,_0x307cf7){_0x307cf7=_0x307cf7||0xc8;return function(_0x5c4794){if(_0x5c4794){return _0x52234a[_0x375f('0x1f')](_0x307cf7)[_0x375f('0x21')](_0x5c4794);}};}function respondWithFilteredResult(_0x5a18b7,_0x2b20a0){return function(_0x4074de){if(_0x4074de){var _0x18363d=typeof _0x2b20a0[_0x375f('0x22')]===_0x375f('0x23')&&typeof _0x2b20a0[_0x375f('0x24')]===_0x375f('0x23');var _0x22b9c3=_0x4074de['count'];var _0x3562b5=_0x18363d?0x0:_0x2b20a0[_0x375f('0x22')];var _0x1aa090=_0x18363d?_0x4074de[_0x375f('0x25')]:_0x2b20a0[_0x375f('0x22')]+_0x2b20a0[_0x375f('0x24')];var _0x578ab8;if(_0x1aa090>=_0x22b9c3){_0x1aa090=_0x22b9c3;_0x578ab8=0xc8;}else{_0x578ab8=0xce;}_0x5a18b7[_0x375f('0x1f')](_0x578ab8);return _0x5a18b7[_0x375f('0x26')](_0x375f('0x27'),_0x3562b5+'-'+_0x1aa090+'/'+_0x22b9c3)[_0x375f('0x21')](_0x4074de);}return null;};}function patchUpdates(_0x59eed7){return function(_0x18856d){try{jsonpatch[_0x375f('0x28')](_0x18856d,_0x59eed7,!![]);}catch(_0x36aa18){return BPromise[_0x375f('0x29')](_0x36aa18);}return _0x18856d[_0x375f('0x2a')]();};}function saveUpdates(_0x294c3e,_0x5831a9){return function(_0x94970a){if(_0x94970a){return _0x94970a['update'](_0x294c3e)[_0x375f('0x2b')](function(_0x37e795){return _0x37e795;});}return null;};}function removeEntity(_0x1d5301,_0x4fb2b9){return function(_0x1bbfd4){if(_0x1bbfd4){return _0x1bbfd4[_0x375f('0x2c')]()[_0x375f('0x2b')](function(){_0x1d5301['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x36815b,_0x83f7dc){return function(_0xdc19ec){if(!_0xdc19ec){_0x36815b[_0x375f('0x2d')](0x194);}return _0xdc19ec;};}function handleError(_0x39d978,_0x4871ec){_0x4871ec=_0x4871ec||0x1f4;return function(_0x3a71cb){logger[_0x375f('0x2e')](_0x3a71cb[_0x375f('0x2f')]);if(_0x3a71cb['name']){delete _0x3a71cb[_0x375f('0x30')];}_0x39d978[_0x375f('0x1f')](_0x4871ec)['send'](_0x3a71cb);};}function getInteractionUsers(_0x2ab69c,_0x5801f5){return new BPromise(function(_0x409bbb,_0x163a46){try{if(_0x5801f5[_0x2ab69c['id']]){_0x2ab69c['Users']=_['map'](_0x5801f5[_0x2ab69c['id']],function(_0x5915d0){return{'id':_0x5915d0['id'],'fullname':_0x5915d0[_0x375f('0x31')]};});}}catch(_0x53ebcb){_0x163a46(_0x53ebcb);}_0x409bbb(_0x2ab69c);});}function getInteractionTags(_0xfb7a03,_0x2d6d4a){return new BPromise(function(_0x1699ac,_0x12661a){try{if(_0xfb7a03[_0x375f('0x32')]){_0xfb7a03[_0x375f('0x33')]=[];_0xfb7a03[_0x375f('0x32')][_0x375f('0x34')](',')[_0x375f('0x35')](function(_0x385094){_0xfb7a03['Tags'][_0x375f('0x36')](_0x2d6d4a[_0x385094]);});}delete _0xfb7a03['TagIds'];}catch(_0x457094){_0x12661a(_0x457094);}_0x1699ac(_0xfb7a03);});}function updateSmsInteraction(_0x57d7c2,_0x780d8a,_0x214540){return new BPromise(function(_0x495021,_0x558d28){return getInteractionUsers(_0x57d7c2,_0x214540)['then'](function(_0x464737){return getInteractionTags(_0x464737,_0x780d8a);})[_0x375f('0x2b')](function(_0x58d66c){return getStateInteraction(_0x58d66c);})[_0x375f('0x2b')](function(_0x410590){_0x495021(_0x410590);})[_0x375f('0x37')](function(_0x3fb50c){_0x558d28(_0x3fb50c);});});}function getStateInteraction(_0x206b09){return new BPromise(function(_0x3b8b0f){_0x206b09[_0x375f('0x38')]=0x0;_0x206b09['talking']=0x0;_0x206b09[_0x375f('0x39')]=0x0;_0x206b09[_0x375f('0x3a')]=0x0;_0x206b09['total']=0x0;if(!_0x206b09[_0x375f('0x3b')]&&!_0x206b09[_0x375f('0x3c')]){_0x206b09[_0x375f('0x38')]+=0x1;}if(!_0x206b09[_0x375f('0x3b')]&&_0x206b09[_0x375f('0x3c')]){_0x206b09[_0x375f('0x3d')]+=0x1;if(_0x206b09[_0x375f('0x38')]){_0x206b09[_0x375f('0x38')]-=0x1;}}if(_0x206b09[_0x375f('0x3b')]&&_0x206b09[_0x375f('0x3c')]){_0x206b09[_0x375f('0x39')]+=0x1;if(_0x206b09[_0x375f('0x3d')]){_0x206b09[_0x375f('0x3d')]-=0x1;}}if(_0x206b09[_0x375f('0x3b')]&&!_0x206b09[_0x375f('0x3c')]){_0x206b09[_0x375f('0x3a')]+=0x1;if(_0x206b09[_0x375f('0x38')]){_0x206b09[_0x375f('0x38')]-=0x1;}}_0x206b09[_0x375f('0x3e')]+=0x1;_0x3b8b0f(_0x206b09);});}exports[_0x375f('0x3f')]=function(_0xfbba8,_0xbbf01a){var _0x38510f={},_0x5bde86={},_0xc7ed35={'count':0x0,'rows':[]};var _0x405d3b=_['map'](db[_0x375f('0x40')][_0x375f('0x41')],function(_0x25fd36){return{'name':_0x25fd36[_0x375f('0x42')],'type':_0x25fd36['type'][_0x375f('0x43')]};});_0x5bde86[_0x375f('0x44')]=_[_0x375f('0x45')](_0x405d3b,_0x375f('0x30'));_0x5bde86['query']=_[_0x375f('0x46')](_0xfbba8[_0x375f('0x47')]);_0x5bde86[_0x375f('0x48')]=_['intersection'](_0x5bde86[_0x375f('0x44')],_0x5bde86[_0x375f('0x47')]);_0x38510f['attributes']=_[_0x375f('0x49')](_0x5bde86[_0x375f('0x44')],qs[_0x375f('0x4a')](_0xfbba8[_0x375f('0x47')][_0x375f('0x4a')]));_0x38510f['attributes']=_0x38510f[_0x375f('0x4b')][_0x375f('0x4c')]?_0x38510f['attributes']:_0x5bde86[_0x375f('0x44')];if(!_0xfbba8['query'][_0x375f('0x4d')]('nolimit')){_0x38510f[_0x375f('0x24')]=qs[_0x375f('0x24')](_0xfbba8[_0x375f('0x47')][_0x375f('0x24')]);_0x38510f[_0x375f('0x22')]=qs[_0x375f('0x22')](_0xfbba8[_0x375f('0x47')]['offset']);}_0x38510f['order']=qs[_0x375f('0x4e')](_0xfbba8['query'][_0x375f('0x4e')]);_0x38510f[_0x375f('0x4f')]=qs[_0x375f('0x48')](_['pick'](_0xfbba8['query'],_0x5bde86[_0x375f('0x48')]),_0x405d3b);var _0x1b5347=[];var _0x22136f=squel[_0x375f('0x50')]()['field']('id')[_0x375f('0x51')]('name')['field'](_0x375f('0x52'))[_0x375f('0x53')]('tools_tags');var _0x42ae19=squel[_0x375f('0x50')]()['field']('u.id')[_0x375f('0x51')](_0x375f('0x54'))[_0x375f('0x51')](_0x375f('0x55'))[_0x375f('0x53')](_0x375f('0x56'),'ui')[_0x375f('0x57')](_0x375f('0x58'),'u',_0x375f('0x59'));var _0x2121de=squel['select']()[_0x375f('0x53')](_0x375f('0x5a'),'i')[_0x375f('0x57')](_0x375f('0x5b'),'c',_0x375f('0x5c'))['left_join'](_0x375f('0x58'),'o',_0x375f('0x5d'))[_0x375f('0x57')](_0x375f('0x5e'),'a',_0x375f('0x5f'))[_0x375f('0x57')](_0x375f('0x60'),'me',_0x375f('0x61'))[_0x375f('0x57')](_0x375f('0x62'),'it',_0x375f('0x63'))[_0x375f('0x57')](_0x375f('0x64'),'t',_0x375f('0x65'));var _0x410c86=squel[_0x375f('0x66')]();var _0x585a6f=[];var _0x55b320=squel['expr']();var _0xd7d1ac;if(_0xfbba8[_0x375f('0x47')][_0x375f('0x67')]){_0xd7d1ac=as[_0x375f('0x68')](_0xfbba8[_0x375f('0x47')][_0x375f('0x67')]);var _0x463905=_0xd7d1ac['sqlOperator'];for(var _0x3c8e9a=0x0;_0x3c8e9a<_0xd7d1ac[_0x375f('0x69')][_0x375f('0x4c')];_0x3c8e9a++){var _0x585263=_0xd7d1ac[_0x375f('0x69')][_0x3c8e9a];var _0x2eda7b='i';var _0x22cc32=_[_0x375f('0x6a')](_0x405d3b,[_0x375f('0x30'),_0x585263[_0x375f('0x51')]]);if(!_0x22cc32){switch(_0x585263['field']){case'unreadMessages':if(_0x585263[_0x375f('0x6b')]==0x1){_0x2121de[_0x375f('0x6c')]('`'+_0x585263['field']+'`\x20=\x200');}else{_0x2121de[_0x375f('0x6c')]('`'+_0x585263[_0x375f('0x51')]+_0x375f('0x6d'));}break;case _0x375f('0x6e'):if(_0x585263[_0x375f('0x6f')]===_0x375f('0x70')){if(_0x585263[_0x375f('0x6b')][_0x375f('0x34')]('\x20')['length']>0x1){_0x410c86[_0x463905](_0x375f('0x71'),qs[_0x375f('0x72')](_0x585263['value']),null);}else{var _0x3bc3ff='%'+_0x585263['value']+'%';_0x410c86[_0x463905](_0x375f('0x73'),_0x3bc3ff,_0x3bc3ff,_0x3bc3ff);}}else{_0x22cc32=_[_0x375f('0x6a')](_0x405d3b,[_0x375f('0x30'),_0x375f('0x74')]);_0x585263[_0x375f('0x51')]=_0x375f('0x74');_0x1f20a7=as[_0x375f('0x75')](_0x2eda7b,_0x22cc32['type'],_0x585263);_0x410c86[_0x463905](_0x1f20a7[_0x375f('0x76')],_0x1f20a7['value']['start'],_0x1f20a7[_0x375f('0x6b')][_0x375f('0x20')]);}break;case _0x375f('0x77'):var _0x1f7483=_0x585263[_0x375f('0x6b')]['split'](',')[_0x375f('0x45')](function(_0x4739ad){return Number(_0x4739ad);});_0x1f7483[_0x375f('0x35')](function(_0x46926f){_0x55b320['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x46926f+',%');});_0x585a6f=_[_0x375f('0x78')](_0x585a6f,_0x1f7483);break;case _0x375f('0x79'):if(_0x585263['operator']===_0x375f('0x70')){_0x410c86[_0x463905](_0x375f('0x7a'),'%'+_0x585263['value']+'%',null);}else{_0x22cc32=_[_0x375f('0x6a')](_0x405d3b,[_0x375f('0x30'),_0x375f('0x3c')]);_0x585263[_0x375f('0x51')]=_0x375f('0x3c');_0x1f20a7=as[_0x375f('0x75')](_0x2eda7b,_0x22cc32[_0x375f('0x7b')],_0x585263);_0x410c86[_0x463905](_0x1f20a7[_0x375f('0x76')],_0x1f20a7['value'][_0x375f('0x7c')],_0x1f20a7[_0x375f('0x6b')][_0x375f('0x20')]);}break;case'body':_0x1f20a7=as[_0x375f('0x75')]('me',null,_0x585263);_0x410c86[_0x463905](_0x1f20a7[_0x375f('0x76')],_0x1f20a7[_0x375f('0x6b')][_0x375f('0x7c')],_0x1f20a7[_0x375f('0x6b')][_0x375f('0x20')]);break;}}else{var _0x1f20a7=as[_0x375f('0x75')](_0x2eda7b,_0x22cc32[_0x375f('0x7b')],_0x585263);_0x410c86[_0x463905](_0x1f20a7[_0x375f('0x76')],_0x1f20a7[_0x375f('0x6b')][_0x375f('0x7c')],_0x1f20a7[_0x375f('0x6b')][_0x375f('0x20')]);}}}else{var _0xc09373=_(_0xfbba8[_0x375f('0x47')])[_0x375f('0x46')]()[_0x375f('0x45')](function(_0x159e45){return _[_0x375f('0x7d')](_0x405d3b,[_0x375f('0x30'),_0x159e45])?_0x159e45:undefined;})['compact']()['value']();if(!_[_0x375f('0x7e')](_0xc09373)){_0xc09373[_0x375f('0x35')](function(_0xceda5c){if(_0xceda5c===_0x375f('0x7f')){_0x2121de[_0x375f('0x4f')](_0x375f('0x80'),[][_0x375f('0x81')](_0xfbba8[_0x375f('0x47')][_0xceda5c]));}else if(_0xceda5c===_0x375f('0x82')){var _0x3a98aa=JSON[_0x375f('0x83')](_0xfbba8['query'][_0xceda5c])[_0x375f('0x84')];var _0x3eb9e8=JSON['parse'](_0xfbba8[_0x375f('0x47')][_0xceda5c])[_0x375f('0x85')];_0x2121de['where']('i.createdAt\x20BETWEEN\x20?\x20AND\x20?',_0x3a98aa,_0x3eb9e8);}else{if(_0xfbba8[_0x375f('0x47')][_0xceda5c]===_0x375f('0x86')){_0x2121de[_0x375f('0x4f')]('i.'+_0xceda5c+_0x375f('0x87'));}else{_0x2121de[_0x375f('0x4f')]('i.'+_0xceda5c+_0x375f('0x88'),_0xfbba8['query'][_0xceda5c]);}}});}if(_0xfbba8[_0x375f('0x47')][_0x375f('0x89')]){if(_0xfbba8[_0x375f('0x47')][_0x375f('0x89')]==0x1){_0x2121de['having'](_0x375f('0x8a'));}else{_0x2121de[_0x375f('0x6c')](_0x375f('0x8b'));}}if(_0xfbba8[_0x375f('0x47')][_0x375f('0x8c')]){_0x585a6f=_[_0x375f('0x8d')](_0xfbba8['query'][_0x375f('0x8c')])?_0xfbba8[_0x375f('0x47')][_0x375f('0x8c')]:new Array(_0xfbba8[_0x375f('0x47')]['tag']);_0x585a6f[_0x375f('0x35')](function(_0x46adaf){_0x55b320['or'](_0x375f('0x8e'),'%,'+_0x46adaf+',%');});}if(_0xfbba8[_0x375f('0x47')]['filter']){var _0x227fec=_0xfbba8[_0x375f('0x47')][_0x375f('0x8f')][_0x375f('0x90')]('\x5c','\x5c\x5c')[_0x375f('0x90')](/'/g,'\x27\x27');if(qs[_0x375f('0x91')](_0x227fec)){_0x410c86['or']('i.id\x20LIKE\x20?',_0x227fec+'%')['or'](_0x375f('0x92'),_0x227fec+'%');}else{_0x410c86['or'](_0x375f('0x93'),qs[_0x375f('0x72')](_0x227fec))['or']('CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?',_0x227fec+'%');}}}_0x2121de['where'](_0x410c86);_0x2121de[_0x375f('0x94')](_0x375f('0x95'));var _0x1638f0={'type':db[_0x375f('0x96')]['QueryTypes'][_0x375f('0x97')],'raw':!![]};var _0x3b60cd=_0x2121de[_0x375f('0x98')]();_0x3b60cd[_0x375f('0x51')](_0x375f('0x95'));_0x3b60cd[_0x375f('0x51')](_0x375f('0x99'),_0x375f('0x9a'));if(_0x38510f[_0x375f('0x9b')]){_0x38510f[_0x375f('0x9b')][_0x375f('0x35')](function(_0x17bd76){var _0x184822=_0x17bd76[0x0]===_0x375f('0x9c')?_0x17bd76[0x0]:'i.'+_0x17bd76[0x0];_0x2121de[_0x375f('0x9b')](_0x184822,_0x17bd76[0x1]===_0x375f('0x9d')?![]:!![]);});}if(!_[_0x375f('0x7e')](_0x585a6f)){_0x2121de[_0x375f('0x6c')](_0x55b320);_0x3b60cd[_0x375f('0x4f')]('t.id\x20IN\x20?',_0x585a6f);}BPromise[_0x375f('0x9e')]()[_0x375f('0x2b')](function(){if(!_0xd7d1ac){if(_0xfbba8[_0x375f('0x47')][_0x375f('0x7f')])return;_0x3b60cd[_0x375f('0x4f')](_0x375f('0x9f'));_0x2121de[_0x375f('0x4f')](_0x375f('0x9f'));return;}if(_0xfbba8[_0x375f('0xa0')][_0x375f('0xa1')]!=='agent')return;return _0xfbba8['user'][_0x375f('0xa2')]({'attributes':['id'],'raw':!![]})[_0x375f('0x2b')](function(_0x2bf960){if(_[_0x375f('0x7e')](_0x2bf960)){_0x3b60cd[_0x375f('0x4f')]('i.SmsAccountId\x20IS\x20NULL');_0x2121de['where'](_0x375f('0xa3'));}else{_0x3b60cd[_0x375f('0x4f')](_0x375f('0x80'),_['map'](_0x2bf960,'id'));_0x2121de[_0x375f('0x4f')](_0x375f('0x80'),_['map'](_0x2bf960,'id'));}});})[_0x375f('0x2b')](function(){if(_0xfbba8['user'][_0x375f('0xa1')]===_0x375f('0xa4')&&!_0xd7d1ac&&!_0xfbba8['query'][_0x375f('0x7f')])return[];return db[_0x375f('0xa5')][_0x375f('0x47')](_0x3b60cd[_0x375f('0xa6')](),_0x1638f0);})[_0x375f('0x2b')](function(_0x14d0c4){_0xc7ed35[_0x375f('0x25')]=_0x14d0c4['length'];if(_0xc7ed35[_0x375f('0x25')]===0x0)return[];return db[_0x375f('0xa5')]['query'](_0x22136f[_0x375f('0xa6')](),_0x1638f0)[_0x375f('0x2b')](function(_0x4b5ad3){_0x1b5347=_[_0x375f('0xa7')](_0x4b5ad3,'id');_0x1638f0=_[_0x375f('0xa8')](_0x1638f0,{'model':db[_0x375f('0x40')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0xfbba8['query']['fields']){_0x38510f[_0x375f('0x4b')][_0x375f('0x35')](function(_0x7cdd22){_0x2121de[_0x375f('0x51')]('i.'+_0x7cdd22);});}else{_0x2121de[_0x375f('0x51')](_0x375f('0x99'),_0x375f('0x9a'));_0x2121de['field'](_0x375f('0xa9'),'Account.key');_0x2121de[_0x375f('0x51')](_0x375f('0xaa'),'Account.mandatoryDisposition');_0x2121de[_0x375f('0x51')]('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',_0x375f('0x9c'));_0x2121de['field']('i.*');_0x2121de[_0x375f('0x51')](_0x375f('0xab'),_0x375f('0xac'));_0x2121de['field'](_0x375f('0xad'),_0x375f('0xae'));_0x2121de[_0x375f('0x51')]('c.email',_0x375f('0xaf'));_0x2121de[_0x375f('0x51')](_0x375f('0xb0'),_0x375f('0xb1'));_0x2121de[_0x375f('0x51')](_0x375f('0xb2'),'Contact.mobile');_0x2121de[_0x375f('0x51')](_0x375f('0xb3'),_0x375f('0xb4'));_0x2121de['field'](_0x375f('0xb5'),_0x375f('0xb6'));_0x2121de[_0x375f('0x51')](_0x375f('0xb7'),_0x375f('0xb8'));_0x2121de['field'](_0x375f('0xb9'),_0x375f('0x32'));}if(_0x38510f['limit'])_0x2121de[_0x375f('0x24')](_0x38510f['limit']);if(_0x38510f[_0x375f('0x22')])_0x2121de['offset'](_0x38510f[_0x375f('0x22')]);return db[_0x375f('0xa5')]['query'](_0x2121de[_0x375f('0xa6')](),_0x1638f0);})[_0x375f('0x2b')](function(_0x5df21a){if(_0x5df21a[_0x375f('0x4c')]>0x0)_0x42ae19[_0x375f('0x4f')](_0x375f('0xba'),_[_0x375f('0x45')](_0x5df21a,'id'));return db[_0x375f('0xa5')][_0x375f('0x47')](_0x42ae19[_0x375f('0xa6')](),_0x1638f0)[_0x375f('0x2b')](function(_0x1a7d0c){var _0x83d8eb=_[_0x375f('0xbb')](_0x1a7d0c,_0x375f('0xbc'));var _0x2cd123=[];_0x5df21a['forEach'](function(_0x4d8e03){_0x2cd123[_0x375f('0x36')](updateSmsInteraction(_0x4d8e03,_0x1b5347,_0x83d8eb));});return BPromise['all'](_0x2cd123);});});})[_0x375f('0x2b')](function(_0x2eb9e1){_0xc7ed35[_0x375f('0xbd')]=_0x2eb9e1;return _0xc7ed35;})['then'](respondWithFilteredResult(_0xbbf01a,_0x38510f))['catch'](handleError(_0xbbf01a,null));};exports['show']=function(_0x1c1b34,_0xbff0c9){var _0x5dc536={'raw':![],'where':{'id':_0x1c1b34[_0x375f('0xbe')]['id']}},_0x2e0c14={};_0x2e0c14['model']=_[_0x375f('0x46')](db[_0x375f('0x40')][_0x375f('0x41')]);_0x2e0c14[_0x375f('0x47')]=_[_0x375f('0x46')](_0x1c1b34[_0x375f('0x47')]);_0x2e0c14['filters']=_[_0x375f('0x49')](_0x2e0c14[_0x375f('0x44')],_0x2e0c14['query']);_0x5dc536['attributes']=_['intersection'](_0x2e0c14['model'],qs[_0x375f('0x4a')](_0x1c1b34[_0x375f('0x47')][_0x375f('0x4a')]));_0x5dc536[_0x375f('0x4b')]=_0x5dc536['attributes'][_0x375f('0x4c')]?_0x5dc536['attributes']:_0x2e0c14[_0x375f('0x44')];if(_0x1c1b34['query'][_0x375f('0xbf')]){_0x5dc536[_0x375f('0xc0')]=[{'all':!![]}];}_0x5dc536=_[_0x375f('0xa8')]({},_0x5dc536,_0x1c1b34['options']);return db[_0x375f('0x40')][_0x375f('0x6a')](_0x5dc536)[_0x375f('0x2b')](handleEntityNotFound(_0xbff0c9,null))['then'](respondWithResult(_0xbff0c9,null))[_0x375f('0x37')](handleError(_0xbff0c9,null));};exports['create']=function(_0x195a13,_0x4a7741){return db[_0x375f('0x40')]['create'](_0x195a13[_0x375f('0xc1')],{})[_0x375f('0x2b')](respondWithResult(_0x4a7741,0xc9))[_0x375f('0x37')](handleError(_0x4a7741,null));};exports['update']=function(_0x5c864c,_0x5a3fd7){if(_0x5c864c[_0x375f('0xc1')]['id']){delete _0x5c864c[_0x375f('0xc1')]['id'];}return db['SmsInteraction'][_0x375f('0x6a')]({'where':{'id':_0x5c864c[_0x375f('0xbe')]['id']}})[_0x375f('0x2b')](handleEntityNotFound(_0x5a3fd7,null))[_0x375f('0x2b')](saveUpdates(_0x5c864c[_0x375f('0xc1')],null))[_0x375f('0x2b')](respondWithResult(_0x5a3fd7,null))[_0x375f('0x37')](handleError(_0x5a3fd7,null));};exports['destroy']=function(_0x252280,_0x4ef419){return db[_0x375f('0x40')][_0x375f('0x6a')]({'where':{'id':_0x252280['params']['id']}})['then'](handleEntityNotFound(_0x4ef419,null))[_0x375f('0x2b')](removeEntity(_0x4ef419,null))[_0x375f('0x37')](handleError(_0x4ef419,null));};exports['describe']=function(_0xfdabf2,_0x4acd2d){return db[_0x375f('0x40')][_0x375f('0xc2')]()['then'](respondWithResult(_0x4acd2d,null))[_0x375f('0x37')](handleError(_0x4acd2d,null));};exports[_0x375f('0xc3')]=function(_0x5ee563,_0x496a76,_0x5e9657){return db[_0x375f('0xc4')]['find']({'where':{'id':_0x5ee563[_0x375f('0xbe')]['id']}})['then'](handleEntityNotFound(_0x496a76,null))[_0x375f('0x2b')](function(_0x24850f){if(_0x24850f){return _0x24850f['addMessage'](_0x5ee563[_0x375f('0xc1')]['ids'],_[_0x375f('0xc5')](_0x5ee563[_0x375f('0xc1')],[_0x375f('0xc6'),'id'])||{});}})[_0x375f('0x2b')](respondWithResult(_0x496a76,null))[_0x375f('0x37')](handleError(_0x496a76,null));};exports[_0x375f('0xc7')]=function(_0x394b54,_0x11595e,_0x2a382b){var _0x2a20a5={'raw':![],'where':{}};var _0x53f15b={};var _0x467409={'count':0x0,'rows':[]};return db['SmsInteraction'][_0x375f('0xc8')]({'where':{'id':_0x394b54[_0x375f('0xbe')]['id']}})[_0x375f('0x2b')](handleEntityNotFound(_0x11595e,null))[_0x375f('0x2b')](function(_0x46e355){if(_0x46e355){_0x53f15b[_0x375f('0x44')]=_[_0x375f('0x46')](db[_0x375f('0xc4')][_0x375f('0x41')]);_0x53f15b['query']=_[_0x375f('0x46')](_0x394b54['query']);_0x53f15b[_0x375f('0x48')]=_['intersection'](_0x53f15b[_0x375f('0x44')],_0x53f15b['query']);_0x2a20a5[_0x375f('0x4b')]=_[_0x375f('0x49')](_0x53f15b[_0x375f('0x44')],qs[_0x375f('0x4a')](_0x394b54[_0x375f('0x47')]['fields']));_0x2a20a5[_0x375f('0x4b')]=_0x2a20a5['attributes'][_0x375f('0x4c')]?_0x2a20a5[_0x375f('0x4b')]:_0x53f15b[_0x375f('0x44')];if(!_0x394b54[_0x375f('0x47')][_0x375f('0x4d')](_0x375f('0xc9'))){_0x2a20a5[_0x375f('0x24')]=qs[_0x375f('0x24')](_0x394b54[_0x375f('0x47')][_0x375f('0x24')]);_0x2a20a5[_0x375f('0x22')]=qs[_0x375f('0x22')](_0x394b54['query']['offset']);}_0x2a20a5['order']=qs[_0x375f('0x4e')](_0x394b54[_0x375f('0x47')]['sort']);_0x2a20a5[_0x375f('0x4f')]=qs[_0x375f('0x48')](_[_0x375f('0xca')](_0x394b54['query'],_0x53f15b[_0x375f('0x48')]));_0x2a20a5['where'][_0x375f('0xbc')]=_0x46e355['id'];if(_0x394b54['query']['filter']){_0x2a20a5[_0x375f('0x4f')]=_[_0x375f('0xa8')](_0x2a20a5[_0x375f('0x4f')],{'$or':_[_0x375f('0x45')](_0x2a20a5[_0x375f('0x4b')],function(_0x1e9d73){var _0x2fc4b6={};_0x2fc4b6[_0x1e9d73]={'$like':'%'+_0x394b54[_0x375f('0x47')][_0x375f('0x8f')]+'%'};return _0x2fc4b6;})});}if(_0x394b54[_0x375f('0x47')][_0x375f('0x84')]){var _0x111915=_0x394b54[_0x375f('0x47')][_0x375f('0x84')][_0x375f('0x34')](',');var _0x476869={};_0x476869[_0x111915[0x0]]={'$gte':moment(_0x111915[0x1])[_0x375f('0xcb')](_0x375f('0xcc'))};_0x2a20a5['where']=_[_0x375f('0xa8')](_0x2a20a5[_0x375f('0x4f')],_0x476869);}_0x2a20a5=_[_0x375f('0xa8')]({},_0x2a20a5,_0x394b54[_0x375f('0xcd')]);return db['SmsMessage'][_0x375f('0x25')]({'where':_0x2a20a5[_0x375f('0x4f')]})[_0x375f('0x2b')](function(_0x187ecc){_0x467409[_0x375f('0x25')]=_0x187ecc;if(_0x394b54[_0x375f('0x47')]['includeAll']){_0x2a20a5[_0x375f('0xc0')]=[{'all':!![]}];}return db[_0x375f('0xc4')]['findAll'](_0x2a20a5);})[_0x375f('0x2b')](function(_0xfab2ec){_0x467409[_0x375f('0xbd')]=_0xfab2ec;return _0x467409;});}})['then'](respondWithFilteredResult(_0x11595e,_0x2a20a5))[_0x375f('0x37')](handleError(_0x11595e,null));};exports[_0x375f('0xce')]=function(_0x37caea,_0x1c91ac,_0x5bd612){return db[_0x375f('0x40')][_0x375f('0x6a')]({'where':{'id':_0x37caea[_0x375f('0xbe')]['id']}})[_0x375f('0x2b')](handleEntityNotFound(_0x1c91ac,null))[_0x375f('0x2b')](function(_0x27cf89){if(_0x27cf89){return _0x27cf89[_0x375f('0xcf')](_0x37caea[_0x375f('0xc1')][_0x375f('0xc6')],_[_0x375f('0xc5')](_0x37caea[_0x375f('0xc1')],[_0x375f('0xc6'),'id'])||{})[_0x375f('0xd0')](function(){return db[_0x375f('0x77')][_0x375f('0xd1')]({'attributes':['id',_0x375f('0x30'),_0x375f('0x52')],'where':{'id':_0x37caea[_0x375f('0xc1')][_0x375f('0xc6')]}});})[_0x375f('0x2b')](function(_0x1edbec){socket[_0x375f('0xd2')](_0x375f('0xd3'),{'id':Number(_0x37caea[_0x375f('0xbe')]['id']),'tags':_0x1edbec||[]});return{'id':Number(_0x37caea[_0x375f('0xbe')]['id']),'tags':_0x1edbec||[]};});}})['then'](respondWithResult(_0x1c91ac,null))['catch'](handleError(_0x1c91ac,null));};exports[_0x375f('0xd4')]=function(_0x11f145,_0x1b34d0,_0x56432c){return db[_0x375f('0x40')][_0x375f('0x6a')]({'where':{'id':_0x11f145['params']['id']}})[_0x375f('0x2b')](handleEntityNotFound(_0x1b34d0,null))[_0x375f('0x2b')](function(_0x8a766e){if(_0x8a766e){return _0x8a766e[_0x375f('0xd4')](_0x11f145[_0x375f('0x47')][_0x375f('0xc6')]);}})[_0x375f('0x2b')](respondWithStatusCode(_0x1b34d0,null))[_0x375f('0x37')](handleError(_0x1b34d0,null));};exports[_0x375f('0xd5')]=function(_0x47b86e,_0x3f4963){var _0x48e41f=moment()[_0x375f('0xd6')]()[_0x375f('0xa6')]();var _0x4427d2=path['join'](config[_0x375f('0xd7')],_0x375f('0xd8'),'files','tmp');var _0x24ca16=path[_0x375f('0xd9')](config['root'],_0x375f('0xd8'),_0x375f('0xda'),'attachments');var _0x1f121a=path[_0x375f('0xd9')](_0x4427d2,_0x48e41f);var _0x29f5e7=util['format'](_0x375f('0xdb'),_0x47b86e[_0x375f('0xbe')]['id'],_0x48e41f);var _0x5b9085=path[_0x375f('0xd9')](_0x4427d2,_0x29f5e7);var _0x2b2da9=[];_0x2b2da9[_0x375f('0x36')]({'model':db[_0x375f('0x79')],'as':_0x375f('0x79'),'attributes':['id',_0x375f('0x31')],'raw':!![]});_0x2b2da9[_0x375f('0x36')]({'model':db[_0x375f('0xdc')],'as':'Contact','attributes':['id',_0x375f('0xdd'),_0x375f('0xde')],'raw':!![]});var _0x53acf2=[{'model':db[_0x375f('0xc4')],'as':_0x375f('0xdf'),'attributes':['id',_0x375f('0xc1'),_0x375f('0x82'),_0x375f('0xe0'),_0x375f('0xe1'),_0x375f('0x89')],'include':_0x2b2da9}];_0x53acf2[_0x375f('0x36')]({'model':db[_0x375f('0xe2')],'as':_0x375f('0xe3'),'attributes':['id',_0x375f('0x30')]});_0x53acf2[_0x375f('0x36')]({'model':db[_0x375f('0x79')],'as':_0x375f('0xe4'),'attributes':['id',_0x375f('0x31')]});return db['SmsInteraction']['find']({'where':{'id':_0x47b86e[_0x375f('0xbe')]['id']},'include':_0x53acf2})[_0x375f('0x2b')](handleEntityNotFound(_0x3f4963,null))[_0x375f('0x2b')](function(_0x2e1bf2){if(_0x2e1bf2){var _0x8cd698=_0x2e1bf2[_0x375f('0xe5')]({'plain':!![]});fs[_0x375f('0xe6')](_0x1f121a);var _0x1b2627={'channel':_0x375f('0xe7'),'account':_0x8cd698[_0x375f('0xe3')]['name'],'agent':_0x8cd698[_0x375f('0xe4')]?_0x8cd698[_0x375f('0xe4')][_0x375f('0x31')]:_0x375f('0xe8'),'createdAt':moment(_0x8cd698[_0x375f('0x82')])[_0x375f('0xcb')](_0x375f('0xcc'))[_0x375f('0xa6')](),'closedAt':_0x8cd698[_0x375f('0x3b')]?moment(_0x8cd698[_0x375f('0xe9')])[_0x375f('0xcb')]('YYYY-MM-DD\x20HH:mm:ss')[_0x375f('0xa6')]():'','disposition':_0x8cd698[_0x375f('0xea')],'messages':_(_0x8cd698['Messages'])[_0x375f('0x8f')]({'secret':![]})[_0x375f('0x45')](function(_0x413663){return{'date':moment(_0x413663['createdAt'])[_0x375f('0xcb')]('YYYY-MM-DD\x20HH:mm:ss')['toString'](),'sender':_0x413663[_0x375f('0xe0')]===_0x375f('0xeb')?_0x413663[_0x375f('0x79')]?_0x413663[_0x375f('0x79')][_0x375f('0x31')]:_0x375f('0xec'):_0x413663['Contact']['firstName']+(_0x413663['Contact'][_0x375f('0xde')]?'\x20'+_0x413663[_0x375f('0x6e')][_0x375f('0xde')]:''),'body':_0x413663[_0x375f('0xc1')],'direction':_0x413663[_0x375f('0xe0')]===_0x375f('0xeb')?'A':'C','secret':_0x413663['secret'],'read':_0x413663[_0x375f('0x89')]};})[_0x375f('0x6b')]()};return ejs[_0x375f('0xed')](path[_0x375f('0xd9')](config['root'],_0x375f('0xd8'),'views',_0x375f('0xee')),{'interaction':_0x1b2627})['then'](function(_0x4457da){var _0xc34d47=path[_0x375f('0xd9')](_0x1f121a,'transcript-'+_0x8cd698['id']+'-'+_0x48e41f+_0x375f('0xef'));var _0x167d99={'path':_0xc34d47,'channel':_0x375f('0xe7'),'interactionId':_0x8cd698['id']};return pdf[_0x375f('0xf0')](_0x4457da,_0x167d99);})[_0x375f('0x2b')](function(){return new BPromise(function(_0x28635f,_0x5bb7b5){zipdir(_0x1f121a,{'saveTo':_0x5b9085},function(_0x1ab8a9,_0x1326d8){if(_0x1ab8a9)return _0x5bb7b5(_0x1ab8a9);return _0x28635f(_0x1326d8);});})['then'](function(){return new BPromise(function(_0x4a95d4,_0x3f21ac){rimraf(_0x1f121a,function(_0x5c41bb){if(_0x5c41bb)_0x3f21ac(_0x5c41bb);return _0x4a95d4();});});})[_0x375f('0x2b')](function(){return _0x3f4963['download'](_0x5b9085,_0x29f5e7,function(_0x217b42){if(_0x217b42){console[_0x375f('0xf1')](_0x375f('0xf2'),_0x217b42);}else{fs['unlinkSync'](_0x5b9085);}});});});}else{return _0x3f4963[_0x375f('0x2d')](0xc8);}})[_0x375f('0x37')](handleError(_0x3f4963,null));};