Built motion from commit f7863d46.|2.5.41
[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 _0x950b=['undefined','limit','count','offset','Content-Range','apply','reject','destroy','then','error','name','send','Users','map','Tags','TagIds','split','forEach','push','catch','waiting','talking','answered','unmanaged','total','closed','UserId','fieldName','type','query','keys','filters','intersection','attributes','model','fields','length','hasOwnProperty','nolimit','order','sort','select','field','u.fullname','ui.SmsInteractionId','user_has_sms_interactions','left_join','u.id\x20=\x20ui.UserId','from','sms_interactions','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','users','o.id\x20=\x20i.UserId','a.id\x20=\x20i.SmsAccountId','sms_messages','sms_interaction_has_tags','it.SmsInteractionId\x20=\x20i.id','tools_tags','t.id\x20=\x20it.TagId','expr','search','parseSearch','conditions','unreadMessages','value','having','`\x20=\x200','Contact','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','ContactId','text','start','union','User','operator','$substring','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','find','buildExpression','compact','isEmpty','SmsAccountId','where','createdAt','parse','$gte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','read','`unreadMessages`\x20>\x200','tag','isArray','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','filter','replace','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?','group','i.id','Sequelize','QueryTypes','clone','contactName','resolve','i.SmsAccountId\x20IS\x20NOT\x20NULL','user','role','getSmsAccounts','i.SmsAccountId\x20IS\x20NULL','i.SmsAccountId\x20IN\x20?','agent','sequelize','toString','merge','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','a.key','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','Contact.lastName','c.email','Contact.email','c.phone','c.mobile','Contact.mobile','c.fax','Owner.fullname','GROUP_CONCAT(DISTINCT\x20t.id)','ui.SmsInteractionId\x20IN\x20?','rows','show','params','SmsInteraction','includeAll','include','options','create','body','update','describe','addMessage','SmsMessage','ids','omit','findOne','rawAttributes','pick','format','YYYY-MM-DD\x20HH:mm:ss','findAll','addTags','setTags','spread','Tag','color','smsInteractionTags:save','removeTags','download','unix','join','files','tmp','server','attachments','fullname','CmContact','lastName','direction','secret','SmsAccount','Account','get','mkdirSync','Owner','N.A.','closedAt','Messages','out','System','renderFile','root','views','downloadInteraction.ejs','transcript-','.pdf','Sms','createPdfFromHTML','log','unlinkSync','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','path','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../components/export/pdf','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','defaults','redis','localhost','socket.io-emitter','./smsInteraction.socket','register','sendStatus','end','status','json'];(function(_0x205500,_0x338c20){var _0x51cea5=function(_0x428eb2){while(--_0x428eb2){_0x205500['push'](_0x205500['shift']());}};_0x51cea5(++_0x338c20);}(_0x950b,0xc5));var _0xb950=function(_0x11cbb5,_0x390441){_0x11cbb5=_0x11cbb5-0x0;var _0x54b8d3=_0x950b[_0x11cbb5];return _0x54b8d3;};'use strict';var emlformat=require(_0xb950('0x0'));var rimraf=require(_0xb950('0x1'));var zipdir=require(_0xb950('0x2'));var jsonpatch=require(_0xb950('0x3'));var rp=require(_0xb950('0x4'));var moment=require(_0xb950('0x5'));var BPromise=require('bluebird');var Mustache=require(_0xb950('0x6'));var util=require('util');var path=require(_0xb950('0x7'));var sox=require('sox');var csv=require(_0xb950('0x8'));var ejs=require(_0xb950('0x9'));var fs=require('fs');var fs_extra=require(_0xb950('0xa'));var _=require(_0xb950('0xb'));var squel=require(_0xb950('0xc'));var crypto=require(_0xb950('0xd'));var jsforce=require(_0xb950('0xe'));var deskjs=require(_0xb950('0xf'));var toCsv=require(_0xb950('0x8'));var querystring=require(_0xb950('0x10'));var Papa=require('papaparse');var Redis=require(_0xb950('0x11'));var authService=require(_0xb950('0x12'));var qs=require(_0xb950('0x13'));var as=require(_0xb950('0x14'));var pdf=require(_0xb950('0x15'));var hardwareService=require(_0xb950('0x16'));var logger=require(_0xb950('0x17'))('api');var utils=require(_0xb950('0x18'));var config=require(_0xb950('0x19'));var licenseUtil=require(_0xb950('0x1a'));var db=require(_0xb950('0x1b'))['db'];config['redis']=_[_0xb950('0x1c')](config[_0xb950('0x1d')],{'host':_0xb950('0x1e'),'port':0x18eb});var socket=require(_0xb950('0x1f'))(new Redis(config[_0xb950('0x1d')]));require(_0xb950('0x20'))[_0xb950('0x21')](socket);function respondWithStatusCode(_0x21a955,_0x78841b){_0x78841b=_0x78841b||0xcc;return function(_0x2b44e1){if(_0x2b44e1){return _0x21a955[_0xb950('0x22')](_0x78841b);}return _0x21a955['status'](_0x78841b)[_0xb950('0x23')]();};}function respondWithResult(_0x47e780,_0x262fe6){_0x262fe6=_0x262fe6||0xc8;return function(_0x88f43){if(_0x88f43){return _0x47e780[_0xb950('0x24')](_0x262fe6)[_0xb950('0x25')](_0x88f43);}};}function respondWithFilteredResult(_0x341097,_0x58ab23){return function(_0x446049){if(_0x446049){var _0x281f7c=typeof _0x58ab23['offset']===_0xb950('0x26')&&typeof _0x58ab23[_0xb950('0x27')]==='undefined';var _0x8a7f4a=_0x446049[_0xb950('0x28')];var _0x103e37=_0x281f7c?0x0:_0x58ab23[_0xb950('0x29')];var _0x1d02e4=_0x281f7c?_0x446049[_0xb950('0x28')]:_0x58ab23['offset']+_0x58ab23[_0xb950('0x27')];var _0x368582;if(_0x1d02e4>=_0x8a7f4a){_0x1d02e4=_0x8a7f4a;_0x368582=0xc8;}else{_0x368582=0xce;}_0x341097[_0xb950('0x24')](_0x368582);return _0x341097['set'](_0xb950('0x2a'),_0x103e37+'-'+_0x1d02e4+'/'+_0x8a7f4a)[_0xb950('0x25')](_0x446049);}return null;};}function patchUpdates(_0x1bf364){return function(_0x540b09){try{jsonpatch[_0xb950('0x2b')](_0x540b09,_0x1bf364,!![]);}catch(_0x2a1535){return BPromise[_0xb950('0x2c')](_0x2a1535);}return _0x540b09['save']();};}function saveUpdates(_0x4fddbf,_0xf59da9){return function(_0x307ebd){if(_0x307ebd){return _0x307ebd['update'](_0x4fddbf)['then'](function(_0x219a47){return _0x219a47;});}return null;};}function removeEntity(_0x5be234,_0x3aefb6){return function(_0x295622){if(_0x295622){return _0x295622[_0xb950('0x2d')]()[_0xb950('0x2e')](function(){_0x5be234['status'](0xcc)[_0xb950('0x23')]();});}};}function handleEntityNotFound(_0x38d7a5,_0x111f39){return function(_0x381591){if(!_0x381591){_0x38d7a5[_0xb950('0x22')](0x194);}return _0x381591;};}function handleError(_0x554208,_0x31d662){_0x31d662=_0x31d662||0x1f4;return function(_0x1e2738){logger[_0xb950('0x2f')](_0x1e2738['stack']);if(_0x1e2738[_0xb950('0x30')]){delete _0x1e2738[_0xb950('0x30')];}_0x554208[_0xb950('0x24')](_0x31d662)[_0xb950('0x31')](_0x1e2738);};}function getInteractionUsers(_0x181b14,_0x43f5e4){return new BPromise(function(_0x151ee8,_0x5eb3ac){try{if(_0x43f5e4[_0x181b14['id']]){_0x181b14[_0xb950('0x32')]=_[_0xb950('0x33')](_0x43f5e4[_0x181b14['id']],function(_0x3cd184){return{'id':_0x3cd184['id'],'fullname':_0x3cd184['fullname']};});}}catch(_0x3e5777){_0x5eb3ac(_0x3e5777);}_0x151ee8(_0x181b14);});}function getInteractionTags(_0x5e473b,_0x5c5ada){return new BPromise(function(_0x3f2b61,_0x2b91d1){try{if(_0x5e473b['TagIds']){_0x5e473b[_0xb950('0x34')]=[];_0x5e473b[_0xb950('0x35')][_0xb950('0x36')](',')[_0xb950('0x37')](function(_0x34cfbc){_0x5e473b['Tags'][_0xb950('0x38')](_0x5c5ada[_0x34cfbc]);});}delete _0x5e473b['TagIds'];}catch(_0xb84045){_0x2b91d1(_0xb84045);}_0x3f2b61(_0x5e473b);});}function updateSmsInteraction(_0x13921b,_0x18d722,_0x12b68c){return new BPromise(function(_0x47ea8a,_0x4ccc0c){return getInteractionUsers(_0x13921b,_0x12b68c)[_0xb950('0x2e')](function(_0x1e0344){return getInteractionTags(_0x1e0344,_0x18d722);})['then'](function(_0x47b0dd){return getStateInteraction(_0x47b0dd);})[_0xb950('0x2e')](function(_0x4360bc){_0x47ea8a(_0x4360bc);})[_0xb950('0x39')](function(_0x184322){_0x4ccc0c(_0x184322);});});}function getStateInteraction(_0x57c474){return new BPromise(function(_0x314496){_0x57c474[_0xb950('0x3a')]=0x0;_0x57c474[_0xb950('0x3b')]=0x0;_0x57c474[_0xb950('0x3c')]=0x0;_0x57c474[_0xb950('0x3d')]=0x0;_0x57c474[_0xb950('0x3e')]=0x0;if(!_0x57c474[_0xb950('0x3f')]&&!_0x57c474[_0xb950('0x40')]){_0x57c474[_0xb950('0x3a')]+=0x1;}if(!_0x57c474[_0xb950('0x3f')]&&_0x57c474[_0xb950('0x40')]){_0x57c474[_0xb950('0x3b')]+=0x1;if(_0x57c474['waiting']){_0x57c474[_0xb950('0x3a')]-=0x1;}}if(_0x57c474[_0xb950('0x3f')]&&_0x57c474[_0xb950('0x40')]){_0x57c474[_0xb950('0x3c')]+=0x1;if(_0x57c474[_0xb950('0x3b')]){_0x57c474[_0xb950('0x3b')]-=0x1;}}if(_0x57c474[_0xb950('0x3f')]&&!_0x57c474['UserId']){_0x57c474[_0xb950('0x3d')]+=0x1;if(_0x57c474[_0xb950('0x3a')]){_0x57c474[_0xb950('0x3a')]-=0x1;}}_0x57c474[_0xb950('0x3e')]+=0x1;_0x314496(_0x57c474);});}exports['index']=function(_0x2623dd,_0x3ab328){var _0x8cf3d2={},_0x1ec95f={},_0x580e9e={'count':0x0,'rows':[]};var _0x7ea223=_['map'](db['SmsInteraction']['rawAttributes'],function(_0x20d584){return{'name':_0x20d584[_0xb950('0x41')],'type':_0x20d584[_0xb950('0x42')]['key']};});_0x1ec95f['model']=_[_0xb950('0x33')](_0x7ea223,_0xb950('0x30'));_0x1ec95f[_0xb950('0x43')]=_[_0xb950('0x44')](_0x2623dd[_0xb950('0x43')]);_0x1ec95f[_0xb950('0x45')]=_[_0xb950('0x46')](_0x1ec95f['model'],_0x1ec95f[_0xb950('0x43')]);_0x8cf3d2[_0xb950('0x47')]=_[_0xb950('0x46')](_0x1ec95f[_0xb950('0x48')],qs[_0xb950('0x49')](_0x2623dd[_0xb950('0x43')][_0xb950('0x49')]));_0x8cf3d2['attributes']=_0x8cf3d2[_0xb950('0x47')][_0xb950('0x4a')]?_0x8cf3d2[_0xb950('0x47')]:_0x1ec95f[_0xb950('0x48')];if(!_0x2623dd[_0xb950('0x43')][_0xb950('0x4b')](_0xb950('0x4c'))){_0x8cf3d2['limit']=qs[_0xb950('0x27')](_0x2623dd[_0xb950('0x43')][_0xb950('0x27')]);_0x8cf3d2[_0xb950('0x29')]=qs[_0xb950('0x29')](_0x2623dd[_0xb950('0x43')]['offset']);}_0x8cf3d2[_0xb950('0x4d')]=qs[_0xb950('0x4e')](_0x2623dd[_0xb950('0x43')][_0xb950('0x4e')]);_0x8cf3d2['where']=qs[_0xb950('0x45')](_['pick'](_0x2623dd[_0xb950('0x43')],_0x1ec95f[_0xb950('0x45')]),_0x7ea223);var _0x39cd5e=[];var _0x228e95=squel[_0xb950('0x4f')]()[_0xb950('0x50')]('id')[_0xb950('0x50')](_0xb950('0x30'))[_0xb950('0x50')]('color')['from']('tools_tags');var _0x287f24=squel[_0xb950('0x4f')]()[_0xb950('0x50')]('u.id')[_0xb950('0x50')](_0xb950('0x51'))[_0xb950('0x50')](_0xb950('0x52'))['from'](_0xb950('0x53'),'ui')[_0xb950('0x54')]('users','u',_0xb950('0x55'));var _0x8be3be=squel[_0xb950('0x4f')]()[_0xb950('0x56')](_0xb950('0x57'),'i')[_0xb950('0x54')](_0xb950('0x58'),'c',_0xb950('0x59'))[_0xb950('0x54')](_0xb950('0x5a'),'o',_0xb950('0x5b'))[_0xb950('0x54')]('sms_accounts','a',_0xb950('0x5c'))['left_join'](_0xb950('0x5d'),'me','me.SmsInteractionId\x20=\x20i.id')['left_join'](_0xb950('0x5e'),'it',_0xb950('0x5f'))[_0xb950('0x54')](_0xb950('0x60'),'t',_0xb950('0x61'));var _0x364992=squel[_0xb950('0x62')]();var _0x377af3=[];var _0x494c4d=squel[_0xb950('0x62')]();var _0x2998b1;if(_0x2623dd['query'][_0xb950('0x63')]){_0x2998b1=as[_0xb950('0x64')](_0x2623dd[_0xb950('0x43')][_0xb950('0x63')]);var _0xc1bcf3=_0x2998b1['sqlOperator'];for(var _0x3fefa5=0x0;_0x3fefa5<_0x2998b1[_0xb950('0x65')][_0xb950('0x4a')];_0x3fefa5++){var _0x3adfa6=_0x2998b1[_0xb950('0x65')][_0x3fefa5];var _0x5176ef='i';var _0xbe02f7=_['find'](_0x7ea223,[_0xb950('0x30'),_0x3adfa6[_0xb950('0x50')]]);if(!_0xbe02f7){switch(_0x3adfa6[_0xb950('0x50')]){case _0xb950('0x66'):if(_0x3adfa6[_0xb950('0x67')]==0x1){_0x8be3be[_0xb950('0x68')]('`'+_0x3adfa6['field']+_0xb950('0x69'));}else{_0x8be3be[_0xb950('0x68')]('`'+_0x3adfa6[_0xb950('0x50')]+'`\x20>\x200');}break;case _0xb950('0x6a'):if(_0x3adfa6['operator']==='$substring'){if(_0x3adfa6[_0xb950('0x67')]['split']('\x20')['length']>0x1){_0x364992[_0xc1bcf3](_0xb950('0x6b'),qs[_0xb950('0x6c')](_0x3adfa6['value']),null);}else{var _0x2ec543='%'+_0x3adfa6[_0xb950('0x67')]+'%';_0x364992[_0xc1bcf3]('c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?',_0x2ec543,_0x2ec543,_0x2ec543);}}else{_0xbe02f7=_['find'](_0x7ea223,[_0xb950('0x30'),_0xb950('0x6d')]);_0x3adfa6[_0xb950('0x50')]=_0xb950('0x6d');_0x8990a=as['buildExpression'](_0x5176ef,_0xbe02f7[_0xb950('0x42')],_0x3adfa6);_0x364992[_0xc1bcf3](_0x8990a[_0xb950('0x6e')],_0x8990a[_0xb950('0x67')][_0xb950('0x6f')],_0x8990a[_0xb950('0x67')][_0xb950('0x23')]);}break;case'Tag':var _0x3dd5ad=_0x3adfa6[_0xb950('0x67')][_0xb950('0x36')](',')[_0xb950('0x33')](function(_0x310e7a){return Number(_0x310e7a);});_0x3dd5ad[_0xb950('0x37')](function(_0x2523d4){_0x494c4d['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x2523d4+',%');});_0x377af3=_[_0xb950('0x70')](_0x377af3,_0x3dd5ad);break;case _0xb950('0x71'):if(_0x3adfa6[_0xb950('0x72')]===_0xb950('0x73')){_0x364992[_0xc1bcf3](_0xb950('0x74'),'%'+_0x3adfa6[_0xb950('0x67')]+'%',null);}else{_0xbe02f7=_[_0xb950('0x75')](_0x7ea223,[_0xb950('0x30'),_0xb950('0x40')]);_0x3adfa6['field']=_0xb950('0x40');_0x8990a=as[_0xb950('0x76')](_0x5176ef,_0xbe02f7[_0xb950('0x42')],_0x3adfa6);_0x364992[_0xc1bcf3](_0x8990a[_0xb950('0x6e')],_0x8990a[_0xb950('0x67')][_0xb950('0x6f')],_0x8990a[_0xb950('0x67')]['end']);}break;case'body':_0x8990a=as[_0xb950('0x76')]('me',null,_0x3adfa6);_0x364992[_0xc1bcf3](_0x8990a[_0xb950('0x6e')],_0x8990a[_0xb950('0x67')][_0xb950('0x6f')],_0x8990a[_0xb950('0x67')][_0xb950('0x23')]);break;}}else{var _0x8990a=as['buildExpression'](_0x5176ef,_0xbe02f7[_0xb950('0x42')],_0x3adfa6);_0x364992[_0xc1bcf3](_0x8990a[_0xb950('0x6e')],_0x8990a[_0xb950('0x67')]['start'],_0x8990a[_0xb950('0x67')]['end']);}}}else{var _0x54bbe4=_(_0x2623dd[_0xb950('0x43')])[_0xb950('0x44')]()[_0xb950('0x33')](function(_0x16d0c9){return _['some'](_0x7ea223,['name',_0x16d0c9])?_0x16d0c9:undefined;})[_0xb950('0x77')]()[_0xb950('0x67')]();if(!_[_0xb950('0x78')](_0x54bbe4)){_0x54bbe4[_0xb950('0x37')](function(_0x22afdc){if(_0x22afdc===_0xb950('0x79')){_0x8be3be[_0xb950('0x7a')]('i.SmsAccountId\x20IN\x20?',[]['concat'](_0x2623dd[_0xb950('0x43')][_0x22afdc]));}else if(_0x22afdc===_0xb950('0x7b')){var _0x33f5ba=JSON[_0xb950('0x7c')](_0x2623dd[_0xb950('0x43')][_0x22afdc])[_0xb950('0x7d')];var _0x449bd8=JSON[_0xb950('0x7c')](_0x2623dd[_0xb950('0x43')][_0x22afdc])['$lte'];_0x8be3be[_0xb950('0x7a')](_0xb950('0x7e'),_0x33f5ba,_0x449bd8);}else{if(_0x2623dd[_0xb950('0x43')][_0x22afdc]===_0xb950('0x7f')){_0x8be3be[_0xb950('0x7a')]('i.'+_0x22afdc+_0xb950('0x80'));}else{_0x8be3be[_0xb950('0x7a')]('i.'+_0x22afdc+'\x20=\x20?',_0x2623dd[_0xb950('0x43')][_0x22afdc]);}}});}if(_0x2623dd['query'][_0xb950('0x81')]){if(_0x2623dd[_0xb950('0x43')][_0xb950('0x81')]==0x1){_0x8be3be[_0xb950('0x68')]('`unreadMessages`\x20=\x200');}else{_0x8be3be[_0xb950('0x68')](_0xb950('0x82'));}}if(_0x2623dd[_0xb950('0x43')][_0xb950('0x83')]){_0x377af3=_[_0xb950('0x84')](_0x2623dd[_0xb950('0x43')][_0xb950('0x83')])?_0x2623dd['query'][_0xb950('0x83')]:new Array(_0x2623dd[_0xb950('0x43')][_0xb950('0x83')]);_0x377af3['forEach'](function(_0x465825){_0x494c4d['or'](_0xb950('0x85'),'%,'+_0x465825+',%');});}if(_0x2623dd[_0xb950('0x43')][_0xb950('0x86')]){var _0x3bc663=_0x2623dd[_0xb950('0x43')][_0xb950('0x86')]['replace']('\x5c','\x5c\x5c')[_0xb950('0x87')](/'/g,'\x27\x27');if(qs[_0xb950('0x88')](_0x3bc663)){_0x364992['or'](_0xb950('0x89'),_0x3bc663+'%')['or'](_0xb950('0x8a'),_0x3bc663+'%');}else{_0x364992['or'](_0xb950('0x8b'),qs[_0xb950('0x6c')](_0x3bc663))['or'](_0xb950('0x8c'),_0x3bc663+'%');}}}_0x8be3be[_0xb950('0x7a')](_0x364992);_0x8be3be[_0xb950('0x8d')](_0xb950('0x8e'));var _0x540d3f={'type':db[_0xb950('0x8f')][_0xb950('0x90')]['SELECT'],'raw':!![]};var _0x11a207=_0x8be3be[_0xb950('0x91')]();_0x11a207['field']('i.id');_0x11a207[_0xb950('0x50')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0xb950('0x66'));if(_0x8cf3d2[_0xb950('0x4d')]){_0x8cf3d2[_0xb950('0x4d')]['forEach'](function(_0x2a34d4){var _0x4a50c2=_0x2a34d4[0x0]===_0xb950('0x92')?_0x2a34d4[0x0]:'i.'+_0x2a34d4[0x0];_0x8be3be[_0xb950('0x4d')](_0x4a50c2,_0x2a34d4[0x1]==='DESC'?![]:!![]);});}if(!_[_0xb950('0x78')](_0x377af3)){_0x8be3be['having'](_0x494c4d);_0x11a207[_0xb950('0x7a')]('t.id\x20IN\x20?',_0x377af3);}BPromise[_0xb950('0x93')]()[_0xb950('0x2e')](function(){if(!_0x2998b1){if(_0x2623dd[_0xb950('0x43')][_0xb950('0x79')])return;_0x11a207[_0xb950('0x7a')](_0xb950('0x94'));_0x8be3be[_0xb950('0x7a')](_0xb950('0x94'));return;}if(_0x2623dd[_0xb950('0x95')][_0xb950('0x96')]!=='agent')return;return _0x2623dd['user'][_0xb950('0x97')]({'attributes':['id'],'raw':!![]})[_0xb950('0x2e')](function(_0x546d21){if(_['isEmpty'](_0x546d21)){_0x11a207[_0xb950('0x7a')](_0xb950('0x98'));_0x8be3be[_0xb950('0x7a')](_0xb950('0x98'));}else{_0x11a207[_0xb950('0x7a')](_0xb950('0x99'),_[_0xb950('0x33')](_0x546d21,'id'));_0x8be3be[_0xb950('0x7a')]('i.SmsAccountId\x20IN\x20?',_['map'](_0x546d21,'id'));}});})[_0xb950('0x2e')](function(){if(_0x2623dd[_0xb950('0x95')][_0xb950('0x96')]===_0xb950('0x9a')&&!_0x2998b1&&!_0x2623dd[_0xb950('0x43')][_0xb950('0x79')])return[];return db[_0xb950('0x9b')][_0xb950('0x43')](_0x11a207[_0xb950('0x9c')](),_0x540d3f);})[_0xb950('0x2e')](function(_0x3a10c5){_0x580e9e[_0xb950('0x28')]=_0x3a10c5[_0xb950('0x4a')];if(_0x580e9e['count']===0x0)return[];return db[_0xb950('0x9b')][_0xb950('0x43')](_0x228e95['toString'](),_0x540d3f)[_0xb950('0x2e')](function(_0x1c9c7d){_0x39cd5e=_['keyBy'](_0x1c9c7d,'id');_0x540d3f=_[_0xb950('0x9d')](_0x540d3f,{'model':db['SmsInteraction'],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x2623dd[_0xb950('0x43')][_0xb950('0x49')]){_0x8cf3d2[_0xb950('0x47')][_0xb950('0x37')](function(_0x2d71de){_0x8be3be[_0xb950('0x50')]('i.'+_0x2d71de);});}else{_0x8be3be[_0xb950('0x50')](_0xb950('0x9e'),_0xb950('0x66'));_0x8be3be[_0xb950('0x50')](_0xb950('0x9f'),'Account.key');_0x8be3be['field']('a.mandatoryDisposition','Account.mandatoryDisposition');_0x8be3be[_0xb950('0x50')](_0xb950('0xa0'),_0xb950('0x92'));_0x8be3be[_0xb950('0x50')](_0xb950('0xa1'));_0x8be3be[_0xb950('0x50')](_0xb950('0xa2'),_0xb950('0xa3'));_0x8be3be[_0xb950('0x50')](_0xb950('0xa4'),_0xb950('0xa5'));_0x8be3be[_0xb950('0x50')](_0xb950('0xa6'),_0xb950('0xa7'));_0x8be3be['field'](_0xb950('0xa8'),'Contact.phone');_0x8be3be[_0xb950('0x50')](_0xb950('0xa9'),_0xb950('0xaa'));_0x8be3be[_0xb950('0x50')](_0xb950('0xab'),'Contact.fax');_0x8be3be[_0xb950('0x50')]('o.fullname',_0xb950('0xac'));_0x8be3be['field']('o.internal','Owner.internal');_0x8be3be['field'](_0xb950('0xad'),'TagIds');}if(_0x8cf3d2[_0xb950('0x27')])_0x8be3be[_0xb950('0x27')](_0x8cf3d2['limit']);if(_0x8cf3d2[_0xb950('0x29')])_0x8be3be[_0xb950('0x29')](_0x8cf3d2['offset']);return db[_0xb950('0x9b')]['query'](_0x8be3be[_0xb950('0x9c')](),_0x540d3f);})[_0xb950('0x2e')](function(_0x2b151d){if(_0x2b151d[_0xb950('0x4a')]>0x0)_0x287f24['where'](_0xb950('0xae'),_[_0xb950('0x33')](_0x2b151d,'id'));return db[_0xb950('0x9b')]['query'](_0x287f24[_0xb950('0x9c')](),_0x540d3f)[_0xb950('0x2e')](function(_0x1ed963){var _0xab3799=_['groupBy'](_0x1ed963,'SmsInteractionId');var _0x5d5225=[];_0x2b151d[_0xb950('0x37')](function(_0x384d16){_0x5d5225[_0xb950('0x38')](updateSmsInteraction(_0x384d16,_0x39cd5e,_0xab3799));});return BPromise['all'](_0x5d5225);});});})['then'](function(_0x2442b8){_0x580e9e[_0xb950('0xaf')]=_0x2442b8;return _0x580e9e;})[_0xb950('0x2e')](respondWithFilteredResult(_0x3ab328,_0x8cf3d2))[_0xb950('0x39')](handleError(_0x3ab328,null));};exports[_0xb950('0xb0')]=function(_0xa87e0c,_0x3e4e51){var _0x17e5c4={'raw':![],'where':{'id':_0xa87e0c[_0xb950('0xb1')]['id']}},_0x1a58a2={};_0x1a58a2[_0xb950('0x48')]=_[_0xb950('0x44')](db[_0xb950('0xb2')]['rawAttributes']);_0x1a58a2[_0xb950('0x43')]=_[_0xb950('0x44')](_0xa87e0c[_0xb950('0x43')]);_0x1a58a2['filters']=_[_0xb950('0x46')](_0x1a58a2[_0xb950('0x48')],_0x1a58a2[_0xb950('0x43')]);_0x17e5c4[_0xb950('0x47')]=_['intersection'](_0x1a58a2[_0xb950('0x48')],qs['fields'](_0xa87e0c[_0xb950('0x43')][_0xb950('0x49')]));_0x17e5c4[_0xb950('0x47')]=_0x17e5c4[_0xb950('0x47')][_0xb950('0x4a')]?_0x17e5c4['attributes']:_0x1a58a2[_0xb950('0x48')];if(_0xa87e0c[_0xb950('0x43')][_0xb950('0xb3')]){_0x17e5c4[_0xb950('0xb4')]=[{'all':!![]}];}_0x17e5c4=_[_0xb950('0x9d')]({},_0x17e5c4,_0xa87e0c[_0xb950('0xb5')]);return db[_0xb950('0xb2')][_0xb950('0x75')](_0x17e5c4)[_0xb950('0x2e')](handleEntityNotFound(_0x3e4e51,null))[_0xb950('0x2e')](respondWithResult(_0x3e4e51,null))['catch'](handleError(_0x3e4e51,null));};exports['create']=function(_0x26d289,_0x49124c){return db[_0xb950('0xb2')][_0xb950('0xb6')](_0x26d289[_0xb950('0xb7')],{})[_0xb950('0x2e')](respondWithResult(_0x49124c,0xc9))['catch'](handleError(_0x49124c,null));};exports[_0xb950('0xb8')]=function(_0x2746d0,_0x1592f1){if(_0x2746d0['body']['id']){delete _0x2746d0[_0xb950('0xb7')]['id'];}return db[_0xb950('0xb2')][_0xb950('0x75')]({'where':{'id':_0x2746d0[_0xb950('0xb1')]['id']}})[_0xb950('0x2e')](handleEntityNotFound(_0x1592f1,null))[_0xb950('0x2e')](saveUpdates(_0x2746d0[_0xb950('0xb7')],null))[_0xb950('0x2e')](respondWithResult(_0x1592f1,null))[_0xb950('0x39')](handleError(_0x1592f1,null));};exports[_0xb950('0x2d')]=function(_0x330e96,_0x4487ec){return db[_0xb950('0xb2')][_0xb950('0x75')]({'where':{'id':_0x330e96['params']['id']}})[_0xb950('0x2e')](handleEntityNotFound(_0x4487ec,null))['then'](removeEntity(_0x4487ec,null))[_0xb950('0x39')](handleError(_0x4487ec,null));};exports[_0xb950('0xb9')]=function(_0xdf8787,_0xaf7afd){return db[_0xb950('0xb2')][_0xb950('0xb9')]()[_0xb950('0x2e')](respondWithResult(_0xaf7afd,null))[_0xb950('0x39')](handleError(_0xaf7afd,null));};exports[_0xb950('0xba')]=function(_0x451d1f,_0x274c8f,_0x3164c7){return db[_0xb950('0xbb')][_0xb950('0x75')]({'where':{'id':_0x451d1f['params']['id']}})['then'](handleEntityNotFound(_0x274c8f,null))[_0xb950('0x2e')](function(_0x45376a){if(_0x45376a){return _0x45376a[_0xb950('0xba')](_0x451d1f['body'][_0xb950('0xbc')],_[_0xb950('0xbd')](_0x451d1f['body'],[_0xb950('0xbc'),'id'])||{});}})[_0xb950('0x2e')](respondWithResult(_0x274c8f,null))[_0xb950('0x39')](handleError(_0x274c8f,null));};exports['getMessages']=function(_0x34a899,_0x3d57e7,_0x18884c){var _0x42831e={'raw':![],'where':{}};var _0x125cee={};var _0x13a391={'count':0x0,'rows':[]};return db[_0xb950('0xb2')][_0xb950('0xbe')]({'where':{'id':_0x34a899[_0xb950('0xb1')]['id']}})[_0xb950('0x2e')](handleEntityNotFound(_0x3d57e7,null))['then'](function(_0x2d0cde){if(_0x2d0cde){_0x125cee[_0xb950('0x48')]=_[_0xb950('0x44')](db[_0xb950('0xbb')][_0xb950('0xbf')]);_0x125cee['query']=_[_0xb950('0x44')](_0x34a899['query']);_0x125cee[_0xb950('0x45')]=_[_0xb950('0x46')](_0x125cee[_0xb950('0x48')],_0x125cee[_0xb950('0x43')]);_0x42831e[_0xb950('0x47')]=_[_0xb950('0x46')](_0x125cee[_0xb950('0x48')],qs[_0xb950('0x49')](_0x34a899[_0xb950('0x43')][_0xb950('0x49')]));_0x42831e['attributes']=_0x42831e[_0xb950('0x47')][_0xb950('0x4a')]?_0x42831e[_0xb950('0x47')]:_0x125cee[_0xb950('0x48')];if(!_0x34a899['query'][_0xb950('0x4b')](_0xb950('0x4c'))){_0x42831e[_0xb950('0x27')]=qs['limit'](_0x34a899['query'][_0xb950('0x27')]);_0x42831e[_0xb950('0x29')]=qs[_0xb950('0x29')](_0x34a899[_0xb950('0x43')][_0xb950('0x29')]);}_0x42831e[_0xb950('0x4d')]=qs['sort'](_0x34a899['query'][_0xb950('0x4e')]);_0x42831e['where']=qs[_0xb950('0x45')](_[_0xb950('0xc0')](_0x34a899[_0xb950('0x43')],_0x125cee[_0xb950('0x45')]));_0x42831e[_0xb950('0x7a')]['SmsInteractionId']=_0x2d0cde['id'];if(_0x34a899[_0xb950('0x43')][_0xb950('0x86')]){_0x42831e[_0xb950('0x7a')]=_['merge'](_0x42831e[_0xb950('0x7a')],{'$or':_[_0xb950('0x33')](_0x42831e[_0xb950('0x47')],function(_0x4cc289){var _0x17935={};_0x17935[_0x4cc289]={'$like':'%'+_0x34a899[_0xb950('0x43')]['filter']+'%'};return _0x17935;})});}if(_0x34a899[_0xb950('0x43')]['$gte']){var _0x1181f2=_0x34a899['query'][_0xb950('0x7d')][_0xb950('0x36')](',');var _0x3cbaf6={};_0x3cbaf6[_0x1181f2[0x0]]={'$gte':moment(_0x1181f2[0x1])[_0xb950('0xc1')](_0xb950('0xc2'))};_0x42831e[_0xb950('0x7a')]=_[_0xb950('0x9d')](_0x42831e[_0xb950('0x7a')],_0x3cbaf6);}_0x42831e=_[_0xb950('0x9d')]({},_0x42831e,_0x34a899[_0xb950('0xb5')]);return db['SmsMessage'][_0xb950('0x28')]({'where':_0x42831e['where']})['then'](function(_0x47caff){_0x13a391[_0xb950('0x28')]=_0x47caff;if(_0x34a899['query'][_0xb950('0xb3')]){_0x42831e[_0xb950('0xb4')]=[{'all':!![]}];}return db[_0xb950('0xbb')][_0xb950('0xc3')](_0x42831e);})[_0xb950('0x2e')](function(_0x49fc39){_0x13a391[_0xb950('0xaf')]=_0x49fc39;return _0x13a391;});}})['then'](respondWithFilteredResult(_0x3d57e7,_0x42831e))[_0xb950('0x39')](handleError(_0x3d57e7,null));};exports[_0xb950('0xc4')]=function(_0x4125b5,_0x3bf688,_0x5c974e){return db[_0xb950('0xb2')]['find']({'where':{'id':_0x4125b5['params']['id']}})['then'](handleEntityNotFound(_0x3bf688,null))['then'](function(_0x447476){if(_0x447476){return _0x447476[_0xb950('0xc5')](_0x4125b5[_0xb950('0xb7')][_0xb950('0xbc')],_[_0xb950('0xbd')](_0x4125b5[_0xb950('0xb7')],['ids','id'])||{})[_0xb950('0xc6')](function(){return db[_0xb950('0xc7')][_0xb950('0xc3')]({'attributes':['id',_0xb950('0x30'),_0xb950('0xc8')],'where':{'id':_0x4125b5['body'][_0xb950('0xbc')]}});})[_0xb950('0x2e')](function(_0x4a2b6d){socket['emit'](_0xb950('0xc9'),{'id':Number(_0x4125b5[_0xb950('0xb1')]['id']),'tags':_0x4a2b6d||[]});return{'id':Number(_0x4125b5[_0xb950('0xb1')]['id']),'tags':_0x4a2b6d||[]};});}})[_0xb950('0x2e')](respondWithResult(_0x3bf688,null))['catch'](handleError(_0x3bf688,null));};exports[_0xb950('0xca')]=function(_0x567cc0,_0x286249,_0x5488f3){return db['SmsInteraction'][_0xb950('0x75')]({'where':{'id':_0x567cc0[_0xb950('0xb1')]['id']}})[_0xb950('0x2e')](handleEntityNotFound(_0x286249,null))['then'](function(_0x39fc7a){if(_0x39fc7a){return _0x39fc7a['removeTags'](_0x567cc0[_0xb950('0x43')][_0xb950('0xbc')]);}})[_0xb950('0x2e')](respondWithStatusCode(_0x286249,null))[_0xb950('0x39')](handleError(_0x286249,null));};exports[_0xb950('0xcb')]=function(_0x5a9d4f,_0x36f66d){var _0x431f00=moment()[_0xb950('0xcc')]()[_0xb950('0x9c')]();var _0x283c89=path[_0xb950('0xcd')](config['root'],'server',_0xb950('0xce'),_0xb950('0xcf'));var _0x5dc820=path[_0xb950('0xcd')](config['root'],_0xb950('0xd0'),'files',_0xb950('0xd1'));var _0x59dec8=path[_0xb950('0xcd')](_0x283c89,_0x431f00);var _0x5de7d6=util[_0xb950('0xc1')]('transcript-%d-%s.zip',_0x5a9d4f[_0xb950('0xb1')]['id'],_0x431f00);var _0x249a11=path[_0xb950('0xcd')](_0x283c89,_0x5de7d6);var _0x5b762d=[];_0x5b762d[_0xb950('0x38')]({'model':db[_0xb950('0x71')],'as':_0xb950('0x71'),'attributes':['id',_0xb950('0xd2')],'raw':!![]});_0x5b762d[_0xb950('0x38')]({'model':db[_0xb950('0xd3')],'as':_0xb950('0x6a'),'attributes':['id','firstName',_0xb950('0xd4')],'raw':!![]});var _0x2ad3e2=[{'model':db['SmsMessage'],'as':'Messages','attributes':['id',_0xb950('0xb7'),_0xb950('0x7b'),_0xb950('0xd5'),_0xb950('0xd6'),_0xb950('0x81')],'include':_0x5b762d}];_0x2ad3e2[_0xb950('0x38')]({'model':db[_0xb950('0xd7')],'as':_0xb950('0xd8'),'attributes':['id','name']});_0x2ad3e2[_0xb950('0x38')]({'model':db['User'],'as':'Owner','attributes':['id',_0xb950('0xd2')]});return db[_0xb950('0xb2')][_0xb950('0x75')]({'where':{'id':_0x5a9d4f[_0xb950('0xb1')]['id']},'include':_0x2ad3e2})[_0xb950('0x2e')](handleEntityNotFound(_0x36f66d,null))[_0xb950('0x2e')](function(_0x90fe00){if(_0x90fe00){var _0x5f0724=_0x90fe00[_0xb950('0xd9')]({'plain':!![]});fs[_0xb950('0xda')](_0x59dec8);var _0x117f3e={'channel':'Sms','account':_0x5f0724[_0xb950('0xd8')][_0xb950('0x30')],'agent':_0x5f0724['Owner']?_0x5f0724[_0xb950('0xdb')][_0xb950('0xd2')]:_0xb950('0xdc'),'createdAt':moment(_0x5f0724['createdAt'])[_0xb950('0xc1')]('YYYY-MM-DD\x20HH:mm:ss')[_0xb950('0x9c')](),'closedAt':_0x5f0724[_0xb950('0x3f')]?moment(_0x5f0724[_0xb950('0xdd')])['format'](_0xb950('0xc2'))[_0xb950('0x9c')]():'','disposition':_0x5f0724['disposition'],'messages':_(_0x5f0724[_0xb950('0xde')])[_0xb950('0x86')]({'secret':![]})[_0xb950('0x33')](function(_0x1bee6c){return{'date':moment(_0x1bee6c['createdAt'])[_0xb950('0xc1')]('YYYY-MM-DD\x20HH:mm:ss')[_0xb950('0x9c')](),'sender':_0x1bee6c[_0xb950('0xd5')]===_0xb950('0xdf')?_0x1bee6c[_0xb950('0x71')]?_0x1bee6c[_0xb950('0x71')][_0xb950('0xd2')]:_0xb950('0xe0'):_0x1bee6c[_0xb950('0x6a')]['firstName']+(_0x1bee6c[_0xb950('0x6a')][_0xb950('0xd4')]?'\x20'+_0x1bee6c[_0xb950('0x6a')][_0xb950('0xd4')]:''),'body':_0x1bee6c['body'],'direction':_0x1bee6c[_0xb950('0xd5')]===_0xb950('0xdf')?'A':'C','secret':_0x1bee6c[_0xb950('0xd6')],'read':_0x1bee6c['read']};})[_0xb950('0x67')]()};return ejs[_0xb950('0xe1')](path[_0xb950('0xcd')](config[_0xb950('0xe2')],_0xb950('0xd0'),_0xb950('0xe3'),_0xb950('0xe4')),{'interaction':_0x117f3e})[_0xb950('0x2e')](function(_0x2dfe76){var _0x572efd=path[_0xb950('0xcd')](_0x59dec8,_0xb950('0xe5')+_0x5f0724['id']+'-'+_0x431f00+_0xb950('0xe6'));var _0x1e6316={'path':_0x572efd,'channel':_0xb950('0xe7'),'interactionId':_0x5f0724['id']};return pdf[_0xb950('0xe8')](_0x2dfe76,_0x1e6316);})[_0xb950('0x2e')](function(){return new BPromise(function(_0x32eb5e,_0x4313fa){zipdir(_0x59dec8,{'saveTo':_0x249a11},function(_0x33049b,_0x5aa8cf){if(_0x33049b)return _0x4313fa(_0x33049b);return _0x32eb5e(_0x5aa8cf);});})['then'](function(){return new BPromise(function(_0x3c5678,_0x57cf65){rimraf(_0x59dec8,function(_0x906174){if(_0x906174)_0x57cf65(_0x906174);return _0x3c5678();});});})[_0xb950('0x2e')](function(){return _0x36f66d[_0xb950('0xcb')](_0x249a11,_0x5de7d6,function(_0x1190e1){if(_0x1190e1){console[_0xb950('0xe9')]('err',_0x1190e1);}else{fs[_0xb950('0xea')](_0x249a11);}});});});}else{return _0x36f66d[_0xb950('0x22')](0xc8);}})['catch'](handleError(_0x36f66d,null));};