468df9a1cbfa9f5628d61969e83d6d9ec694d02b
[motion2.git] / server / api / openchannelInteraction / openchannelInteraction.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 _0x7868=['end','json','count','offset','limit','Content-Range','apply','reject','save','update','destroy','error','stack','name','send','map','fullname','TagIds','Tags','forEach','push','then','catch','index','OpenchannelInteraction','rawAttributes','key','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','select','field','from','u.id','u.fullname','ui.OpenchannelInteractionId','left_join','users','u.id\x20=\x20ui.UserId','openchannel_interactions','cm_contacts','openchannel_accounts','openchannel_messages','me.OpenchannelInteractionId\x20=\x20i.id','openchannel_interaction_has_tags','tools_tags','t.id\x20=\x20it.TagId','expr','parseSearch','sqlOperator','conditions','length','find','unreadMessages','value','having','`\x20=\x200','`\x20>\x200','operator','$substring','split','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','Tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','compact','isEmpty','OpenchannelAccountId','i.OpenchannelAccountId\x20IN\x20?','concat','createdAt','parse','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','isArray','filter','replace','isNumeric','i.id\x20LIKE\x20?','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','i.from\x20LIKE\x20?','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','Sequelize','QueryTypes','SELECT','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','DESC','t.id\x20IN\x20?','i.OpenchannelAccountId\x20IS\x20NULL','toString','sequelize','keyBy','Account.key','a.mandatoryDisposition','Account.mandatoryDisposition','i.*','c.firstName','Contact.firstName','c.lastName','c.email','Contact.email','c.mobile','Contact.mobile','c.fax','Contact.fax','Owner.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.OpenchannelInteractionId\x20IN\x20?','groupBy','OpenchannelInteractionId','rows','show','params','includeAll','include','merge','create','body','describe','addMessage','OpenchannelMessage','ids','getMessages','findOne','pick','format','YYYY-MM-DD\x20HH:mm:ss','options','addTags','setTags','omit','findAll','color','openchannelInteractionTags:save','removeTags','download','unix','root','server','files','join','transcript-%d-%s.zip','CmContact','firstName','lastName','attachments','Attachment','Messages','direction','secret','OpenchannelAccount','Account','Owner','get','mkdirSync','40px','<div\x20class=\x22header\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<h5>Interaction\x20Transcript</h5>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>','30px','<hr\x20class=\x22separator\x22/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22footer\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22left\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>%s</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22center\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>{{page}}/{{pages}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22right\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>%s</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>','%s\x20#%d','Openchannel','YYYY-MM-DD','N.A.','closedAt','disposition','threadId','Public','Private','basename','createReadStream','pipe','out','Contact','renderFile','views','downloadInteraction.html','toFile','transcript-','log','err','unlinkSync','html-pdf','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','redis','defaults','socket.io-emitter','register','sendStatus','status'];(function(_0x58ac3f,_0x190d30){var _0x327bc0=function(_0x595a8c){while(--_0x595a8c){_0x58ac3f['push'](_0x58ac3f['shift']());}};_0x327bc0(++_0x190d30);}(_0x7868,0x1c0));var _0x8786=function(_0x5b516b,_0x483d67){_0x5b516b=_0x5b516b-0x0;var _0x844158=_0x7868[_0x5b516b];return _0x844158;};'use strict';var pdf=require(_0x8786('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x8786('0x1'));var zipdir=require(_0x8786('0x2'));var jsonpatch=require(_0x8786('0x3'));var rp=require(_0x8786('0x4'));var moment=require(_0x8786('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x8786('0x6'));var util=require(_0x8786('0x7'));var path=require(_0x8786('0x8'));var sox=require(_0x8786('0x9'));var csv=require(_0x8786('0xa'));var ejs=require(_0x8786('0xb'));var fs=require('fs');var _=require(_0x8786('0xc'));var squel=require(_0x8786('0xd'));var crypto=require(_0x8786('0xe'));var jsforce=require(_0x8786('0xf'));var deskjs=require(_0x8786('0x10'));var toCsv=require(_0x8786('0xa'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x8786('0x11'));var authService=require(_0x8786('0x12'));var qs=require(_0x8786('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x8786('0x14'))('api');var utils=require(_0x8786('0x15'));var config=require(_0x8786('0x16'));var db=require(_0x8786('0x17'))['db'];config[_0x8786('0x18')]=_[_0x8786('0x19')](config[_0x8786('0x18')],{'host':'localhost','port':0x18eb});var socket=require(_0x8786('0x1a'))(new Redis(config[_0x8786('0x18')]));require('./openchannelInteraction.socket')[_0x8786('0x1b')](socket);function respondWithStatusCode(_0x1d3dd3,_0x5cde1d){_0x5cde1d=_0x5cde1d||0xcc;return function(_0x130f3d){if(_0x130f3d){return _0x1d3dd3[_0x8786('0x1c')](_0x5cde1d);}return _0x1d3dd3[_0x8786('0x1d')](_0x5cde1d)[_0x8786('0x1e')]();};}function respondWithResult(_0x5975bf,_0x54d9f6){_0x54d9f6=_0x54d9f6||0xc8;return function(_0x4f599e){if(_0x4f599e){return _0x5975bf[_0x8786('0x1d')](_0x54d9f6)[_0x8786('0x1f')](_0x4f599e);}};}function respondWithFilteredResult(_0x3c99ca,_0x280979){return function(_0x4fcf1c){if(_0x4fcf1c){var _0x1b410a=_0x4fcf1c[_0x8786('0x20')],_0x3b9ff1=_0x280979[_0x8786('0x21')],_0x316bf7=_0x280979[_0x8786('0x21')]+_0x280979[_0x8786('0x22')],_0x359f68;if(_0x316bf7>=_0x1b410a){_0x316bf7=_0x1b410a;_0x359f68=0xc8;}else{_0x359f68=0xce;}_0x3c99ca[_0x8786('0x1d')](_0x359f68);return _0x3c99ca['set'](_0x8786('0x23'),_0x3b9ff1+'-'+_0x316bf7+'/'+_0x1b410a)[_0x8786('0x1f')](_0x4fcf1c);}return null;};}function patchUpdates(_0x28f0b6){return function(_0x26eeba){try{jsonpatch[_0x8786('0x24')](_0x26eeba,_0x28f0b6,!![]);}catch(_0x5ca4e7){return BPromise[_0x8786('0x25')](_0x5ca4e7);}return _0x26eeba[_0x8786('0x26')]();};}function saveUpdates(_0x5de3ef,_0x13a7b0){return function(_0x1af37a){if(_0x1af37a){return _0x1af37a[_0x8786('0x27')](_0x5de3ef)['then'](function(_0x5165f7){return _0x5165f7;});}return null;};}function removeEntity(_0x529247,_0x27f85e){return function(_0x33346d){if(_0x33346d){return _0x33346d[_0x8786('0x28')]()['then'](function(){_0x529247[_0x8786('0x1d')](0xcc)[_0x8786('0x1e')]();});}};}function handleEntityNotFound(_0xcd7d9,_0x30fd5e){return function(_0x9f348e){if(!_0x9f348e){_0xcd7d9['sendStatus'](0x194);}return _0x9f348e;};}function handleError(_0x4a17f3,_0x30091c){_0x30091c=_0x30091c||0x1f4;return function(_0x78f355){logger[_0x8786('0x29')](_0x78f355[_0x8786('0x2a')]);if(_0x78f355[_0x8786('0x2b')]){delete _0x78f355[_0x8786('0x2b')];}_0x4a17f3[_0x8786('0x1d')](_0x30091c)[_0x8786('0x2c')](_0x78f355);};}function getInteractionUsers(_0x322a04,_0xd796e7){return new BPromise(function(_0x49ab14,_0x5b5af0){try{if(_0xd796e7[_0x322a04['id']]){_0x322a04['Users']=_[_0x8786('0x2d')](_0xd796e7[_0x322a04['id']],function(_0x502440){return{'id':_0x502440['id'],'fullname':_0x502440[_0x8786('0x2e')]};});}}catch(_0xdf4c00){_0x5b5af0(_0xdf4c00);}_0x49ab14(_0x322a04);});}function getInteractionTags(_0x56ca54,_0x3dc758){return new BPromise(function(_0x5b0273,_0x1cc114){try{if(_0x56ca54[_0x8786('0x2f')]){_0x56ca54[_0x8786('0x30')]=[];_0x56ca54['TagIds']['split'](',')[_0x8786('0x31')](function(_0x2794e5){_0x56ca54[_0x8786('0x30')][_0x8786('0x32')](_0x3dc758[_0x2794e5]);});}delete _0x56ca54['TagIds'];}catch(_0x28c862){_0x1cc114(_0x28c862);}_0x5b0273(_0x56ca54);});}function updateOpenchannelInteraction(_0x3c8a14,_0x48e235,_0x5bac26){return new BPromise(function(_0x151f7b,_0xdd59b){return getInteractionUsers(_0x3c8a14,_0x5bac26)[_0x8786('0x33')](function(_0x2328e1){return getInteractionTags(_0x2328e1,_0x48e235);})['then'](function(_0x3cc194){_0x151f7b(_0x3cc194);})[_0x8786('0x34')](function(_0x57b4b2){_0xdd59b(_0x57b4b2);});});}exports[_0x8786('0x35')]=function(_0x4d960d,_0x5040c8){var _0x39b9c3={},_0x3c44af={},_0x31125c={'count':0x0,'rows':[]};var _0x5abda6=_[_0x8786('0x2d')](db[_0x8786('0x36')][_0x8786('0x37')],function(_0x115504){return{'name':_0x115504['fieldName'],'type':_0x115504['type'][_0x8786('0x38')]};});_0x3c44af[_0x8786('0x39')]=_[_0x8786('0x2d')](_0x5abda6,_0x8786('0x2b'));_0x3c44af[_0x8786('0x3a')]=_[_0x8786('0x3b')](_0x4d960d['query']);_0x3c44af[_0x8786('0x3c')]=_[_0x8786('0x3d')](_0x3c44af[_0x8786('0x39')],_0x3c44af[_0x8786('0x3a')]);_0x39b9c3[_0x8786('0x3e')]=_[_0x8786('0x3d')](_0x3c44af[_0x8786('0x39')],qs[_0x8786('0x3f')](_0x4d960d[_0x8786('0x3a')][_0x8786('0x3f')]));_0x39b9c3[_0x8786('0x3e')]=_0x39b9c3[_0x8786('0x3e')]['length']?_0x39b9c3[_0x8786('0x3e')]:_0x3c44af[_0x8786('0x39')];if(!_0x4d960d[_0x8786('0x3a')][_0x8786('0x40')](_0x8786('0x41'))){_0x39b9c3[_0x8786('0x22')]=qs['limit'](_0x4d960d[_0x8786('0x3a')][_0x8786('0x22')]);_0x39b9c3['offset']=qs[_0x8786('0x21')](_0x4d960d[_0x8786('0x3a')][_0x8786('0x21')]);}_0x39b9c3[_0x8786('0x42')]=qs[_0x8786('0x43')](_0x4d960d[_0x8786('0x3a')][_0x8786('0x43')]);_0x39b9c3[_0x8786('0x44')]=qs['filters'](_['pick'](_0x4d960d[_0x8786('0x3a')],_0x3c44af[_0x8786('0x3c')]),_0x5abda6);var _0x392a56=[];var _0x346425=squel[_0x8786('0x45')]()[_0x8786('0x46')]('id')['field'](_0x8786('0x2b'))['field']('color')[_0x8786('0x47')]('tools_tags');var _0x99aacc=squel[_0x8786('0x45')]()[_0x8786('0x46')](_0x8786('0x48'))[_0x8786('0x46')](_0x8786('0x49'))[_0x8786('0x46')](_0x8786('0x4a'))[_0x8786('0x47')]('user_has_openchannel_interactions','ui')[_0x8786('0x4b')](_0x8786('0x4c'),'u',_0x8786('0x4d'));var _0x59c381=squel['select']()[_0x8786('0x47')](_0x8786('0x4e'),'i')['left_join'](_0x8786('0x4f'),'c','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL')[_0x8786('0x4b')](_0x8786('0x4c'),'o','o.id\x20=\x20i.UserId')[_0x8786('0x4b')](_0x8786('0x50'),'a','a.id\x20=\x20i.OpenchannelAccountId')['left_join'](_0x8786('0x51'),'me',_0x8786('0x52'))['left_join'](_0x8786('0x53'),'it','it.OpenchannelInteractionId\x20=\x20i.id')[_0x8786('0x4b')](_0x8786('0x54'),'t',_0x8786('0x55'));var _0x4c6f74=squel[_0x8786('0x56')]();var _0x2c75af=[];var _0x1a4e55=squel[_0x8786('0x56')]();var _0x221e65;if(_0x4d960d[_0x8786('0x3a')]['search']){_0x221e65=as[_0x8786('0x57')](_0x4d960d[_0x8786('0x3a')]['search']);var _0x4bbf62=_0x221e65[_0x8786('0x58')];for(var _0x48d71c=0x0;_0x48d71c<_0x221e65[_0x8786('0x59')][_0x8786('0x5a')];_0x48d71c++){var _0x182eff=_0x221e65[_0x8786('0x59')][_0x48d71c];var _0x435732='i';var _0x72abff=_[_0x8786('0x5b')](_0x5abda6,[_0x8786('0x2b'),_0x182eff['field']]);if(!_0x72abff){switch(_0x182eff[_0x8786('0x46')]){case _0x8786('0x5c'):if(_0x182eff[_0x8786('0x5d')]==0x1){_0x59c381[_0x8786('0x5e')]('`'+_0x182eff['field']+_0x8786('0x5f'));}else{_0x59c381[_0x8786('0x5e')]('`'+_0x182eff['field']+_0x8786('0x60'));}break;case'Contact':if(_0x182eff[_0x8786('0x61')]===_0x8786('0x62')){if(_0x182eff[_0x8786('0x5d')][_0x8786('0x63')]('\x20')['length']>0x1){_0x4c6f74[_0x4bbf62](_0x8786('0x64'),qs['getFullTextValue'](_0x182eff[_0x8786('0x5d')]),null);}else{var _0x2e26f0='%'+_0x182eff[_0x8786('0x5d')]+'%';_0x4c6f74[_0x4bbf62](_0x8786('0x65'),_0x2e26f0,_0x2e26f0,_0x2e26f0);}}else{_0x72abff=_[_0x8786('0x5b')](_0x5abda6,[_0x8786('0x2b'),_0x8786('0x66')]);_0x182eff[_0x8786('0x46')]=_0x8786('0x66');_0x1c33f6=as[_0x8786('0x67')](_0x435732,_0x72abff[_0x8786('0x68')],_0x182eff);_0x4c6f74[_0x4bbf62](_0x1c33f6[_0x8786('0x69')],_0x1c33f6[_0x8786('0x5d')][_0x8786('0x6a')],_0x1c33f6[_0x8786('0x5d')][_0x8786('0x1e')]);}break;case _0x8786('0x6b'):var _0x242a83=_0x182eff[_0x8786('0x5d')][_0x8786('0x63')](',')[_0x8786('0x2d')](function(_0x293ae6){return Number(_0x293ae6);});_0x242a83[_0x8786('0x31')](function(_0x1f0f6b){_0x1a4e55['or'](_0x8786('0x6c'),'%,'+_0x1f0f6b+',%');});_0x2c75af=_[_0x8786('0x6d')](_0x2c75af,_0x242a83);break;case _0x8786('0x6e'):if(_0x182eff[_0x8786('0x61')]==='$substring'){_0x4c6f74[_0x4bbf62](_0x8786('0x6f'),'%'+_0x182eff['value']+'%',null);}else{_0x72abff=_['find'](_0x5abda6,[_0x8786('0x2b'),'UserId']);_0x182eff[_0x8786('0x46')]=_0x8786('0x70');_0x1c33f6=as[_0x8786('0x67')](_0x435732,_0x72abff[_0x8786('0x68')],_0x182eff);_0x4c6f74[_0x4bbf62](_0x1c33f6[_0x8786('0x69')],_0x1c33f6[_0x8786('0x5d')][_0x8786('0x6a')],_0x1c33f6[_0x8786('0x5d')][_0x8786('0x1e')]);}break;case'body':_0x1c33f6=as['buildExpression']('me',null,_0x182eff);_0x4c6f74[_0x4bbf62](_0x1c33f6['text'],_0x1c33f6['value'][_0x8786('0x6a')],_0x1c33f6[_0x8786('0x5d')][_0x8786('0x1e')]);break;}}else{var _0x1c33f6=as[_0x8786('0x67')](_0x435732,_0x72abff[_0x8786('0x68')],_0x182eff);_0x4c6f74[_0x4bbf62](_0x1c33f6['text'],_0x1c33f6[_0x8786('0x5d')][_0x8786('0x6a')],_0x1c33f6[_0x8786('0x5d')][_0x8786('0x1e')]);}}}else{var _0x5e3bc5=_(_0x4d960d[_0x8786('0x3a')])[_0x8786('0x3b')]()[_0x8786('0x2d')](function(_0x33ce36){return _['some'](_0x5abda6,[_0x8786('0x2b'),_0x33ce36])?_0x33ce36:undefined;})[_0x8786('0x71')]()[_0x8786('0x5d')]();if(!_[_0x8786('0x72')](_0x5e3bc5)){_0x5e3bc5[_0x8786('0x31')](function(_0x2eea69){if(_0x2eea69===_0x8786('0x73')){_0x59c381[_0x8786('0x44')](_0x8786('0x74'),[][_0x8786('0x75')](_0x4d960d[_0x8786('0x3a')][_0x2eea69]));}else if(_0x2eea69===_0x8786('0x76')){var _0x208a86=JSON[_0x8786('0x77')](_0x4d960d[_0x8786('0x3a')][_0x2eea69])[_0x8786('0x78')];var _0x1e34a2=JSON[_0x8786('0x77')](_0x4d960d[_0x8786('0x3a')][_0x2eea69])[_0x8786('0x79')];_0x59c381['where'](_0x8786('0x7a'),_0x208a86,_0x1e34a2);}else{if(_0x4d960d[_0x8786('0x3a')][_0x2eea69]===_0x8786('0x7b')){_0x59c381[_0x8786('0x44')]('i.'+_0x2eea69+_0x8786('0x7c'));}else{_0x59c381[_0x8786('0x44')]('i.'+_0x2eea69+'\x20=\x20?',_0x4d960d[_0x8786('0x3a')][_0x2eea69]);}}});}if(_0x4d960d[_0x8786('0x3a')][_0x8786('0x7d')]){if(_0x4d960d[_0x8786('0x3a')][_0x8786('0x7d')]==0x1){_0x59c381['having'](_0x8786('0x7e'));}else{_0x59c381['having'](_0x8786('0x7f'));}}if(_0x4d960d[_0x8786('0x3a')][_0x8786('0x80')]){_0x2c75af=_[_0x8786('0x81')](_0x4d960d['query']['tag'])?_0x4d960d[_0x8786('0x3a')][_0x8786('0x80')]:new Array(_0x4d960d[_0x8786('0x3a')][_0x8786('0x80')]);_0x2c75af[_0x8786('0x31')](function(_0x354545){_0x1a4e55['or'](_0x8786('0x6c'),'%,'+_0x354545+',%');});}if(_0x4d960d['query'][_0x8786('0x82')]){var _0x901fb=_0x4d960d[_0x8786('0x3a')][_0x8786('0x82')][_0x8786('0x83')]('\x5c','\x5c\x5c')[_0x8786('0x83')]('\x27\x27','\x27\x27\x27\x27');if(qs[_0x8786('0x84')](_0x901fb)){_0x4c6f74['or'](_0x8786('0x85'),_0x901fb+'%');}else{_0x4c6f74['or'](_0x8786('0x86'),qs['getFullTextValue'](_0x901fb))['or'](_0x8786('0x87'),_0x901fb+'%')['or'](_0x8786('0x88'),_0x901fb+'%');}}}_0x59c381[_0x8786('0x44')](_0x4c6f74);_0x59c381['group']('i.id');var _0x2aff63={'type':db[_0x8786('0x89')][_0x8786('0x8a')][_0x8786('0x8b')],'raw':!![]};var _0x1ec7bb=_0x59c381[_0x8786('0x8c')]();_0x1ec7bb[_0x8786('0x46')]('i.id');_0x1ec7bb[_0x8786('0x46')](_0x8786('0x8d'),_0x8786('0x5c'));if(_0x39b9c3[_0x8786('0x42')]){_0x39b9c3[_0x8786('0x42')][_0x8786('0x31')](function(_0x398374){_0x59c381[_0x8786('0x42')]('i.'+_0x398374[0x0],_0x398374[0x1]===_0x8786('0x8e')?![]:!![]);});}if(!_[_0x8786('0x72')](_0x2c75af)){_0x59c381[_0x8786('0x5e')](_0x1a4e55);_0x1ec7bb[_0x8786('0x44')](_0x8786('0x8f'),_0x2c75af);}BPromise['resolve']()[_0x8786('0x33')](function(){if(!_0x221e65){if(_0x4d960d[_0x8786('0x3a')]['OpenchannelAccountId']||_0x4d960d[_0x8786('0x3a')]['journey'])return;_0x1ec7bb[_0x8786('0x44')]('i.OpenchannelAccountId\x20IS\x20NOT\x20NULL');_0x59c381[_0x8786('0x44')]('i.OpenchannelAccountId\x20IS\x20NOT\x20NULL');return;}return _0x4d960d['user']['getOpenchannelAccounts']({'attributes':['id'],'raw':!![]})[_0x8786('0x33')](function(_0x438244){if(_['isEmpty'](_0x438244)){_0x1ec7bb['where'](_0x8786('0x90'));_0x59c381[_0x8786('0x44')](_0x8786('0x90'));}else{_0x1ec7bb[_0x8786('0x44')]('i.OpenchannelAccountId\x20IN\x20?',_['map'](_0x438244,'id'));_0x59c381[_0x8786('0x44')](_0x8786('0x74'),_[_0x8786('0x2d')](_0x438244,'id'));}});})[_0x8786('0x33')](function(){db['sequelize'][_0x8786('0x3a')](_0x1ec7bb[_0x8786('0x91')](),_0x2aff63)['then'](function(_0x3bc166){_0x31125c['count']=_0x3bc166[_0x8786('0x5a')];if(_0x31125c['count']===0x0)return[];return db[_0x8786('0x92')]['query'](_0x346425['toString'](),_0x2aff63)[_0x8786('0x33')](function(_0xdc78b2){_0x392a56=_[_0x8786('0x93')](_0xdc78b2,'id');_0x2aff63=_['merge'](_0x2aff63,{'model':db[_0x8786('0x36')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x4d960d[_0x8786('0x3a')][_0x8786('0x3f')]){_0x39b9c3['attributes']['forEach'](function(_0x21fd80){_0x59c381[_0x8786('0x46')]('i.'+_0x21fd80);});}else{_0x59c381['field'](_0x8786('0x8d'),'unreadMessages');_0x59c381[_0x8786('0x46')]('a.key',_0x8786('0x94'));_0x59c381[_0x8786('0x46')](_0x8786('0x95'),_0x8786('0x96'));_0x59c381[_0x8786('0x46')](_0x8786('0x97'));_0x59c381[_0x8786('0x46')](_0x8786('0x98'),_0x8786('0x99'));_0x59c381[_0x8786('0x46')](_0x8786('0x9a'),'Contact.lastName');_0x59c381[_0x8786('0x46')](_0x8786('0x9b'),_0x8786('0x9c'));_0x59c381[_0x8786('0x46')]('c.phone','Contact.phone');_0x59c381[_0x8786('0x46')](_0x8786('0x9d'),_0x8786('0x9e'));_0x59c381[_0x8786('0x46')](_0x8786('0x9f'),_0x8786('0xa0'));_0x59c381[_0x8786('0x46')]('o.fullname',_0x8786('0xa1'));_0x59c381[_0x8786('0x46')](_0x8786('0xa2'),_0x8786('0xa3'));_0x59c381[_0x8786('0x46')](_0x8786('0xa4'),'TagIds');}if(_0x39b9c3[_0x8786('0x22')])_0x59c381[_0x8786('0x22')](_0x39b9c3[_0x8786('0x22')]);if(_0x39b9c3['offset'])_0x59c381[_0x8786('0x21')](_0x39b9c3[_0x8786('0x21')]);return db['sequelize'][_0x8786('0x3a')](_0x59c381[_0x8786('0x91')](),_0x2aff63);})[_0x8786('0x33')](function(_0x15a661){_0x99aacc[_0x8786('0x44')](_0x8786('0xa5'),_[_0x8786('0x2d')](_0x15a661,'id'));return db[_0x8786('0x92')]['query'](_0x99aacc[_0x8786('0x91')](),_0x2aff63)['then'](function(_0x2ec75d){var _0x4cee4f=_[_0x8786('0xa6')](_0x2ec75d,_0x8786('0xa7'));var _0x53e8e6=[];_0x15a661[_0x8786('0x31')](function(_0x3d7888){_0x53e8e6['push'](updateOpenchannelInteraction(_0x3d7888,_0x392a56,_0x4cee4f));});return BPromise['all'](_0x53e8e6);});});})[_0x8786('0x33')](function(_0x36cd84){_0x31125c[_0x8786('0xa8')]=_0x36cd84;return _0x31125c;})[_0x8786('0x33')](respondWithFilteredResult(_0x5040c8,_0x39b9c3));})[_0x8786('0x34')](handleError(_0x5040c8,null));};exports[_0x8786('0xa9')]=function(_0x38c268,_0x2064c1){var _0x4bec4c={'raw':![],'where':{'id':_0x38c268[_0x8786('0xaa')]['id']}},_0x5d6325={};_0x5d6325[_0x8786('0x39')]=_[_0x8786('0x3b')](db[_0x8786('0x36')][_0x8786('0x37')]);_0x5d6325[_0x8786('0x3a')]=_[_0x8786('0x3b')](_0x38c268[_0x8786('0x3a')]);_0x5d6325[_0x8786('0x3c')]=_[_0x8786('0x3d')](_0x5d6325[_0x8786('0x39')],_0x5d6325[_0x8786('0x3a')]);_0x4bec4c[_0x8786('0x3e')]=_[_0x8786('0x3d')](_0x5d6325[_0x8786('0x39')],qs[_0x8786('0x3f')](_0x38c268['query']['fields']));_0x4bec4c[_0x8786('0x3e')]=_0x4bec4c['attributes']['length']?_0x4bec4c[_0x8786('0x3e')]:_0x5d6325[_0x8786('0x39')];if(_0x38c268[_0x8786('0x3a')][_0x8786('0xab')]){_0x4bec4c[_0x8786('0xac')]=[{'all':!![]}];}_0x4bec4c=_[_0x8786('0xad')]({},_0x4bec4c,_0x38c268['options']);return db[_0x8786('0x36')]['find'](_0x4bec4c)[_0x8786('0x33')](handleEntityNotFound(_0x2064c1,null))[_0x8786('0x33')](respondWithResult(_0x2064c1,null))[_0x8786('0x34')](handleError(_0x2064c1,null));};exports[_0x8786('0xae')]=function(_0x4517ad,_0x3ebd63){return db[_0x8786('0x36')]['create'](_0x4517ad[_0x8786('0xaf')],{})[_0x8786('0x33')](respondWithResult(_0x3ebd63,0xc9))[_0x8786('0x34')](handleError(_0x3ebd63,null));};exports['update']=function(_0x39f81e,_0x47fbb1){if(_0x39f81e[_0x8786('0xaf')]['id']){delete _0x39f81e['body']['id'];}return db[_0x8786('0x36')][_0x8786('0x5b')]({'where':{'id':_0x39f81e[_0x8786('0xaa')]['id']}})[_0x8786('0x33')](handleEntityNotFound(_0x47fbb1,null))['then'](saveUpdates(_0x39f81e[_0x8786('0xaf')],null))['then'](respondWithResult(_0x47fbb1,null))['catch'](handleError(_0x47fbb1,null));};exports['destroy']=function(_0x5b4ccf,_0x250c6f){return db[_0x8786('0x36')][_0x8786('0x5b')]({'where':{'id':_0x5b4ccf[_0x8786('0xaa')]['id']}})['then'](handleEntityNotFound(_0x250c6f,null))[_0x8786('0x33')](removeEntity(_0x250c6f,null))[_0x8786('0x34')](handleError(_0x250c6f,null));};exports[_0x8786('0xb0')]=function(_0x10275e,_0x35f99c){return db[_0x8786('0x36')][_0x8786('0xb0')]()[_0x8786('0x33')](respondWithResult(_0x35f99c,null))[_0x8786('0x34')](handleError(_0x35f99c,null));};exports[_0x8786('0xb1')]=function(_0x3f8f20,_0x4dd5ed,_0x55eb2d){return db[_0x8786('0xb2')][_0x8786('0x5b')]({'where':{'id':_0x3f8f20[_0x8786('0xaa')]['id']}})[_0x8786('0x33')](handleEntityNotFound(_0x4dd5ed,null))[_0x8786('0x33')](function(_0x40aae3){if(_0x40aae3){return _0x40aae3[_0x8786('0xb1')](_0x3f8f20['body'][_0x8786('0xb3')],_['omit'](_0x3f8f20[_0x8786('0xaf')],[_0x8786('0xb3'),'id'])||{});}})[_0x8786('0x33')](respondWithResult(_0x4dd5ed,null))['catch'](handleError(_0x4dd5ed,null));};exports[_0x8786('0xb4')]=function(_0x54cfa3,_0xa841d7,_0x79dc31){var _0x142565={'raw':![],'where':{}};var _0x403076={};var _0x3e0dda={'count':0x0,'rows':[]};return db[_0x8786('0x36')][_0x8786('0xb5')]({'where':{'id':_0x54cfa3[_0x8786('0xaa')]['id']}})[_0x8786('0x33')](handleEntityNotFound(_0xa841d7,null))[_0x8786('0x33')](function(_0x4fc720){if(_0x4fc720){_0x403076[_0x8786('0x39')]=_[_0x8786('0x3b')](db[_0x8786('0xb2')][_0x8786('0x37')]);_0x403076[_0x8786('0x3a')]=_[_0x8786('0x3b')](_0x54cfa3['query']);_0x403076[_0x8786('0x3c')]=_['intersection'](_0x403076[_0x8786('0x39')],_0x403076[_0x8786('0x3a')]);_0x142565[_0x8786('0x3e')]=_['intersection'](_0x403076['model'],qs[_0x8786('0x3f')](_0x54cfa3[_0x8786('0x3a')][_0x8786('0x3f')]));_0x142565[_0x8786('0x3e')]=_0x142565['attributes']['length']?_0x142565['attributes']:_0x403076[_0x8786('0x39')];if(!_0x54cfa3[_0x8786('0x3a')][_0x8786('0x40')](_0x8786('0x41'))){_0x142565['limit']=qs[_0x8786('0x22')](_0x54cfa3[_0x8786('0x3a')][_0x8786('0x22')]);_0x142565['offset']=qs[_0x8786('0x21')](_0x54cfa3[_0x8786('0x3a')][_0x8786('0x21')]);}_0x142565[_0x8786('0x42')]=qs['sort'](_0x54cfa3['query'][_0x8786('0x43')]);_0x142565[_0x8786('0x44')]=qs[_0x8786('0x3c')](_[_0x8786('0xb6')](_0x54cfa3[_0x8786('0x3a')],_0x403076[_0x8786('0x3c')]));_0x142565[_0x8786('0x44')][_0x8786('0xa7')]=_0x4fc720['id'];if(_0x54cfa3[_0x8786('0x3a')]['filter']){_0x142565[_0x8786('0x44')]=_[_0x8786('0xad')](_0x142565[_0x8786('0x44')],{'$or':_[_0x8786('0x2d')](_0x142565[_0x8786('0x3e')],function(_0x2117f0){var _0x509254={};_0x509254[_0x2117f0]={'$like':'%'+_0x54cfa3[_0x8786('0x3a')][_0x8786('0x82')]+'%'};return _0x509254;})});}if(_0x54cfa3[_0x8786('0x3a')][_0x8786('0x78')]){var _0x14bdf7=_0x54cfa3[_0x8786('0x3a')][_0x8786('0x78')][_0x8786('0x63')](',');var _0x17c2f4={};_0x17c2f4[_0x14bdf7[0x0]]={'$gte':moment(_0x14bdf7[0x1])[_0x8786('0xb7')](_0x8786('0xb8'))};_0x142565[_0x8786('0x44')]=_[_0x8786('0xad')](_0x142565['where'],_0x17c2f4);}_0x142565=_[_0x8786('0xad')]({},_0x142565,_0x54cfa3[_0x8786('0xb9')]);return db[_0x8786('0xb2')][_0x8786('0x20')]({'where':_0x142565[_0x8786('0x44')]})[_0x8786('0x33')](function(_0x1f7f9f){_0x3e0dda[_0x8786('0x20')]=_0x1f7f9f;if(_0x54cfa3[_0x8786('0x3a')]['includeAll']){_0x142565[_0x8786('0xac')]=[{'all':!![]}];}return db['OpenchannelMessage']['findAll'](_0x142565);})['then'](function(_0x53c665){_0x3e0dda['rows']=_0x53c665;return _0x3e0dda;});}})['then'](respondWithFilteredResult(_0xa841d7,_0x142565))[_0x8786('0x34')](handleError(_0xa841d7,null));};exports[_0x8786('0xba')]=function(_0x44c388,_0x83bd9a,_0x1c0828){return db[_0x8786('0x36')]['find']({'where':{'id':_0x44c388[_0x8786('0xaa')]['id']}})[_0x8786('0x33')](handleEntityNotFound(_0x83bd9a,null))[_0x8786('0x33')](function(_0x267fcc){if(_0x267fcc){return _0x267fcc[_0x8786('0xbb')](_0x44c388[_0x8786('0xaf')][_0x8786('0xb3')],_[_0x8786('0xbc')](_0x44c388['body'],['ids','id'])||{})['spread'](function(){return db[_0x8786('0x6b')][_0x8786('0xbd')]({'attributes':['id',_0x8786('0x2b'),_0x8786('0xbe')],'where':{'id':_0x44c388[_0x8786('0xaf')][_0x8786('0xb3')]}});})[_0x8786('0x33')](function(_0x15348a){socket['emit'](_0x8786('0xbf'),{'id':Number(_0x44c388[_0x8786('0xaa')]['id']),'tags':_0x15348a||[]});return{'id':Number(_0x44c388[_0x8786('0xaa')]['id']),'tags':_0x15348a||[]};});}})[_0x8786('0x33')](respondWithResult(_0x83bd9a,null))[_0x8786('0x34')](handleError(_0x83bd9a,null));};exports[_0x8786('0xc0')]=function(_0x332ebe,_0x5f7aa1,_0x5a5e00){return db[_0x8786('0x36')][_0x8786('0x5b')]({'where':{'id':_0x332ebe[_0x8786('0xaa')]['id']}})['then'](handleEntityNotFound(_0x5f7aa1,null))['then'](function(_0x4a73b3){if(_0x4a73b3){return _0x4a73b3[_0x8786('0xc0')](_0x332ebe[_0x8786('0x3a')][_0x8786('0xb3')]);}})['then'](respondWithStatusCode(_0x5f7aa1,null))['catch'](handleError(_0x5f7aa1,null));};exports[_0x8786('0xc1')]=function(_0x1016a7,_0x212352){var _0x146393=moment()[_0x8786('0xc2')]()[_0x8786('0x91')]();var _0x39e2e5=path['join'](config[_0x8786('0xc3')],_0x8786('0xc4'),_0x8786('0xc5'),'tmp');var _0x1ade2f=path[_0x8786('0xc6')](config[_0x8786('0xc3')],_0x8786('0xc4'),_0x8786('0xc5'),'attachments');var _0x339008=path['join'](_0x39e2e5,_0x146393);var _0x335d11=util[_0x8786('0xb7')](_0x8786('0xc7'),_0x1016a7[_0x8786('0xaa')]['id'],_0x146393);var _0x58feb0=path[_0x8786('0xc6')](_0x39e2e5,_0x335d11);var _0x4aa0ce=[];_0x4aa0ce['push']({'model':db[_0x8786('0x6e')],'as':'User','attributes':['id',_0x8786('0x2e')],'raw':!![]});_0x4aa0ce[_0x8786('0x32')]({'model':db[_0x8786('0xc8')],'as':'Contact','attributes':['id',_0x8786('0xc9'),_0x8786('0xca')],'raw':!![]});if(_0x1016a7[_0x8786('0x3a')][_0x8786('0xcb')]){_0x4aa0ce[_0x8786('0x32')]({'model':db[_0x8786('0xcc')],'as':_0x8786('0xcc'),'raw':!![]});}var _0x463f98=[{'model':db[_0x8786('0xb2')],'as':_0x8786('0xcd'),'attributes':['id',_0x8786('0xaf'),_0x8786('0x76'),_0x8786('0xce'),_0x8786('0xcf'),_0x8786('0x7d')],'include':_0x4aa0ce}];_0x463f98[_0x8786('0x32')]({'model':db[_0x8786('0xd0')],'as':_0x8786('0xd1'),'attributes':['id',_0x8786('0x2b')]});_0x463f98[_0x8786('0x32')]({'model':db[_0x8786('0x6e')],'as':_0x8786('0xd2'),'attributes':['id',_0x8786('0x2e')]});return db[_0x8786('0x36')]['find']({'where':{'id':_0x1016a7[_0x8786('0xaa')]['id']},'include':_0x463f98})['then'](handleEntityNotFound(_0x212352,null))['then'](function(_0x31a05b){if(_0x31a05b){var _0x370094=_0x31a05b[_0x8786('0xd3')]({'plain':!![]});fs[_0x8786('0xd4')](_0x339008);var _0x5f2e6d={'format':'A4','border':'10px','header':{'height':_0x8786('0xd5'),'contents':{'first':_0x8786('0xd6')}},'footer':{'height':_0x8786('0xd7'),'contents':{'default':util[_0x8786('0xb7')](_0x8786('0xd8'),util[_0x8786('0xb7')](_0x8786('0xd9'),_0x8786('0xda'),_0x370094['id']),moment()['format'](_0x8786('0xdb'))[_0x8786('0x91')]())}}};var _0x3ef902={'channel':_0x8786('0xda'),'account':_0x370094[_0x8786('0xd1')][_0x8786('0x2b')],'agent':_0x370094[_0x8786('0xd2')]?_0x370094[_0x8786('0xd2')][_0x8786('0x2e')]:_0x8786('0xdc'),'createdAt':moment(_0x370094['createdAt'])[_0x8786('0xb7')](_0x8786('0xb8'))[_0x8786('0x91')](),'closedAt':_0x370094['closed']?moment(_0x370094[_0x8786('0xdd')])[_0x8786('0xb7')](_0x8786('0xb8'))[_0x8786('0x91')]():'','disposition':_0x370094[_0x8786('0xde')],'visibility':_0x370094[_0x8786('0xdf')]?_0x8786('0xe0'):_0x8786('0xe1'),'messages':_(_0x370094[_0x8786('0xcd')])[_0x8786('0x82')]({'secret':![]})[_0x8786('0x2d')](function(_0x1e579f){if(_0x1e579f[_0x8786('0xcc')]){var _0x339e44=path[_0x8786('0xc6')](_0x1ade2f,_0x1e579f[_0x8786('0xcc')][_0x8786('0xe2')]);if(fs['existsSync'](_0x339e44)){fs[_0x8786('0xe3')](_0x339e44)[_0x8786('0xe4')](fs['createWriteStream'](path[_0x8786('0xc6')](_0x339008,_0x1e579f[_0x8786('0xcc')][_0x8786('0xe2')])));}}return{'date':moment(_0x1e579f[_0x8786('0x76')])[_0x8786('0xb7')]('YYYY-MM-DD\x20HH:mm:ss')['toString'](),'sender':_0x1e579f[_0x8786('0xce')]===_0x8786('0xe5')?_0x1e579f[_0x8786('0x6e')]?_0x1e579f['User'][_0x8786('0x2e')]:'System':_0x1e579f[_0x8786('0xe6')][_0x8786('0xc9')]+(_0x1e579f[_0x8786('0xe6')][_0x8786('0xca')]?'\x20'+_0x1e579f['Contact']['lastName']:''),'body':_0x1e579f[_0x8786('0xcc')]?_0x1e579f['Attachment']['basename']:_0x1e579f[_0x8786('0xaf')],'direction':_0x1e579f['direction']===_0x8786('0xe5')?'A':'C','secret':_0x1e579f[_0x8786('0xcf')],'read':_0x1e579f[_0x8786('0x7d')],'attachment':_0x1e579f[_0x8786('0xcc')]};})['value']()};return ejs[_0x8786('0xe7')](path[_0x8786('0xc6')](config[_0x8786('0xc3')],_0x8786('0xc4'),_0x8786('0xe8'),_0x8786('0xe9')),{'interaction':_0x3ef902})[_0x8786('0x33')](function(_0x5e09b7){return new BPromise(function(_0x4d3035,_0x45e4f5){pdf['create'](_0x5e09b7,_0x5f2e6d)[_0x8786('0xea')](path['join'](_0x339008,_0x8786('0xeb')+_0x370094['id']+'-'+_0x146393+'.pdf'),function(_0x1adca6,_0x4a42c8){if(_0x1adca6)return _0x45e4f5(_0x1adca6);_0x4d3035(_0x4a42c8);});});})[_0x8786('0x33')](function(){return new BPromise(function(_0x261606,_0x3feeb4){zipdir(_0x339008,{'saveTo':_0x58feb0},function(_0x2e2bfd,_0x23846f){if(_0x2e2bfd)return _0x3feeb4(_0x2e2bfd);return _0x261606(_0x23846f);});})[_0x8786('0x33')](function(){return new BPromise(function(_0x20020e,_0x172d4a){rimraf(_0x339008,function(_0x115be0){if(_0x115be0)_0x172d4a(_0x115be0);return _0x20020e();});});})[_0x8786('0x33')](function(){return _0x212352[_0x8786('0xc1')](_0x58feb0,_0x335d11,function(_0x4c7861){if(_0x4c7861){console[_0x8786('0xec')](_0x8786('0xed'),_0x4c7861);}else{fs[_0x8786('0xee')](_0x58feb0);}});});});}else{return _0x212352['sendStatus'](0xc8);}})['catch'](handleError(_0x212352,null));};