Built motion from commit 092f8824.|2.5.49
[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 _0x3769=['include','options','create','describe','addMessage','SmsMessage','ids','getMessages','$gte','format','YYYY-MM-DD\x20HH:mm:ss','addTags','setTags','spread','findAll','smsInteractionTags:save','removeTags','download','unix','join','files','tmp','root','server','attachments','transcript-%d-%s.zip','Contact','firstName','lastName','Messages','secret','SmsAccount','Account','get','mkdirSync','Sms','Owner','closedAt','disposition','out','System','views','downloadInteraction.ejs','transcript-','createPdfFromHTML','log','err','unlinkSync','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','desk.js','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','socket.io-emitter','./smsInteraction.socket','register','sendStatus','status','json','undefined','limit','count','offset','set','Content-Range','apply','reject','save','update','destroy','then','error','stack','name','send','Users','map','fullname','TagIds','split','forEach','Tags','catch','waiting','talking','answered','unmanaged','total','UserId','closed','index','rawAttributes','fieldName','key','query','keys','filters','intersection','model','fields','attributes','hasOwnProperty','nolimit','order','sort','where','pick','select','field','color','from','tools_tags','u.id','user_has_sms_interactions','left_join','users','u.id\x20=\x20ui.UserId','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','t.id\x20=\x20it.TagId','expr','sqlOperator','length','conditions','find','unreadMessages','value','`\x20>\x200','operator','$substring','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','buildExpression','type','text','start','end','Tag','User','body','some','compact','isEmpty','SmsAccountId','i.SmsAccountId\x20IN\x20?','concat','createdAt','parse','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20=\x20?','read','having','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','filter','replace','isNumeric','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','Sequelize','QueryTypes','clone','i.id','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','contactName','DESC','t.id\x20IN\x20?','resolve','i.SmsAccountId\x20IS\x20NOT\x20NULL','user','role','agent','getSmsAccounts','i.SmsAccountId\x20IS\x20NULL','sequelize','toString','keyBy','merge','SmsInteraction','a.key','Account.key','a.mandatoryDisposition','Account.mandatoryDisposition','i.*','c.firstName','Contact.firstName','c.lastName','c.email','Contact.email','Contact.phone','c.mobile','Contact.mobile','c.fax','o.fullname','Owner.fullname','o.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.SmsInteractionId\x20IN\x20?','groupBy','push','all','rows','show','params','includeAll'];(function(_0x3ef7e5,_0x10565f){var _0x2e5328=function(_0x15dad3){while(--_0x15dad3){_0x3ef7e5['push'](_0x3ef7e5['shift']());}};_0x2e5328(++_0x10565f);}(_0x3769,0x123));var _0x9376=function(_0x295ffa,_0x4bed0c){_0x295ffa=_0x295ffa-0x0;var _0x1448a8=_0x3769[_0x295ffa];return _0x1448a8;};'use strict';var emlformat=require(_0x9376('0x0'));var rimraf=require(_0x9376('0x1'));var zipdir=require(_0x9376('0x2'));var jsonpatch=require(_0x9376('0x3'));var rp=require(_0x9376('0x4'));var moment=require(_0x9376('0x5'));var BPromise=require(_0x9376('0x6'));var Mustache=require(_0x9376('0x7'));var util=require(_0x9376('0x8'));var path=require(_0x9376('0x9'));var sox=require(_0x9376('0xa'));var csv=require(_0x9376('0xb'));var ejs=require(_0x9376('0xc'));var fs=require('fs');var fs_extra=require(_0x9376('0xd'));var _=require(_0x9376('0xe'));var squel=require(_0x9376('0xf'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x9376('0x10'));var toCsv=require(_0x9376('0xb'));var querystring=require('querystring');var Papa=require(_0x9376('0x11'));var Redis=require(_0x9376('0x12'));var authService=require('../../components/auth/service');var qs=require(_0x9376('0x13'));var as=require(_0x9376('0x14'));var pdf=require('../../components/export/pdf');var hardwareService=require('../../config/license/hardware');var logger=require(_0x9376('0x15'))(_0x9376('0x16'));var utils=require('../../config/utils');var config=require(_0x9376('0x17'));var licenseUtil=require(_0x9376('0x18'));var db=require(_0x9376('0x19'))['db'];config[_0x9376('0x1a')]=_[_0x9376('0x1b')](config[_0x9376('0x1a')],{'host':'localhost','port':0x18eb});var socket=require(_0x9376('0x1c'))(new Redis(config[_0x9376('0x1a')]));require(_0x9376('0x1d'))[_0x9376('0x1e')](socket);function respondWithStatusCode(_0x2e966c,_0x5dc458){_0x5dc458=_0x5dc458||0xcc;return function(_0x54cbcb){if(_0x54cbcb){return _0x2e966c[_0x9376('0x1f')](_0x5dc458);}return _0x2e966c[_0x9376('0x20')](_0x5dc458)['end']();};}function respondWithResult(_0x3ae906,_0x32cc14){_0x32cc14=_0x32cc14||0xc8;return function(_0x217ca9){if(_0x217ca9){return _0x3ae906[_0x9376('0x20')](_0x32cc14)[_0x9376('0x21')](_0x217ca9);}};}function respondWithFilteredResult(_0x537ca1,_0x4fd819){return function(_0x4f4610){if(_0x4f4610){var _0x434613=typeof _0x4fd819['offset']===_0x9376('0x22')&&typeof _0x4fd819[_0x9376('0x23')]===_0x9376('0x22');var _0x56c04a=_0x4f4610[_0x9376('0x24')];var _0x3bb3da=_0x434613?0x0:_0x4fd819[_0x9376('0x25')];var _0x46fac9=_0x434613?_0x4f4610[_0x9376('0x24')]:_0x4fd819[_0x9376('0x25')]+_0x4fd819[_0x9376('0x23')];var _0x54d6bc;if(_0x46fac9>=_0x56c04a){_0x46fac9=_0x56c04a;_0x54d6bc=0xc8;}else{_0x54d6bc=0xce;}_0x537ca1['status'](_0x54d6bc);return _0x537ca1[_0x9376('0x26')](_0x9376('0x27'),_0x3bb3da+'-'+_0x46fac9+'/'+_0x56c04a)[_0x9376('0x21')](_0x4f4610);}return null;};}function patchUpdates(_0x234206){return function(_0x90e365){try{jsonpatch[_0x9376('0x28')](_0x90e365,_0x234206,!![]);}catch(_0x1bba58){return BPromise[_0x9376('0x29')](_0x1bba58);}return _0x90e365[_0x9376('0x2a')]();};}function saveUpdates(_0x4d85b9,_0x29a2db){return function(_0x481307){if(_0x481307){return _0x481307[_0x9376('0x2b')](_0x4d85b9)['then'](function(_0x192ccb){return _0x192ccb;});}return null;};}function removeEntity(_0x7a6c17,_0x1490c9){return function(_0x507d56){if(_0x507d56){return _0x507d56[_0x9376('0x2c')]()[_0x9376('0x2d')](function(){_0x7a6c17['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x2c2d7d,_0x224a44){return function(_0x343190){if(!_0x343190){_0x2c2d7d[_0x9376('0x1f')](0x194);}return _0x343190;};}function handleError(_0x802d75,_0x266a75){_0x266a75=_0x266a75||0x1f4;return function(_0xe2259d){logger[_0x9376('0x2e')](_0xe2259d[_0x9376('0x2f')]);if(_0xe2259d[_0x9376('0x30')]){delete _0xe2259d['name'];}_0x802d75['status'](_0x266a75)[_0x9376('0x31')](_0xe2259d);};}function getInteractionUsers(_0x5444dd,_0x23a447){return new BPromise(function(_0xf57385,_0x3bde5e){try{if(_0x23a447[_0x5444dd['id']]){_0x5444dd[_0x9376('0x32')]=_[_0x9376('0x33')](_0x23a447[_0x5444dd['id']],function(_0x3b6d4c){return{'id':_0x3b6d4c['id'],'fullname':_0x3b6d4c[_0x9376('0x34')]};});}}catch(_0x5e1d62){_0x3bde5e(_0x5e1d62);}_0xf57385(_0x5444dd);});}function getInteractionTags(_0x42ca23,_0x3384b9){return new BPromise(function(_0x3c74ad,_0x4083fa){try{if(_0x42ca23[_0x9376('0x35')]){_0x42ca23['Tags']=[];_0x42ca23[_0x9376('0x35')][_0x9376('0x36')](',')[_0x9376('0x37')](function(_0x48b39d){_0x42ca23[_0x9376('0x38')]['push'](_0x3384b9[_0x48b39d]);});}delete _0x42ca23['TagIds'];}catch(_0x35a562){_0x4083fa(_0x35a562);}_0x3c74ad(_0x42ca23);});}function updateSmsInteraction(_0x5eac7e,_0x333efc,_0x4c5130){return new BPromise(function(_0x42c4fc,_0x2cbcea){return getInteractionUsers(_0x5eac7e,_0x4c5130)[_0x9376('0x2d')](function(_0x1097e8){return getInteractionTags(_0x1097e8,_0x333efc);})[_0x9376('0x2d')](function(_0x18c77f){return getStateInteraction(_0x18c77f);})[_0x9376('0x2d')](function(_0x12bfd7){_0x42c4fc(_0x12bfd7);})[_0x9376('0x39')](function(_0x1233b4){_0x2cbcea(_0x1233b4);});});}function getStateInteraction(_0x2c5432){return new BPromise(function(_0x18d181){_0x2c5432[_0x9376('0x3a')]=0x0;_0x2c5432[_0x9376('0x3b')]=0x0;_0x2c5432[_0x9376('0x3c')]=0x0;_0x2c5432[_0x9376('0x3d')]=0x0;_0x2c5432[_0x9376('0x3e')]=0x0;if(!_0x2c5432['closed']&&!_0x2c5432[_0x9376('0x3f')]){_0x2c5432['waiting']+=0x1;}if(!_0x2c5432[_0x9376('0x40')]&&_0x2c5432[_0x9376('0x3f')]){_0x2c5432[_0x9376('0x3b')]+=0x1;if(_0x2c5432['waiting']){_0x2c5432[_0x9376('0x3a')]-=0x1;}}if(_0x2c5432[_0x9376('0x40')]&&_0x2c5432[_0x9376('0x3f')]){_0x2c5432['answered']+=0x1;if(_0x2c5432[_0x9376('0x3b')]){_0x2c5432[_0x9376('0x3b')]-=0x1;}}if(_0x2c5432['closed']&&!_0x2c5432['UserId']){_0x2c5432[_0x9376('0x3d')]+=0x1;if(_0x2c5432[_0x9376('0x3a')]){_0x2c5432[_0x9376('0x3a')]-=0x1;}}_0x2c5432[_0x9376('0x3e')]+=0x1;_0x18d181(_0x2c5432);});}exports[_0x9376('0x41')]=function(_0x232e8a,_0x589d66){var _0x1c6fb0={},_0x525b39={},_0x3ebfbb={'count':0x0,'rows':[]};var _0x1ca2d8=_['map'](db['SmsInteraction'][_0x9376('0x42')],function(_0x5e3ad7){return{'name':_0x5e3ad7[_0x9376('0x43')],'type':_0x5e3ad7['type'][_0x9376('0x44')]};});_0x525b39['model']=_[_0x9376('0x33')](_0x1ca2d8,_0x9376('0x30'));_0x525b39[_0x9376('0x45')]=_[_0x9376('0x46')](_0x232e8a[_0x9376('0x45')]);_0x525b39[_0x9376('0x47')]=_[_0x9376('0x48')](_0x525b39[_0x9376('0x49')],_0x525b39[_0x9376('0x45')]);_0x1c6fb0['attributes']=_[_0x9376('0x48')](_0x525b39[_0x9376('0x49')],qs[_0x9376('0x4a')](_0x232e8a[_0x9376('0x45')][_0x9376('0x4a')]));_0x1c6fb0[_0x9376('0x4b')]=_0x1c6fb0[_0x9376('0x4b')]['length']?_0x1c6fb0[_0x9376('0x4b')]:_0x525b39[_0x9376('0x49')];if(!_0x232e8a['query'][_0x9376('0x4c')](_0x9376('0x4d'))){_0x1c6fb0[_0x9376('0x23')]=qs['limit'](_0x232e8a[_0x9376('0x45')][_0x9376('0x23')]);_0x1c6fb0[_0x9376('0x25')]=qs[_0x9376('0x25')](_0x232e8a[_0x9376('0x45')][_0x9376('0x25')]);}_0x1c6fb0[_0x9376('0x4e')]=qs[_0x9376('0x4f')](_0x232e8a[_0x9376('0x45')][_0x9376('0x4f')]);_0x1c6fb0[_0x9376('0x50')]=qs[_0x9376('0x47')](_[_0x9376('0x51')](_0x232e8a[_0x9376('0x45')],_0x525b39[_0x9376('0x47')]),_0x1ca2d8);var _0x1025e2=[];var _0x375e0e=squel[_0x9376('0x52')]()[_0x9376('0x53')]('id')['field'](_0x9376('0x30'))[_0x9376('0x53')](_0x9376('0x54'))[_0x9376('0x55')](_0x9376('0x56'));var _0x4b06a8=squel[_0x9376('0x52')]()[_0x9376('0x53')](_0x9376('0x57'))[_0x9376('0x53')]('u.fullname')['field']('ui.SmsInteractionId')[_0x9376('0x55')](_0x9376('0x58'),'ui')[_0x9376('0x59')](_0x9376('0x5a'),'u',_0x9376('0x5b'));var _0x4aec9a=squel[_0x9376('0x52')]()[_0x9376('0x55')](_0x9376('0x5c'),'i')['left_join'](_0x9376('0x5d'),'c',_0x9376('0x5e'))['left_join'](_0x9376('0x5a'),'o',_0x9376('0x5f'))[_0x9376('0x59')](_0x9376('0x60'),'a',_0x9376('0x61'))['left_join'](_0x9376('0x62'),'me',_0x9376('0x63'))[_0x9376('0x59')](_0x9376('0x64'),'it',_0x9376('0x65'))[_0x9376('0x59')]('tools_tags','t',_0x9376('0x66'));var _0xe0036e=squel[_0x9376('0x67')]();var _0x1e5452=[];var _0x5c59fe=squel['expr']();var _0x2285dd;if(_0x232e8a[_0x9376('0x45')]['search']){_0x2285dd=as['parseSearch'](_0x232e8a['query']['search']);var _0x58969b=_0x2285dd[_0x9376('0x68')];for(var _0x1e8568=0x0;_0x1e8568<_0x2285dd['conditions'][_0x9376('0x69')];_0x1e8568++){var _0x57d603=_0x2285dd[_0x9376('0x6a')][_0x1e8568];var _0x45e959='i';var _0x378d84=_[_0x9376('0x6b')](_0x1ca2d8,[_0x9376('0x30'),_0x57d603['field']]);if(!_0x378d84){switch(_0x57d603['field']){case _0x9376('0x6c'):if(_0x57d603[_0x9376('0x6d')]==0x1){_0x4aec9a['having']('`'+_0x57d603[_0x9376('0x53')]+'`\x20=\x200');}else{_0x4aec9a['having']('`'+_0x57d603[_0x9376('0x53')]+_0x9376('0x6e'));}break;case'Contact':if(_0x57d603[_0x9376('0x6f')]===_0x9376('0x70')){if(_0x57d603[_0x9376('0x6d')][_0x9376('0x36')]('\x20')[_0x9376('0x69')]>0x1){_0xe0036e[_0x58969b](_0x9376('0x71'),qs['getFullTextValue'](_0x57d603[_0x9376('0x6d')]),null);}else{var _0x56f2d9='%'+_0x57d603['value']+'%';_0xe0036e[_0x58969b](_0x9376('0x72'),_0x56f2d9,_0x56f2d9,_0x56f2d9);}}else{_0x378d84=_['find'](_0x1ca2d8,[_0x9376('0x30'),'ContactId']);_0x57d603[_0x9376('0x53')]=_0x9376('0x73');_0x48db68=as[_0x9376('0x74')](_0x45e959,_0x378d84[_0x9376('0x75')],_0x57d603);_0xe0036e[_0x58969b](_0x48db68[_0x9376('0x76')],_0x48db68[_0x9376('0x6d')][_0x9376('0x77')],_0x48db68['value'][_0x9376('0x78')]);}break;case _0x9376('0x79'):var _0x3c855f=_0x57d603[_0x9376('0x6d')][_0x9376('0x36')](',')[_0x9376('0x33')](function(_0x3e138f){return Number(_0x3e138f);});_0x3c855f['forEach'](function(_0x42e38a){_0x5c59fe['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x42e38a+',%');});_0x1e5452=_['union'](_0x1e5452,_0x3c855f);break;case _0x9376('0x7a'):if(_0x57d603[_0x9376('0x6f')]===_0x9376('0x70')){_0xe0036e[_0x58969b]('CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','%'+_0x57d603[_0x9376('0x6d')]+'%',null);}else{_0x378d84=_[_0x9376('0x6b')](_0x1ca2d8,[_0x9376('0x30'),_0x9376('0x3f')]);_0x57d603[_0x9376('0x53')]=_0x9376('0x3f');_0x48db68=as[_0x9376('0x74')](_0x45e959,_0x378d84[_0x9376('0x75')],_0x57d603);_0xe0036e[_0x58969b](_0x48db68['text'],_0x48db68[_0x9376('0x6d')][_0x9376('0x77')],_0x48db68[_0x9376('0x6d')][_0x9376('0x78')]);}break;case _0x9376('0x7b'):_0x48db68=as[_0x9376('0x74')]('me',null,_0x57d603);_0xe0036e[_0x58969b](_0x48db68[_0x9376('0x76')],_0x48db68[_0x9376('0x6d')]['start'],_0x48db68[_0x9376('0x6d')]['end']);break;}}else{var _0x48db68=as['buildExpression'](_0x45e959,_0x378d84[_0x9376('0x75')],_0x57d603);_0xe0036e[_0x58969b](_0x48db68[_0x9376('0x76')],_0x48db68['value'][_0x9376('0x77')],_0x48db68[_0x9376('0x6d')][_0x9376('0x78')]);}}}else{var _0x261f9b=_(_0x232e8a[_0x9376('0x45')])[_0x9376('0x46')]()[_0x9376('0x33')](function(_0x53a55c){return _[_0x9376('0x7c')](_0x1ca2d8,[_0x9376('0x30'),_0x53a55c])?_0x53a55c:undefined;})[_0x9376('0x7d')]()[_0x9376('0x6d')]();if(!_[_0x9376('0x7e')](_0x261f9b)){_0x261f9b[_0x9376('0x37')](function(_0x5aabb8){if(_0x5aabb8===_0x9376('0x7f')){_0x4aec9a[_0x9376('0x50')](_0x9376('0x80'),[][_0x9376('0x81')](_0x232e8a[_0x9376('0x45')][_0x5aabb8]));}else if(_0x5aabb8===_0x9376('0x82')){var _0x1d9ade=JSON[_0x9376('0x83')](_0x232e8a['query'][_0x5aabb8])['$gte'];var _0x4ccd42=JSON[_0x9376('0x83')](_0x232e8a[_0x9376('0x45')][_0x5aabb8])[_0x9376('0x84')];_0x4aec9a[_0x9376('0x50')](_0x9376('0x85'),_0x1d9ade,_0x4ccd42);}else{if(_0x232e8a['query'][_0x5aabb8]===_0x9376('0x86')){_0x4aec9a[_0x9376('0x50')]('i.'+_0x5aabb8+'\x20IS\x20NULL');}else{_0x4aec9a[_0x9376('0x50')]('i.'+_0x5aabb8+_0x9376('0x87'),_0x232e8a[_0x9376('0x45')][_0x5aabb8]);}}});}if(_0x232e8a[_0x9376('0x45')]['read']){if(_0x232e8a[_0x9376('0x45')][_0x9376('0x88')]==0x1){_0x4aec9a[_0x9376('0x89')](_0x9376('0x8a'));}else{_0x4aec9a[_0x9376('0x89')](_0x9376('0x8b'));}}if(_0x232e8a['query'][_0x9376('0x8c')]){_0x1e5452=_['isArray'](_0x232e8a[_0x9376('0x45')][_0x9376('0x8c')])?_0x232e8a['query']['tag']:new Array(_0x232e8a[_0x9376('0x45')]['tag']);_0x1e5452[_0x9376('0x37')](function(_0x4ddf63){_0x5c59fe['or'](_0x9376('0x8d'),'%,'+_0x4ddf63+',%');});}if(_0x232e8a[_0x9376('0x45')]['filter']){var _0x6752f7=_0x232e8a['query'][_0x9376('0x8e')][_0x9376('0x8f')]('\x5c','\x5c\x5c')[_0x9376('0x8f')](/'/g,'\x27\x27');if(qs[_0x9376('0x90')](_0x6752f7)){_0xe0036e['or']('i.id\x20LIKE\x20?',_0x6752f7+'%')['or']('i.phone\x20LIKE\x20?',_0x6752f7+'%');}else{_0xe0036e['or'](_0x9376('0x91'),qs[_0x9376('0x92')](_0x6752f7))['or'](_0x9376('0x93'),_0x6752f7+'%');}}}_0x4aec9a['where'](_0xe0036e);_0x4aec9a[_0x9376('0x94')]('i.id');var _0x2d1f9b={'type':db[_0x9376('0x95')][_0x9376('0x96')]['SELECT'],'raw':!![]};var _0xc7e653=_0x4aec9a[_0x9376('0x97')]();_0xc7e653['field'](_0x9376('0x98'));_0xc7e653['field'](_0x9376('0x99'),_0x9376('0x6c'));if(_0x1c6fb0['order']){_0x1c6fb0[_0x9376('0x4e')][_0x9376('0x37')](function(_0x1772f5){var _0x54fc9b=_0x1772f5[0x0]===_0x9376('0x9a')?_0x1772f5[0x0]:'i.'+_0x1772f5[0x0];_0x4aec9a[_0x9376('0x4e')](_0x54fc9b,_0x1772f5[0x1]===_0x9376('0x9b')?![]:!![]);});}if(!_[_0x9376('0x7e')](_0x1e5452)){_0x4aec9a['having'](_0x5c59fe);_0xc7e653['where'](_0x9376('0x9c'),_0x1e5452);}BPromise[_0x9376('0x9d')]()[_0x9376('0x2d')](function(){if(!_0x2285dd){if(_0x232e8a[_0x9376('0x45')][_0x9376('0x7f')])return;_0xc7e653[_0x9376('0x50')](_0x9376('0x9e'));_0x4aec9a[_0x9376('0x50')](_0x9376('0x9e'));return;}if(_0x232e8a[_0x9376('0x9f')][_0x9376('0xa0')]!==_0x9376('0xa1'))return;return _0x232e8a[_0x9376('0x9f')][_0x9376('0xa2')]({'attributes':['id'],'raw':!![]})[_0x9376('0x2d')](function(_0x36055b){if(_['isEmpty'](_0x36055b)){_0xc7e653[_0x9376('0x50')](_0x9376('0xa3'));_0x4aec9a[_0x9376('0x50')]('i.SmsAccountId\x20IS\x20NULL');}else{_0xc7e653[_0x9376('0x50')]('i.SmsAccountId\x20IN\x20?',_[_0x9376('0x33')](_0x36055b,'id'));_0x4aec9a[_0x9376('0x50')](_0x9376('0x80'),_[_0x9376('0x33')](_0x36055b,'id'));}});})[_0x9376('0x2d')](function(){if(_0x232e8a[_0x9376('0x9f')][_0x9376('0xa0')]===_0x9376('0xa1')&&!_0x2285dd&&!_0x232e8a[_0x9376('0x45')][_0x9376('0x7f')])return[];return db[_0x9376('0xa4')][_0x9376('0x45')](_0xc7e653['toString'](),_0x2d1f9b);})['then'](function(_0x4d75d0){_0x3ebfbb['count']=_0x4d75d0[_0x9376('0x69')];if(_0x3ebfbb[_0x9376('0x24')]===0x0)return[];return db[_0x9376('0xa4')][_0x9376('0x45')](_0x375e0e[_0x9376('0xa5')](),_0x2d1f9b)[_0x9376('0x2d')](function(_0x54e4c7){_0x1025e2=_[_0x9376('0xa6')](_0x54e4c7,'id');_0x2d1f9b=_[_0x9376('0xa7')](_0x2d1f9b,{'model':db[_0x9376('0xa8')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x232e8a[_0x9376('0x45')][_0x9376('0x4a')]){_0x1c6fb0[_0x9376('0x4b')][_0x9376('0x37')](function(_0x319911){_0x4aec9a[_0x9376('0x53')]('i.'+_0x319911);});}else{_0x4aec9a['field'](_0x9376('0x99'),'unreadMessages');_0x4aec9a[_0x9376('0x53')](_0x9376('0xa9'),_0x9376('0xaa'));_0x4aec9a[_0x9376('0x53')](_0x9376('0xab'),_0x9376('0xac'));_0x4aec9a['field']('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',_0x9376('0x9a'));_0x4aec9a['field'](_0x9376('0xad'));_0x4aec9a[_0x9376('0x53')](_0x9376('0xae'),_0x9376('0xaf'));_0x4aec9a['field'](_0x9376('0xb0'),'Contact.lastName');_0x4aec9a[_0x9376('0x53')](_0x9376('0xb1'),_0x9376('0xb2'));_0x4aec9a[_0x9376('0x53')]('c.phone',_0x9376('0xb3'));_0x4aec9a['field'](_0x9376('0xb4'),_0x9376('0xb5'));_0x4aec9a[_0x9376('0x53')](_0x9376('0xb6'),'Contact.fax');_0x4aec9a[_0x9376('0x53')](_0x9376('0xb7'),_0x9376('0xb8'));_0x4aec9a[_0x9376('0x53')](_0x9376('0xb9'),'Owner.internal');_0x4aec9a[_0x9376('0x53')](_0x9376('0xba'),_0x9376('0x35'));}if(_0x1c6fb0[_0x9376('0x23')])_0x4aec9a[_0x9376('0x23')](_0x1c6fb0[_0x9376('0x23')]);if(_0x1c6fb0['offset'])_0x4aec9a['offset'](_0x1c6fb0['offset']);return db[_0x9376('0xa4')][_0x9376('0x45')](_0x4aec9a[_0x9376('0xa5')](),_0x2d1f9b);})[_0x9376('0x2d')](function(_0x6a1da7){if(_0x6a1da7[_0x9376('0x69')]>0x0)_0x4b06a8[_0x9376('0x50')](_0x9376('0xbb'),_['map'](_0x6a1da7,'id'));return db[_0x9376('0xa4')][_0x9376('0x45')](_0x4b06a8['toString'](),_0x2d1f9b)['then'](function(_0x7d7fe8){var _0x1245d5=_[_0x9376('0xbc')](_0x7d7fe8,'SmsInteractionId');var _0x4b634c=[];_0x6a1da7[_0x9376('0x37')](function(_0x2c157e){_0x4b634c[_0x9376('0xbd')](updateSmsInteraction(_0x2c157e,_0x1025e2,_0x1245d5));});return BPromise[_0x9376('0xbe')](_0x4b634c);});});})['then'](function(_0x3a5e5e){_0x3ebfbb[_0x9376('0xbf')]=_0x3a5e5e;return _0x3ebfbb;})[_0x9376('0x2d')](respondWithFilteredResult(_0x589d66,_0x1c6fb0))['catch'](handleError(_0x589d66,null));};exports[_0x9376('0xc0')]=function(_0x23aa5f,_0x199ca2){var _0x13cfdf={'raw':![],'where':{'id':_0x23aa5f[_0x9376('0xc1')]['id']}},_0x503d61={};_0x503d61['model']=_[_0x9376('0x46')](db[_0x9376('0xa8')][_0x9376('0x42')]);_0x503d61[_0x9376('0x45')]=_[_0x9376('0x46')](_0x23aa5f[_0x9376('0x45')]);_0x503d61[_0x9376('0x47')]=_[_0x9376('0x48')](_0x503d61[_0x9376('0x49')],_0x503d61[_0x9376('0x45')]);_0x13cfdf[_0x9376('0x4b')]=_[_0x9376('0x48')](_0x503d61[_0x9376('0x49')],qs['fields'](_0x23aa5f[_0x9376('0x45')][_0x9376('0x4a')]));_0x13cfdf['attributes']=_0x13cfdf['attributes']['length']?_0x13cfdf[_0x9376('0x4b')]:_0x503d61[_0x9376('0x49')];if(_0x23aa5f['query'][_0x9376('0xc2')]){_0x13cfdf[_0x9376('0xc3')]=[{'all':!![]}];}_0x13cfdf=_[_0x9376('0xa7')]({},_0x13cfdf,_0x23aa5f[_0x9376('0xc4')]);return db[_0x9376('0xa8')][_0x9376('0x6b')](_0x13cfdf)[_0x9376('0x2d')](handleEntityNotFound(_0x199ca2,null))[_0x9376('0x2d')](respondWithResult(_0x199ca2,null))[_0x9376('0x39')](handleError(_0x199ca2,null));};exports[_0x9376('0xc5')]=function(_0x5555c1,_0x49a734){return db[_0x9376('0xa8')]['create'](_0x5555c1[_0x9376('0x7b')],{})[_0x9376('0x2d')](respondWithResult(_0x49a734,0xc9))['catch'](handleError(_0x49a734,null));};exports[_0x9376('0x2b')]=function(_0x4b8e5d,_0x1a4472){if(_0x4b8e5d['body']['id']){delete _0x4b8e5d[_0x9376('0x7b')]['id'];}return db['SmsInteraction'][_0x9376('0x6b')]({'where':{'id':_0x4b8e5d['params']['id']}})[_0x9376('0x2d')](handleEntityNotFound(_0x1a4472,null))[_0x9376('0x2d')](saveUpdates(_0x4b8e5d['body'],null))['then'](respondWithResult(_0x1a4472,null))[_0x9376('0x39')](handleError(_0x1a4472,null));};exports[_0x9376('0x2c')]=function(_0x591250,_0x256ea7){return db[_0x9376('0xa8')]['find']({'where':{'id':_0x591250['params']['id']}})[_0x9376('0x2d')](handleEntityNotFound(_0x256ea7,null))[_0x9376('0x2d')](removeEntity(_0x256ea7,null))['catch'](handleError(_0x256ea7,null));};exports[_0x9376('0xc6')]=function(_0x3b871a,_0x26554a){return db['SmsInteraction'][_0x9376('0xc6')]()[_0x9376('0x2d')](respondWithResult(_0x26554a,null))[_0x9376('0x39')](handleError(_0x26554a,null));};exports[_0x9376('0xc7')]=function(_0x394f81,_0x83b447,_0x227aaa){return db[_0x9376('0xc8')][_0x9376('0x6b')]({'where':{'id':_0x394f81[_0x9376('0xc1')]['id']}})[_0x9376('0x2d')](handleEntityNotFound(_0x83b447,null))[_0x9376('0x2d')](function(_0x3810d3){if(_0x3810d3){return _0x3810d3[_0x9376('0xc7')](_0x394f81['body'][_0x9376('0xc9')],_['omit'](_0x394f81[_0x9376('0x7b')],[_0x9376('0xc9'),'id'])||{});}})[_0x9376('0x2d')](respondWithResult(_0x83b447,null))[_0x9376('0x39')](handleError(_0x83b447,null));};exports[_0x9376('0xca')]=function(_0x43dddc,_0xce30d7,_0x1418ea){var _0x37918a={'raw':![],'where':{}};var _0xefd032={};var _0xfca8bc={'count':0x0,'rows':[]};return db[_0x9376('0xa8')]['findOne']({'where':{'id':_0x43dddc[_0x9376('0xc1')]['id']}})[_0x9376('0x2d')](handleEntityNotFound(_0xce30d7,null))[_0x9376('0x2d')](function(_0x1586db){if(_0x1586db){_0xefd032[_0x9376('0x49')]=_[_0x9376('0x46')](db[_0x9376('0xc8')][_0x9376('0x42')]);_0xefd032[_0x9376('0x45')]=_[_0x9376('0x46')](_0x43dddc[_0x9376('0x45')]);_0xefd032[_0x9376('0x47')]=_['intersection'](_0xefd032[_0x9376('0x49')],_0xefd032[_0x9376('0x45')]);_0x37918a[_0x9376('0x4b')]=_[_0x9376('0x48')](_0xefd032['model'],qs['fields'](_0x43dddc[_0x9376('0x45')][_0x9376('0x4a')]));_0x37918a[_0x9376('0x4b')]=_0x37918a['attributes']['length']?_0x37918a[_0x9376('0x4b')]:_0xefd032[_0x9376('0x49')];if(!_0x43dddc[_0x9376('0x45')][_0x9376('0x4c')]('nolimit')){_0x37918a['limit']=qs[_0x9376('0x23')](_0x43dddc[_0x9376('0x45')][_0x9376('0x23')]);_0x37918a[_0x9376('0x25')]=qs['offset'](_0x43dddc[_0x9376('0x45')][_0x9376('0x25')]);}_0x37918a[_0x9376('0x4e')]=qs[_0x9376('0x4f')](_0x43dddc[_0x9376('0x45')][_0x9376('0x4f')]);_0x37918a[_0x9376('0x50')]=qs[_0x9376('0x47')](_[_0x9376('0x51')](_0x43dddc['query'],_0xefd032['filters']));_0x37918a[_0x9376('0x50')]['SmsInteractionId']=_0x1586db['id'];if(_0x43dddc[_0x9376('0x45')][_0x9376('0x8e')]){_0x37918a[_0x9376('0x50')]=_[_0x9376('0xa7')](_0x37918a[_0x9376('0x50')],{'$or':_[_0x9376('0x33')](_0x37918a[_0x9376('0x4b')],function(_0x43f75f){var _0xc9e026={};_0xc9e026[_0x43f75f]={'$like':'%'+_0x43dddc[_0x9376('0x45')]['filter']+'%'};return _0xc9e026;})});}if(_0x43dddc[_0x9376('0x45')][_0x9376('0xcb')]){var _0x1f0efa=_0x43dddc['query'][_0x9376('0xcb')][_0x9376('0x36')](',');var _0x390370={};_0x390370[_0x1f0efa[0x0]]={'$gte':moment(_0x1f0efa[0x1])[_0x9376('0xcc')](_0x9376('0xcd'))};_0x37918a['where']=_[_0x9376('0xa7')](_0x37918a[_0x9376('0x50')],_0x390370);}_0x37918a=_[_0x9376('0xa7')]({},_0x37918a,_0x43dddc[_0x9376('0xc4')]);return db[_0x9376('0xc8')][_0x9376('0x24')]({'where':_0x37918a[_0x9376('0x50')]})[_0x9376('0x2d')](function(_0x32aef5){_0xfca8bc[_0x9376('0x24')]=_0x32aef5;if(_0x43dddc[_0x9376('0x45')][_0x9376('0xc2')]){_0x37918a[_0x9376('0xc3')]=[{'all':!![]}];}return db[_0x9376('0xc8')]['findAll'](_0x37918a);})[_0x9376('0x2d')](function(_0x1b9d45){_0xfca8bc[_0x9376('0xbf')]=_0x1b9d45;return _0xfca8bc;});}})['then'](respondWithFilteredResult(_0xce30d7,_0x37918a))['catch'](handleError(_0xce30d7,null));};exports[_0x9376('0xce')]=function(_0x368ac0,_0x565358,_0x4d686d){return db['SmsInteraction'][_0x9376('0x6b')]({'where':{'id':_0x368ac0[_0x9376('0xc1')]['id']}})[_0x9376('0x2d')](handleEntityNotFound(_0x565358,null))['then'](function(_0x363344){if(_0x363344){return _0x363344[_0x9376('0xcf')](_0x368ac0[_0x9376('0x7b')]['ids'],_['omit'](_0x368ac0['body'],[_0x9376('0xc9'),'id'])||{})[_0x9376('0xd0')](function(){return db[_0x9376('0x79')][_0x9376('0xd1')]({'attributes':['id',_0x9376('0x30'),_0x9376('0x54')],'where':{'id':_0x368ac0[_0x9376('0x7b')]['ids']}});})[_0x9376('0x2d')](function(_0x4808a1){socket['emit'](_0x9376('0xd2'),{'id':Number(_0x368ac0[_0x9376('0xc1')]['id']),'tags':_0x4808a1||[]});return{'id':Number(_0x368ac0['params']['id']),'tags':_0x4808a1||[]};});}})[_0x9376('0x2d')](respondWithResult(_0x565358,null))[_0x9376('0x39')](handleError(_0x565358,null));};exports[_0x9376('0xd3')]=function(_0x405dc1,_0x21727a,_0x5e0bac){return db[_0x9376('0xa8')][_0x9376('0x6b')]({'where':{'id':_0x405dc1['params']['id']}})[_0x9376('0x2d')](handleEntityNotFound(_0x21727a,null))[_0x9376('0x2d')](function(_0x48af63){if(_0x48af63){return _0x48af63[_0x9376('0xd3')](_0x405dc1[_0x9376('0x45')][_0x9376('0xc9')]);}})['then'](respondWithStatusCode(_0x21727a,null))[_0x9376('0x39')](handleError(_0x21727a,null));};exports[_0x9376('0xd4')]=function(_0x38efd8,_0x17568d){var _0x41699d=moment()[_0x9376('0xd5')]()[_0x9376('0xa5')]();var _0x521491=path[_0x9376('0xd6')](config['root'],'server',_0x9376('0xd7'),_0x9376('0xd8'));var _0x14b71c=path[_0x9376('0xd6')](config[_0x9376('0xd9')],_0x9376('0xda'),_0x9376('0xd7'),_0x9376('0xdb'));var _0x373eac=path['join'](_0x521491,_0x41699d);var _0x411173=util[_0x9376('0xcc')](_0x9376('0xdc'),_0x38efd8['params']['id'],_0x41699d);var _0x41b5ef=path[_0x9376('0xd6')](_0x521491,_0x411173);var _0x1ad719=[];_0x1ad719[_0x9376('0xbd')]({'model':db[_0x9376('0x7a')],'as':_0x9376('0x7a'),'attributes':['id',_0x9376('0x34')],'raw':!![]});_0x1ad719['push']({'model':db['CmContact'],'as':_0x9376('0xdd'),'attributes':['id',_0x9376('0xde'),_0x9376('0xdf')],'raw':!![]});var _0x21bb49=[{'model':db['SmsMessage'],'as':_0x9376('0xe0'),'attributes':['id',_0x9376('0x7b'),_0x9376('0x82'),'direction',_0x9376('0xe1'),_0x9376('0x88')],'include':_0x1ad719}];_0x21bb49['push']({'model':db[_0x9376('0xe2')],'as':_0x9376('0xe3'),'attributes':['id',_0x9376('0x30')]});_0x21bb49[_0x9376('0xbd')]({'model':db[_0x9376('0x7a')],'as':'Owner','attributes':['id',_0x9376('0x34')]});return db[_0x9376('0xa8')][_0x9376('0x6b')]({'where':{'id':_0x38efd8[_0x9376('0xc1')]['id']},'include':_0x21bb49})['then'](handleEntityNotFound(_0x17568d,null))['then'](function(_0x15c0fd){if(_0x15c0fd){var _0x14230b=_0x15c0fd[_0x9376('0xe4')]({'plain':!![]});fs[_0x9376('0xe5')](_0x373eac);var _0x4c073c={'channel':_0x9376('0xe6'),'account':_0x14230b[_0x9376('0xe3')][_0x9376('0x30')],'agent':_0x14230b['Owner']?_0x14230b[_0x9376('0xe7')][_0x9376('0x34')]:'N.A.','createdAt':moment(_0x14230b[_0x9376('0x82')])[_0x9376('0xcc')](_0x9376('0xcd'))['toString'](),'closedAt':_0x14230b[_0x9376('0x40')]?moment(_0x14230b[_0x9376('0xe8')])['format'](_0x9376('0xcd'))[_0x9376('0xa5')]():'','disposition':_0x14230b[_0x9376('0xe9')],'messages':_(_0x14230b[_0x9376('0xe0')])[_0x9376('0x8e')]({'secret':![]})[_0x9376('0x33')](function(_0x3dcf30){return{'date':moment(_0x3dcf30[_0x9376('0x82')])[_0x9376('0xcc')](_0x9376('0xcd'))['toString'](),'sender':_0x3dcf30['direction']===_0x9376('0xea')?_0x3dcf30['User']?_0x3dcf30['User']['fullname']:_0x9376('0xeb'):_0x3dcf30[_0x9376('0xdd')][_0x9376('0xde')]+(_0x3dcf30[_0x9376('0xdd')]['lastName']?'\x20'+_0x3dcf30[_0x9376('0xdd')][_0x9376('0xdf')]:''),'body':_0x3dcf30['body'],'direction':_0x3dcf30['direction']===_0x9376('0xea')?'A':'C','secret':_0x3dcf30[_0x9376('0xe1')],'read':_0x3dcf30[_0x9376('0x88')]};})[_0x9376('0x6d')]()};return ejs['renderFile'](path[_0x9376('0xd6')](config['root'],_0x9376('0xda'),_0x9376('0xec'),_0x9376('0xed')),{'interaction':_0x4c073c})['then'](function(_0x245a65){var _0x2d2879=path[_0x9376('0xd6')](_0x373eac,_0x9376('0xee')+_0x14230b['id']+'-'+_0x41699d+'.pdf');var _0x2c1c36={'path':_0x2d2879,'channel':'Sms','interactionId':_0x14230b['id']};return pdf[_0x9376('0xef')](_0x245a65,_0x2c1c36);})[_0x9376('0x2d')](function(){return new BPromise(function(_0x5a5dc6,_0x15a6f8){zipdir(_0x373eac,{'saveTo':_0x41b5ef},function(_0x515b87,_0x3336e0){if(_0x515b87)return _0x15a6f8(_0x515b87);return _0x5a5dc6(_0x3336e0);});})[_0x9376('0x2d')](function(){return new BPromise(function(_0x18dbef,_0xd6d09c){rimraf(_0x373eac,function(_0x3421d2){if(_0x3421d2)_0xd6d09c(_0x3421d2);return _0x18dbef();});});})['then'](function(){return _0x17568d['download'](_0x41b5ef,_0x411173,function(_0x443b6d){if(_0x443b6d){console[_0x9376('0xf0')](_0x9376('0xf1'),_0x443b6d);}else{fs[_0x9376('0xf2')](_0x41b5ef);}});});});}else{return _0x17568d[_0x9376('0x1f')](0xc8);}})[_0x9376('0x39')](handleError(_0x17568d,null));};