Built motion from commit (unavailable).|2.5.31
[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 _0x96c2=['then','destroy','sendStatus','error','stack','name','render','merge','body','contact','message','agent','account','Users','TagIds','split','forEach','Tags','push','catch','index','map','SmsInteraction','rawAttributes','type','key','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','field','color','from','select','u.id','u.fullname','ui.SmsInteractionId','user_has_sms_interactions','left_join','users','u.id\x20=\x20ui.UserId','sms_interactions','cm_contacts','sms_accounts','a.id\x20=\x20i.SmsAccountId','sms_messages','me.SmsInteractionId\x20=\x20i.id','it.SmsInteractionId\x20=\x20i.id','tools_tags','t.id\x20=\x20it.TagId','expr','search','parseSearch','conditions','length','find','unreadMessages','value','having','`\x20=\x200','`\x20>\x200','Contact','operator','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','start','end','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','$substring','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','buildExpression','text','isEmpty','SmsAccountId','i.SmsAccountId\x20IN\x20?','concat','createdAt','parse','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20>\x200','tag','filter','replace','isNumeric','i.phone\x20LIKE\x20?','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','i.id','Sequelize','QueryTypes','clone','contactName','DESC','t.id\x20IN\x20?','resolve','i.SmsAccountId\x20IS\x20NOT\x20NULL','user','role','getSmsAccounts','i.SmsAccountId\x20IS\x20NULL','sequelize','toString','keyBy','a.key','Account.mandatoryDisposition','CASE\x20WHEN\x20(c.firstName\x20IS\x20NOT\x20NULL\x20AND\x20c.firstName\x20<>\x20\x27\x27)\x20OR\x20(c.lastName\x20IS\x20NOT\x20NULL\x20AND\x20c.lastName\x20<>\x20\x27\x27)\x20THEN\x20CONCAT(IFNULL(c.firstName,\x20\x27\x27),\x20\x27\x20\x27,\x20IFNULL(c.lastName,\x20\x27\x27))\x20ELSE\x20\x27Unknown\x27\x20END','i.*','c.firstName','c.lastName','c.email','Contact.email','c.phone','c.mobile','c.fax','Contact.fax','Owner.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','groupBy','show','params','includeAll','include','options','create','describe','addMessage','ids','getMessages','findOne','SmsMessage','SmsInteractionId','$gte','format','YYYY-MM-DD\x20HH:mm:ss','findAll','addTags','setTags','Tag','smsInteractionTags:save','removeTags','unix','root','server','files','tmp','join','transcript-%d-%s.zip','fullname','CmContact','firstName','Account','Owner','N.A.','closed','closedAt','disposition','direction','System','lastName','secret','views','downloadInteraction.html','transcript-','.pdf','Sms','download','err','unlinkSync','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','../../config/utils','../../mysqldb','redis','defaults','socket.io-emitter','./smsInteraction.socket','register','status','offset','undefined','count','limit','set','Content-Range','json','apply','reject','update'];(function(_0x51af47,_0x4f9e75){var _0x25e832=function(_0x331a93){while(--_0x331a93){_0x51af47['push'](_0x51af47['shift']());}};_0x25e832(++_0x4f9e75);}(_0x96c2,0xbc));var _0x296c=function(_0x48a96f,_0x530059){_0x48a96f=_0x48a96f-0x0;var _0x3ff3ef=_0x96c2[_0x48a96f];return _0x3ff3ef;};'use strict';var emlformat=require(_0x296c('0x0'));var rimraf=require(_0x296c('0x1'));var zipdir=require(_0x296c('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x296c('0x3'));var moment=require(_0x296c('0x4'));var BPromise=require(_0x296c('0x5'));var Mustache=require('mustache');var util=require(_0x296c('0x6'));var path=require(_0x296c('0x7'));var sox=require(_0x296c('0x8'));var csv=require(_0x296c('0x9'));var ejs=require(_0x296c('0xa'));var fs=require('fs');var fs_extra=require(_0x296c('0xb'));var _=require(_0x296c('0xc'));var squel=require(_0x296c('0xd'));var crypto=require('crypto');var jsforce=require(_0x296c('0xe'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x296c('0xf'));var Papa=require(_0x296c('0x10'));var Redis=require(_0x296c('0x11'));var authService=require(_0x296c('0x12'));var qs=require(_0x296c('0x13'));var as=require('../../components/parsers/advancedSearch');var pdf=require('../../components/export/pdf');var hardwareService=require('../../config/license/hardware');var logger=require(_0x296c('0x14'))('api');var utils=require(_0x296c('0x15'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x296c('0x16'))['db'];config[_0x296c('0x17')]=_[_0x296c('0x18')](config[_0x296c('0x17')],{'host':'localhost','port':0x18eb});var socket=require(_0x296c('0x19'))(new Redis(config[_0x296c('0x17')]));require(_0x296c('0x1a'))[_0x296c('0x1b')](socket);function respondWithStatusCode(_0x5ee3bd,_0x5bf09d){_0x5bf09d=_0x5bf09d||0xcc;return function(_0x1a1c1f){if(_0x1a1c1f){return _0x5ee3bd['sendStatus'](_0x5bf09d);}return _0x5ee3bd[_0x296c('0x1c')](_0x5bf09d)['end']();};}function respondWithResult(_0x464990,_0x2c3ea5){_0x2c3ea5=_0x2c3ea5||0xc8;return function(_0x2b888d){if(_0x2b888d){return _0x464990['status'](_0x2c3ea5)['json'](_0x2b888d);}};}function respondWithFilteredResult(_0x71e96d,_0x2967fe){return function(_0x24468f){if(_0x24468f){var _0x3637d4=typeof _0x2967fe[_0x296c('0x1d')]===_0x296c('0x1e')&&typeof _0x2967fe['limit']===_0x296c('0x1e');var _0x1737de=_0x24468f[_0x296c('0x1f')];var _0x2ec345=_0x3637d4?0x0:_0x2967fe['offset'];var _0x1f5925=_0x3637d4?_0x24468f[_0x296c('0x1f')]:_0x2967fe[_0x296c('0x1d')]+_0x2967fe[_0x296c('0x20')];var _0x29d62a;if(_0x1f5925>=_0x1737de){_0x1f5925=_0x1737de;_0x29d62a=0xc8;}else{_0x29d62a=0xce;}_0x71e96d[_0x296c('0x1c')](_0x29d62a);return _0x71e96d[_0x296c('0x21')](_0x296c('0x22'),_0x2ec345+'-'+_0x1f5925+'/'+_0x1737de)[_0x296c('0x23')](_0x24468f);}return null;};}function patchUpdates(_0x5f5823){return function(_0x24d5d4){try{jsonpatch[_0x296c('0x24')](_0x24d5d4,_0x5f5823,!![]);}catch(_0x46bf96){return BPromise[_0x296c('0x25')](_0x46bf96);}return _0x24d5d4['save']();};}function saveUpdates(_0x2236d5,_0x2266c8){return function(_0x4dd6f1){if(_0x4dd6f1){return _0x4dd6f1[_0x296c('0x26')](_0x2236d5)[_0x296c('0x27')](function(_0x57c7f7){return _0x57c7f7;});}return null;};}function removeEntity(_0x3ad618,_0x37ea54){return function(_0x41a5e8){if(_0x41a5e8){return _0x41a5e8[_0x296c('0x28')]()[_0x296c('0x27')](function(){_0x3ad618[_0x296c('0x1c')](0xcc)['end']();});}};}function handleEntityNotFound(_0x417c1a,_0x127b21){return function(_0x452a19){if(!_0x452a19){_0x417c1a[_0x296c('0x29')](0x194);}return _0x452a19;};}function handleError(_0x553142,_0x39f41e){_0x39f41e=_0x39f41e||0x1f4;return function(_0x2b576b){logger[_0x296c('0x2a')](_0x2b576b[_0x296c('0x2b')]);if(_0x2b576b[_0x296c('0x2c')]){delete _0x2b576b[_0x296c('0x2c')];}_0x553142[_0x296c('0x1c')](_0x39f41e)['send'](_0x2b576b);};}function getMustacheRender(_0x1fdb42,_0xe0756f){return Mustache[_0x296c('0x2d')](_0x1fdb42,_[_0x296c('0x2e')](_0xe0756f[_0x296c('0x2f')],{'contact':_0xe0756f[_0x296c('0x30')],'message':_0xe0756f[_0x296c('0x31')],'agent':_0xe0756f[_0x296c('0x32')],'interaction':_0xe0756f['interaction'],'account':_0xe0756f[_0x296c('0x33')]}))||'';}function getInteractionUsers(_0x35e412,_0x1c9cf6){return new BPromise(function(_0xec3dd6,_0x35917b){try{if(_0x1c9cf6[_0x35e412['id']]){_0x35e412[_0x296c('0x34')]=_['map'](_0x1c9cf6[_0x35e412['id']],function(_0x338024){return{'id':_0x338024['id'],'fullname':_0x338024['fullname']};});}}catch(_0x4a218f){_0x35917b(_0x4a218f);}_0xec3dd6(_0x35e412);});}function getInteractionTags(_0x42698e,_0xf63d20){return new BPromise(function(_0x56c968,_0x49aa60){try{if(_0x42698e[_0x296c('0x35')]){_0x42698e['Tags']=[];_0x42698e[_0x296c('0x35')][_0x296c('0x36')](',')[_0x296c('0x37')](function(_0x92ea20){_0x42698e[_0x296c('0x38')][_0x296c('0x39')](_0xf63d20[_0x92ea20]);});}delete _0x42698e[_0x296c('0x35')];}catch(_0x564f96){_0x49aa60(_0x564f96);}_0x56c968(_0x42698e);});}function updateSmsInteraction(_0x503268,_0x5861f9,_0x3e9ac0){return new BPromise(function(_0x4645ec,_0xd76ec){return getInteractionUsers(_0x503268,_0x3e9ac0)[_0x296c('0x27')](function(_0x18fea3){return getInteractionTags(_0x18fea3,_0x5861f9);})[_0x296c('0x27')](function(_0x54b1c2){_0x4645ec(_0x54b1c2);})[_0x296c('0x3a')](function(_0x512de5){_0xd76ec(_0x512de5);});});}exports[_0x296c('0x3b')]=function(_0x230361,_0x28f493){var _0x338b3a={},_0x5731b4={},_0x433621={'count':0x0,'rows':[]};var _0x263a52=_[_0x296c('0x3c')](db[_0x296c('0x3d')][_0x296c('0x3e')],function(_0x41ca9b){return{'name':_0x41ca9b['fieldName'],'type':_0x41ca9b[_0x296c('0x3f')][_0x296c('0x40')]};});_0x5731b4[_0x296c('0x41')]=_[_0x296c('0x3c')](_0x263a52,_0x296c('0x2c'));_0x5731b4[_0x296c('0x42')]=_[_0x296c('0x43')](_0x230361[_0x296c('0x42')]);_0x5731b4[_0x296c('0x44')]=_[_0x296c('0x45')](_0x5731b4[_0x296c('0x41')],_0x5731b4['query']);_0x338b3a[_0x296c('0x46')]=_[_0x296c('0x45')](_0x5731b4[_0x296c('0x41')],qs['fields'](_0x230361['query'][_0x296c('0x47')]));_0x338b3a['attributes']=_0x338b3a[_0x296c('0x46')]['length']?_0x338b3a['attributes']:_0x5731b4[_0x296c('0x41')];if(!_0x230361['query'][_0x296c('0x48')](_0x296c('0x49'))){_0x338b3a[_0x296c('0x20')]=qs['limit'](_0x230361[_0x296c('0x42')][_0x296c('0x20')]);_0x338b3a['offset']=qs[_0x296c('0x1d')](_0x230361['query'][_0x296c('0x1d')]);}_0x338b3a[_0x296c('0x4a')]=qs[_0x296c('0x4b')](_0x230361[_0x296c('0x42')][_0x296c('0x4b')]);_0x338b3a[_0x296c('0x4c')]=qs[_0x296c('0x44')](_[_0x296c('0x4d')](_0x230361[_0x296c('0x42')],_0x5731b4[_0x296c('0x44')]),_0x263a52);var _0x239db7=[];var _0x1e1b19=squel['select']()[_0x296c('0x4e')]('id')['field']('name')[_0x296c('0x4e')](_0x296c('0x4f'))[_0x296c('0x50')]('tools_tags');var _0x538a69=squel[_0x296c('0x51')]()[_0x296c('0x4e')](_0x296c('0x52'))[_0x296c('0x4e')](_0x296c('0x53'))[_0x296c('0x4e')](_0x296c('0x54'))[_0x296c('0x50')](_0x296c('0x55'),'ui')[_0x296c('0x56')](_0x296c('0x57'),'u',_0x296c('0x58'));var _0x6d227=squel['select']()[_0x296c('0x50')](_0x296c('0x59'),'i')[_0x296c('0x56')](_0x296c('0x5a'),'c','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL')['left_join'](_0x296c('0x57'),'o','o.id\x20=\x20i.UserId')[_0x296c('0x56')](_0x296c('0x5b'),'a',_0x296c('0x5c'))[_0x296c('0x56')](_0x296c('0x5d'),'me',_0x296c('0x5e'))[_0x296c('0x56')]('sms_interaction_has_tags','it',_0x296c('0x5f'))['left_join'](_0x296c('0x60'),'t',_0x296c('0x61'));var _0xa261fd=squel['expr']();var _0x564938=[];var _0xf2b8fc=squel[_0x296c('0x62')]();var _0x526a93;if(_0x230361[_0x296c('0x42')][_0x296c('0x63')]){_0x526a93=as[_0x296c('0x64')](_0x230361[_0x296c('0x42')][_0x296c('0x63')]);var _0x148323=_0x526a93['sqlOperator'];for(var _0xcb8ddb=0x0;_0xcb8ddb<_0x526a93[_0x296c('0x65')][_0x296c('0x66')];_0xcb8ddb++){var _0x3563c8=_0x526a93[_0x296c('0x65')][_0xcb8ddb];var _0x312be9='i';var _0x8955c4=_[_0x296c('0x67')](_0x263a52,['name',_0x3563c8['field']]);if(!_0x8955c4){switch(_0x3563c8[_0x296c('0x4e')]){case _0x296c('0x68'):if(_0x3563c8[_0x296c('0x69')]==0x1){_0x6d227[_0x296c('0x6a')]('`'+_0x3563c8[_0x296c('0x4e')]+_0x296c('0x6b'));}else{_0x6d227[_0x296c('0x6a')]('`'+_0x3563c8['field']+_0x296c('0x6c'));}break;case _0x296c('0x6d'):if(_0x3563c8[_0x296c('0x6e')]==='$substring'){if(_0x3563c8[_0x296c('0x69')][_0x296c('0x36')]('\x20')[_0x296c('0x66')]>0x1){_0xa261fd[_0x148323](_0x296c('0x6f'),qs[_0x296c('0x70')](_0x3563c8[_0x296c('0x69')]),null);}else{var _0x39070e='%'+_0x3563c8[_0x296c('0x69')]+'%';_0xa261fd[_0x148323](_0x296c('0x71'),_0x39070e,_0x39070e,_0x39070e);}}else{_0x8955c4=_[_0x296c('0x67')](_0x263a52,[_0x296c('0x2c'),_0x296c('0x72')]);_0x3563c8[_0x296c('0x4e')]='ContactId';_0x582e05=as['buildExpression'](_0x312be9,_0x8955c4['type'],_0x3563c8);_0xa261fd[_0x148323](_0x582e05['text'],_0x582e05[_0x296c('0x69')][_0x296c('0x73')],_0x582e05[_0x296c('0x69')][_0x296c('0x74')]);}break;case'Tag':var _0x5e11c6=_0x3563c8[_0x296c('0x69')][_0x296c('0x36')](',')[_0x296c('0x3c')](function(_0x19c811){return Number(_0x19c811);});_0x5e11c6[_0x296c('0x37')](function(_0x491e80){_0xf2b8fc['or'](_0x296c('0x75'),'%,'+_0x491e80+',%');});_0x564938=_[_0x296c('0x76')](_0x564938,_0x5e11c6);break;case _0x296c('0x77'):if(_0x3563c8[_0x296c('0x6e')]===_0x296c('0x78')){_0xa261fd[_0x148323](_0x296c('0x79'),'%'+_0x3563c8[_0x296c('0x69')]+'%',null);}else{_0x8955c4=_['find'](_0x263a52,[_0x296c('0x2c'),'UserId']);_0x3563c8[_0x296c('0x4e')]=_0x296c('0x7a');_0x582e05=as[_0x296c('0x7b')](_0x312be9,_0x8955c4[_0x296c('0x3f')],_0x3563c8);_0xa261fd[_0x148323](_0x582e05[_0x296c('0x7c')],_0x582e05[_0x296c('0x69')]['start'],_0x582e05[_0x296c('0x69')][_0x296c('0x74')]);}break;case'body':_0x582e05=as[_0x296c('0x7b')]('me',null,_0x3563c8);_0xa261fd[_0x148323](_0x582e05['text'],_0x582e05[_0x296c('0x69')][_0x296c('0x73')],_0x582e05['value']['end']);break;}}else{var _0x582e05=as[_0x296c('0x7b')](_0x312be9,_0x8955c4['type'],_0x3563c8);_0xa261fd[_0x148323](_0x582e05[_0x296c('0x7c')],_0x582e05['value'][_0x296c('0x73')],_0x582e05[_0x296c('0x69')]['end']);}}}else{var _0x275b72=_(_0x230361[_0x296c('0x42')])[_0x296c('0x43')]()[_0x296c('0x3c')](function(_0x5f12dd){return _['some'](_0x263a52,[_0x296c('0x2c'),_0x5f12dd])?_0x5f12dd:undefined;})['compact']()[_0x296c('0x69')]();if(!_[_0x296c('0x7d')](_0x275b72)){_0x275b72[_0x296c('0x37')](function(_0x47b99e){if(_0x47b99e===_0x296c('0x7e')){_0x6d227[_0x296c('0x4c')](_0x296c('0x7f'),[][_0x296c('0x80')](_0x230361['query'][_0x47b99e]));}else if(_0x47b99e===_0x296c('0x81')){var _0x56c1e0=JSON[_0x296c('0x82')](_0x230361['query'][_0x47b99e])['$gte'];var _0x5058eb=JSON[_0x296c('0x82')](_0x230361[_0x296c('0x42')][_0x47b99e])[_0x296c('0x83')];_0x6d227[_0x296c('0x4c')](_0x296c('0x84'),_0x56c1e0,_0x5058eb);}else{if(_0x230361[_0x296c('0x42')][_0x47b99e]==='null'){_0x6d227[_0x296c('0x4c')]('i.'+_0x47b99e+_0x296c('0x85'));}else{_0x6d227[_0x296c('0x4c')]('i.'+_0x47b99e+_0x296c('0x86'),_0x230361[_0x296c('0x42')][_0x47b99e]);}}});}if(_0x230361[_0x296c('0x42')]['read']){if(_0x230361[_0x296c('0x42')][_0x296c('0x87')]==0x1){_0x6d227[_0x296c('0x6a')]('`unreadMessages`\x20=\x200');}else{_0x6d227[_0x296c('0x6a')](_0x296c('0x88'));}}if(_0x230361[_0x296c('0x42')][_0x296c('0x89')]){_0x564938=_['isArray'](_0x230361[_0x296c('0x42')][_0x296c('0x89')])?_0x230361['query']['tag']:new Array(_0x230361[_0x296c('0x42')][_0x296c('0x89')]);_0x564938['forEach'](function(_0x49d17d){_0xf2b8fc['or'](_0x296c('0x75'),'%,'+_0x49d17d+',%');});}if(_0x230361['query'][_0x296c('0x8a')]){var _0x6727a5=_0x230361['query'][_0x296c('0x8a')]['replace']('\x5c','\x5c\x5c')[_0x296c('0x8b')](/'/g,'\x27\x27');if(qs[_0x296c('0x8c')](_0x6727a5)){_0xa261fd['or']('i.id\x20LIKE\x20?',_0x6727a5+'%')['or'](_0x296c('0x8d'),_0x6727a5+'%');}else{_0xa261fd['or'](_0x296c('0x8e'),qs['getFullTextValue'](_0x6727a5))['or'](_0x296c('0x8f'),_0x6727a5+'%');}}}_0x6d227[_0x296c('0x4c')](_0xa261fd);_0x6d227['group'](_0x296c('0x90'));var _0x1da7dc={'type':db[_0x296c('0x91')][_0x296c('0x92')]['SELECT'],'raw':!![]};var _0x29f47d=_0x6d227[_0x296c('0x93')]();_0x29f47d[_0x296c('0x4e')](_0x296c('0x90'));_0x29f47d[_0x296c('0x4e')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','unreadMessages');if(_0x338b3a[_0x296c('0x4a')]){_0x338b3a['order'][_0x296c('0x37')](function(_0x44b45e){var _0x19795c=_0x44b45e[0x0]===_0x296c('0x94')?_0x44b45e[0x0]:'i.'+_0x44b45e[0x0];_0x6d227[_0x296c('0x4a')](_0x19795c,_0x44b45e[0x1]===_0x296c('0x95')?![]:!![]);});}if(!_[_0x296c('0x7d')](_0x564938)){_0x6d227[_0x296c('0x6a')](_0xf2b8fc);_0x29f47d['where'](_0x296c('0x96'),_0x564938);}BPromise[_0x296c('0x97')]()[_0x296c('0x27')](function(){if(!_0x526a93){if(_0x230361[_0x296c('0x42')]['SmsAccountId'])return;_0x29f47d['where']('i.SmsAccountId\x20IS\x20NOT\x20NULL');_0x6d227[_0x296c('0x4c')](_0x296c('0x98'));return;}if(_0x230361[_0x296c('0x99')][_0x296c('0x9a')]!==_0x296c('0x32'))return;return _0x230361[_0x296c('0x99')][_0x296c('0x9b')]({'attributes':['id'],'raw':!![]})[_0x296c('0x27')](function(_0x48e1de){if(_[_0x296c('0x7d')](_0x48e1de)){_0x29f47d[_0x296c('0x4c')](_0x296c('0x9c'));_0x6d227[_0x296c('0x4c')](_0x296c('0x9c'));}else{_0x29f47d[_0x296c('0x4c')](_0x296c('0x7f'),_['map'](_0x48e1de,'id'));_0x6d227[_0x296c('0x4c')](_0x296c('0x7f'),_[_0x296c('0x3c')](_0x48e1de,'id'));}});})[_0x296c('0x27')](function(){if(_0x230361[_0x296c('0x99')][_0x296c('0x9a')]===_0x296c('0x32')&&!_0x526a93&&!_0x230361[_0x296c('0x42')][_0x296c('0x7e')])return[];return db['sequelize'][_0x296c('0x42')](_0x29f47d['toString'](),_0x1da7dc);})[_0x296c('0x27')](function(_0x2fa37e){_0x433621[_0x296c('0x1f')]=_0x2fa37e[_0x296c('0x66')];if(_0x433621[_0x296c('0x1f')]===0x0)return[];return db[_0x296c('0x9d')][_0x296c('0x42')](_0x1e1b19[_0x296c('0x9e')](),_0x1da7dc)[_0x296c('0x27')](function(_0x186adf){_0x239db7=_[_0x296c('0x9f')](_0x186adf,'id');_0x1da7dc=_[_0x296c('0x2e')](_0x1da7dc,{'model':db[_0x296c('0x3d')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x230361[_0x296c('0x42')][_0x296c('0x47')]){_0x338b3a['attributes'][_0x296c('0x37')](function(_0x4d1174){_0x6d227[_0x296c('0x4e')]('i.'+_0x4d1174);});}else{_0x6d227[_0x296c('0x4e')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0x296c('0x68'));_0x6d227[_0x296c('0x4e')](_0x296c('0xa0'),'Account.key');_0x6d227['field']('a.mandatoryDisposition',_0x296c('0xa1'));_0x6d227[_0x296c('0x4e')](_0x296c('0xa2'),_0x296c('0x94'));_0x6d227[_0x296c('0x4e')](_0x296c('0xa3'));_0x6d227[_0x296c('0x4e')](_0x296c('0xa4'),'Contact.firstName');_0x6d227[_0x296c('0x4e')](_0x296c('0xa5'),'Contact.lastName');_0x6d227[_0x296c('0x4e')](_0x296c('0xa6'),_0x296c('0xa7'));_0x6d227[_0x296c('0x4e')](_0x296c('0xa8'),'Contact.phone');_0x6d227['field'](_0x296c('0xa9'),'Contact.mobile');_0x6d227[_0x296c('0x4e')](_0x296c('0xaa'),_0x296c('0xab'));_0x6d227['field']('o.fullname',_0x296c('0xac'));_0x6d227[_0x296c('0x4e')](_0x296c('0xad'),_0x296c('0xae'));_0x6d227['field'](_0x296c('0xaf'),'TagIds');}if(_0x338b3a[_0x296c('0x20')])_0x6d227[_0x296c('0x20')](_0x338b3a[_0x296c('0x20')]);if(_0x338b3a[_0x296c('0x1d')])_0x6d227[_0x296c('0x1d')](_0x338b3a[_0x296c('0x1d')]);return db[_0x296c('0x9d')][_0x296c('0x42')](_0x6d227[_0x296c('0x9e')](),_0x1da7dc);})[_0x296c('0x27')](function(_0x2ef531){if(_0x2ef531['length']>0x0)_0x538a69[_0x296c('0x4c')]('ui.SmsInteractionId\x20IN\x20?',_[_0x296c('0x3c')](_0x2ef531,'id'));return db[_0x296c('0x9d')][_0x296c('0x42')](_0x538a69[_0x296c('0x9e')](),_0x1da7dc)[_0x296c('0x27')](function(_0x4bee2f){var _0x11f0fb=_[_0x296c('0xb0')](_0x4bee2f,'SmsInteractionId');var _0xaf48c0=[];_0x2ef531['forEach'](function(_0x4257a9){_0xaf48c0[_0x296c('0x39')](updateSmsInteraction(_0x4257a9,_0x239db7,_0x11f0fb));});return BPromise['all'](_0xaf48c0);});});})[_0x296c('0x27')](function(_0x55627d){_0x433621['rows']=_0x55627d;return _0x433621;})[_0x296c('0x27')](respondWithFilteredResult(_0x28f493,_0x338b3a))[_0x296c('0x3a')](handleError(_0x28f493,null));};exports[_0x296c('0xb1')]=function(_0x3d9264,_0x451400){var _0x59c3c3={'raw':![],'where':{'id':_0x3d9264[_0x296c('0xb2')]['id']}},_0x3d30b2={};_0x3d30b2[_0x296c('0x41')]=_[_0x296c('0x43')](db['SmsInteraction']['rawAttributes']);_0x3d30b2['query']=_[_0x296c('0x43')](_0x3d9264[_0x296c('0x42')]);_0x3d30b2[_0x296c('0x44')]=_[_0x296c('0x45')](_0x3d30b2[_0x296c('0x41')],_0x3d30b2[_0x296c('0x42')]);_0x59c3c3['attributes']=_[_0x296c('0x45')](_0x3d30b2[_0x296c('0x41')],qs['fields'](_0x3d9264[_0x296c('0x42')][_0x296c('0x47')]));_0x59c3c3[_0x296c('0x46')]=_0x59c3c3['attributes']['length']?_0x59c3c3[_0x296c('0x46')]:_0x3d30b2[_0x296c('0x41')];if(_0x3d9264[_0x296c('0x42')][_0x296c('0xb3')]){_0x59c3c3[_0x296c('0xb4')]=[{'all':!![]}];}_0x59c3c3=_[_0x296c('0x2e')]({},_0x59c3c3,_0x3d9264[_0x296c('0xb5')]);return db[_0x296c('0x3d')][_0x296c('0x67')](_0x59c3c3)['then'](handleEntityNotFound(_0x451400,null))[_0x296c('0x27')](respondWithResult(_0x451400,null))[_0x296c('0x3a')](handleError(_0x451400,null));};exports['create']=function(_0x20e7b,_0x1b8180){return db[_0x296c('0x3d')][_0x296c('0xb6')](_0x20e7b[_0x296c('0x2f')],{})[_0x296c('0x27')](respondWithResult(_0x1b8180,0xc9))[_0x296c('0x3a')](handleError(_0x1b8180,null));};exports[_0x296c('0x26')]=function(_0x7d25c7,_0x293e30){if(_0x7d25c7[_0x296c('0x2f')]['id']){delete _0x7d25c7[_0x296c('0x2f')]['id'];}return db['SmsInteraction'][_0x296c('0x67')]({'where':{'id':_0x7d25c7[_0x296c('0xb2')]['id']}})[_0x296c('0x27')](handleEntityNotFound(_0x293e30,null))[_0x296c('0x27')](saveUpdates(_0x7d25c7[_0x296c('0x2f')],null))[_0x296c('0x27')](respondWithResult(_0x293e30,null))[_0x296c('0x3a')](handleError(_0x293e30,null));};exports[_0x296c('0x28')]=function(_0x35c519,_0x1b5b73){return db[_0x296c('0x3d')][_0x296c('0x67')]({'where':{'id':_0x35c519[_0x296c('0xb2')]['id']}})['then'](handleEntityNotFound(_0x1b5b73,null))[_0x296c('0x27')](removeEntity(_0x1b5b73,null))[_0x296c('0x3a')](handleError(_0x1b5b73,null));};exports[_0x296c('0xb7')]=function(_0x4634b6,_0x1f10e1){return db[_0x296c('0x3d')]['describe']()[_0x296c('0x27')](respondWithResult(_0x1f10e1,null))[_0x296c('0x3a')](handleError(_0x1f10e1,null));};exports['addMessage']=function(_0x1dadbb,_0x19c4d2,_0x26510d){return db['SmsMessage']['find']({'where':{'id':_0x1dadbb[_0x296c('0xb2')]['id']}})[_0x296c('0x27')](handleEntityNotFound(_0x19c4d2,null))[_0x296c('0x27')](function(_0x5ada4f){if(_0x5ada4f){return _0x5ada4f[_0x296c('0xb8')](_0x1dadbb[_0x296c('0x2f')][_0x296c('0xb9')],_['omit'](_0x1dadbb[_0x296c('0x2f')],[_0x296c('0xb9'),'id'])||{});}})[_0x296c('0x27')](respondWithResult(_0x19c4d2,null))[_0x296c('0x3a')](handleError(_0x19c4d2,null));};exports[_0x296c('0xba')]=function(_0x361816,_0x4d17b1,_0x124f15){var _0x3f1c92={'raw':![],'where':{}};var _0x5c3479={};var _0x140b29={'count':0x0,'rows':[]};return db[_0x296c('0x3d')][_0x296c('0xbb')]({'where':{'id':_0x361816['params']['id']}})['then'](handleEntityNotFound(_0x4d17b1,null))[_0x296c('0x27')](function(_0x59fea4){if(_0x59fea4){_0x5c3479['model']=_[_0x296c('0x43')](db[_0x296c('0xbc')][_0x296c('0x3e')]);_0x5c3479['query']=_[_0x296c('0x43')](_0x361816['query']);_0x5c3479[_0x296c('0x44')]=_['intersection'](_0x5c3479['model'],_0x5c3479[_0x296c('0x42')]);_0x3f1c92[_0x296c('0x46')]=_[_0x296c('0x45')](_0x5c3479['model'],qs[_0x296c('0x47')](_0x361816[_0x296c('0x42')]['fields']));_0x3f1c92[_0x296c('0x46')]=_0x3f1c92[_0x296c('0x46')]['length']?_0x3f1c92['attributes']:_0x5c3479[_0x296c('0x41')];if(!_0x361816['query'][_0x296c('0x48')]('nolimit')){_0x3f1c92[_0x296c('0x20')]=qs['limit'](_0x361816[_0x296c('0x42')][_0x296c('0x20')]);_0x3f1c92[_0x296c('0x1d')]=qs[_0x296c('0x1d')](_0x361816[_0x296c('0x42')][_0x296c('0x1d')]);}_0x3f1c92[_0x296c('0x4a')]=qs['sort'](_0x361816['query'][_0x296c('0x4b')]);_0x3f1c92[_0x296c('0x4c')]=qs[_0x296c('0x44')](_['pick'](_0x361816[_0x296c('0x42')],_0x5c3479[_0x296c('0x44')]));_0x3f1c92[_0x296c('0x4c')][_0x296c('0xbd')]=_0x59fea4['id'];if(_0x361816['query'][_0x296c('0x8a')]){_0x3f1c92['where']=_[_0x296c('0x2e')](_0x3f1c92['where'],{'$or':_[_0x296c('0x3c')](_0x3f1c92[_0x296c('0x46')],function(_0x400892){var _0x32bc61={};_0x32bc61[_0x400892]={'$like':'%'+_0x361816[_0x296c('0x42')][_0x296c('0x8a')]+'%'};return _0x32bc61;})});}if(_0x361816[_0x296c('0x42')][_0x296c('0xbe')]){var _0xd3373d=_0x361816[_0x296c('0x42')][_0x296c('0xbe')][_0x296c('0x36')](',');var _0x5d146b={};_0x5d146b[_0xd3373d[0x0]]={'$gte':moment(_0xd3373d[0x1])[_0x296c('0xbf')](_0x296c('0xc0'))};_0x3f1c92[_0x296c('0x4c')]=_['merge'](_0x3f1c92[_0x296c('0x4c')],_0x5d146b);}_0x3f1c92=_['merge']({},_0x3f1c92,_0x361816[_0x296c('0xb5')]);return db[_0x296c('0xbc')][_0x296c('0x1f')]({'where':_0x3f1c92[_0x296c('0x4c')]})['then'](function(_0x5555af){_0x140b29['count']=_0x5555af;if(_0x361816[_0x296c('0x42')]['includeAll']){_0x3f1c92['include']=[{'all':!![]}];}return db[_0x296c('0xbc')][_0x296c('0xc1')](_0x3f1c92);})['then'](function(_0x365ab7){_0x140b29['rows']=_0x365ab7;return _0x140b29;});}})[_0x296c('0x27')](respondWithFilteredResult(_0x4d17b1,_0x3f1c92))[_0x296c('0x3a')](handleError(_0x4d17b1,null));};exports[_0x296c('0xc2')]=function(_0x5a6cd3,_0x5acfc1,_0x30861d){return db[_0x296c('0x3d')]['find']({'where':{'id':_0x5a6cd3[_0x296c('0xb2')]['id']}})[_0x296c('0x27')](handleEntityNotFound(_0x5acfc1,null))[_0x296c('0x27')](function(_0x5bc1da){if(_0x5bc1da){return _0x5bc1da[_0x296c('0xc3')](_0x5a6cd3['body']['ids'],_['omit'](_0x5a6cd3[_0x296c('0x2f')],[_0x296c('0xb9'),'id'])||{})['spread'](function(){return db[_0x296c('0xc4')][_0x296c('0xc1')]({'attributes':['id',_0x296c('0x2c'),_0x296c('0x4f')],'where':{'id':_0x5a6cd3[_0x296c('0x2f')][_0x296c('0xb9')]}});})[_0x296c('0x27')](function(_0x346968){socket['emit'](_0x296c('0xc5'),{'id':Number(_0x5a6cd3[_0x296c('0xb2')]['id']),'tags':_0x346968||[]});return{'id':Number(_0x5a6cd3[_0x296c('0xb2')]['id']),'tags':_0x346968||[]};});}})[_0x296c('0x27')](respondWithResult(_0x5acfc1,null))['catch'](handleError(_0x5acfc1,null));};exports[_0x296c('0xc6')]=function(_0x3dcffe,_0x39167e,_0x135d28){return db['SmsInteraction'][_0x296c('0x67')]({'where':{'id':_0x3dcffe[_0x296c('0xb2')]['id']}})[_0x296c('0x27')](handleEntityNotFound(_0x39167e,null))[_0x296c('0x27')](function(_0x21731e){if(_0x21731e){return _0x21731e[_0x296c('0xc6')](_0x3dcffe[_0x296c('0x42')][_0x296c('0xb9')]);}})['then'](respondWithStatusCode(_0x39167e,null))[_0x296c('0x3a')](handleError(_0x39167e,null));};exports['download']=function(_0x5e318f,_0x1d37ad){var _0x21e0e2=moment()[_0x296c('0xc7')]()[_0x296c('0x9e')]();var _0x1187ae=path['join'](config[_0x296c('0xc8')],_0x296c('0xc9'),_0x296c('0xca'),_0x296c('0xcb'));var _0xdcb737=path[_0x296c('0xcc')](config[_0x296c('0xc8')],_0x296c('0xc9'),_0x296c('0xca'),'attachments');var _0x2aef87=path[_0x296c('0xcc')](_0x1187ae,_0x21e0e2);var _0x43cc1a=util[_0x296c('0xbf')](_0x296c('0xcd'),_0x5e318f[_0x296c('0xb2')]['id'],_0x21e0e2);var _0x10f4a4=path[_0x296c('0xcc')](_0x1187ae,_0x43cc1a);var _0x1e7c3c=[];_0x1e7c3c['push']({'model':db[_0x296c('0x77')],'as':_0x296c('0x77'),'attributes':['id',_0x296c('0xce')],'raw':!![]});_0x1e7c3c[_0x296c('0x39')]({'model':db[_0x296c('0xcf')],'as':_0x296c('0x6d'),'attributes':['id',_0x296c('0xd0'),'lastName'],'raw':!![]});var _0x437f4b=[{'model':db[_0x296c('0xbc')],'as':'Messages','attributes':['id','body',_0x296c('0x81'),'direction','secret','read'],'include':_0x1e7c3c}];_0x437f4b[_0x296c('0x39')]({'model':db['SmsAccount'],'as':_0x296c('0xd1'),'attributes':['id',_0x296c('0x2c')]});_0x437f4b[_0x296c('0x39')]({'model':db[_0x296c('0x77')],'as':_0x296c('0xd2'),'attributes':['id',_0x296c('0xce')]});return db[_0x296c('0x3d')]['find']({'where':{'id':_0x5e318f[_0x296c('0xb2')]['id']},'include':_0x437f4b})[_0x296c('0x27')](handleEntityNotFound(_0x1d37ad,null))['then'](function(_0x2fd233){if(_0x2fd233){var _0x3d079c=_0x2fd233['get']({'plain':!![]});fs['mkdirSync'](_0x2aef87);var _0x40b8b4={'channel':'Sms','account':_0x3d079c[_0x296c('0xd1')]['name'],'agent':_0x3d079c[_0x296c('0xd2')]?_0x3d079c[_0x296c('0xd2')][_0x296c('0xce')]:_0x296c('0xd3'),'createdAt':moment(_0x3d079c['createdAt'])[_0x296c('0xbf')]('YYYY-MM-DD\x20HH:mm:ss')['toString'](),'closedAt':_0x3d079c[_0x296c('0xd4')]?moment(_0x3d079c[_0x296c('0xd5')])['format'](_0x296c('0xc0'))[_0x296c('0x9e')]():'','disposition':_0x3d079c[_0x296c('0xd6')],'messages':_(_0x3d079c['Messages'])[_0x296c('0x8a')]({'secret':![]})['map'](function(_0x18f3ce){return{'date':moment(_0x18f3ce[_0x296c('0x81')])[_0x296c('0xbf')](_0x296c('0xc0'))[_0x296c('0x9e')](),'sender':_0x18f3ce[_0x296c('0xd7')]==='out'?_0x18f3ce[_0x296c('0x77')]?_0x18f3ce[_0x296c('0x77')]['fullname']:_0x296c('0xd8'):_0x18f3ce[_0x296c('0x6d')][_0x296c('0xd0')]+(_0x18f3ce[_0x296c('0x6d')][_0x296c('0xd9')]?'\x20'+_0x18f3ce[_0x296c('0x6d')][_0x296c('0xd9')]:''),'body':_0x18f3ce[_0x296c('0x2f')],'direction':_0x18f3ce[_0x296c('0xd7')]==='out'?'A':'C','secret':_0x18f3ce[_0x296c('0xda')],'read':_0x18f3ce[_0x296c('0x87')]};})['value']()};return ejs['renderFile'](path[_0x296c('0xcc')](config[_0x296c('0xc8')],_0x296c('0xc9'),_0x296c('0xdb'),_0x296c('0xdc')),{'interaction':_0x40b8b4})[_0x296c('0x27')](function(_0x611562){var _0x475b63=path[_0x296c('0xcc')](_0x2aef87,_0x296c('0xdd')+_0x3d079c['id']+'-'+_0x21e0e2+_0x296c('0xde'));var _0x91edba={'path':_0x475b63,'channel':_0x296c('0xdf'),'interactionId':_0x3d079c['id']};return pdf['createPdfFromHTML'](_0x611562,_0x91edba);})[_0x296c('0x27')](function(){return new BPromise(function(_0x15c298,_0x506d80){zipdir(_0x2aef87,{'saveTo':_0x10f4a4},function(_0x14dc17,_0x3b4538){if(_0x14dc17)return _0x506d80(_0x14dc17);return _0x15c298(_0x3b4538);});})[_0x296c('0x27')](function(){return new BPromise(function(_0x4863e1,_0x40ff84){rimraf(_0x2aef87,function(_0x30d7bd){if(_0x30d7bd)_0x40ff84(_0x30d7bd);return _0x4863e1();});});})[_0x296c('0x27')](function(){return _0x1d37ad[_0x296c('0xe0')](_0x10f4a4,_0x43cc1a,function(_0x207d80){if(_0x207d80){console['log'](_0x296c('0xe1'),_0x207d80);}else{fs[_0x296c('0xe2')](_0x10f4a4);}});});});}else{return _0x1d37ad[_0x296c('0x29')](0xc8);}})[_0x296c('0x3a')](handleError(_0x1d37ad,null));};