Built motion from commit 753c950e.|2.5.42
[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 _0xe59b=['reject','save','then','error','stack','name','send','Users','map','fullname','TagIds','Tags','push','waiting','answered','unmanaged','closed','UserId','talking','index','OpenchannelInteraction','rawAttributes','type','model','keys','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','select','field','color','from','tools_tags','u.id','u.fullname','user_has_openchannel_interactions','left_join','users','u.id\x20=\x20ui.UserId','openchannel_interactions','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','o.id\x20=\x20i.UserId','openchannel_accounts','a.id\x20=\x20i.OpenchannelAccountId','openchannel_messages','me.OpenchannelInteractionId\x20=\x20i.id','openchannel_interaction_has_tags','it.OpenchannelInteractionId\x20=\x20i.id','expr','search','parseSearch','conditions','find','unreadMessages','value','having','operator','$substring','getFullTextValue','ContactId','buildExpression','text','start','end','Tag','split','forEach','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','User','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','body','some','isEmpty','OpenchannelAccountId','i.OpenchannelAccountId\x20IN\x20?','concat','createdAt','$gte','parse','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','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?','group','i.id','Sequelize','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','contactName','DESC','resolve','i.OpenchannelAccountId\x20IS\x20NOT\x20NULL','agent','getOpenchannelAccounts','i.OpenchannelAccountId\x20IS\x20NULL','user','role','sequelize','toString','keyBy','merge','a.key','Account.key','Account.mandatoryDisposition','i.*','c.firstName','Contact.firstName','Contact.lastName','c.email','Contact.email','c.phone','Contact.phone','Contact.mobile','c.fax','Contact.fax','o.fullname','Owner.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','groupBy','OpenchannelInteractionId','all','rows','show','params','include','options','create','catch','update','destroy','describe','addMessage','OpenchannelMessage','ids','omit','getMessages','findOne','format','findAll','addTags','setTags','spread','openchannelInteractionTags:save','download','unix','join','root','server','tmp','files','attachments','transcript-%d-%s.zip','CmContact','Contact','firstName','Attachment','Messages','secret','OpenchannelAccount','Account','Owner','get','N.A.','YYYY-MM-DD\x20HH:mm:ss','closedAt','disposition','threadId','Public','Private','basename','existsSync','pipe','out','lastName','direction','renderFile','downloadInteraction.ejs','transcript-','Openchannel','err','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../components/export/pdf','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./openchannelInteraction.socket','register','sendStatus','status','json','offset','undefined','limit','count','apply'];(function(_0x710418,_0x123ee2){var _0x15d8ef=function(_0x10c9d9){while(--_0x10c9d9){_0x710418['push'](_0x710418['shift']());}};_0x15d8ef(++_0x123ee2);}(_0xe59b,0xcd));var _0xbe59=function(_0x219f0b,_0x2fc5c7){_0x219f0b=_0x219f0b-0x0;var _0x2af029=_0xe59b[_0x219f0b];return _0x2af029;};'use strict';var emlformat=require(_0xbe59('0x0'));var rimraf=require(_0xbe59('0x1'));var zipdir=require(_0xbe59('0x2'));var jsonpatch=require(_0xbe59('0x3'));var rp=require(_0xbe59('0x4'));var moment=require(_0xbe59('0x5'));var BPromise=require(_0xbe59('0x6'));var Mustache=require(_0xbe59('0x7'));var util=require('util');var path=require(_0xbe59('0x8'));var sox=require(_0xbe59('0x9'));var csv=require(_0xbe59('0xa'));var ejs=require(_0xbe59('0xb'));var fs=require('fs');var fs_extra=require(_0xbe59('0xc'));var _=require(_0xbe59('0xd'));var squel=require(_0xbe59('0xe'));var crypto=require(_0xbe59('0xf'));var jsforce=require(_0xbe59('0x10'));var deskjs=require('desk.js');var toCsv=require(_0xbe59('0xa'));var querystring=require(_0xbe59('0x11'));var Papa=require(_0xbe59('0x12'));var Redis=require(_0xbe59('0x13'));var authService=require(_0xbe59('0x14'));var qs=require('../../components/parsers/qs');var as=require(_0xbe59('0x15'));var pdf=require(_0xbe59('0x16'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xbe59('0x17'))(_0xbe59('0x18'));var utils=require(_0xbe59('0x19'));var config=require(_0xbe59('0x1a'));var licenseUtil=require(_0xbe59('0x1b'));var db=require(_0xbe59('0x1c'))['db'];config[_0xbe59('0x1d')]=_[_0xbe59('0x1e')](config[_0xbe59('0x1d')],{'host':_0xbe59('0x1f'),'port':0x18eb});var socket=require(_0xbe59('0x20'))(new Redis(config['redis']));require(_0xbe59('0x21'))[_0xbe59('0x22')](socket);function respondWithStatusCode(_0x1c9919,_0x6c6e07){_0x6c6e07=_0x6c6e07||0xcc;return function(_0x5e4104){if(_0x5e4104){return _0x1c9919[_0xbe59('0x23')](_0x6c6e07);}return _0x1c9919[_0xbe59('0x24')](_0x6c6e07)['end']();};}function respondWithResult(_0x3289e3,_0x137b4e){_0x137b4e=_0x137b4e||0xc8;return function(_0x1a4b7a){if(_0x1a4b7a){return _0x3289e3['status'](_0x137b4e)[_0xbe59('0x25')](_0x1a4b7a);}};}function respondWithFilteredResult(_0xac8a58,_0x216788){return function(_0x43376d){if(_0x43376d){var _0x2cc7d6=typeof _0x216788[_0xbe59('0x26')]===_0xbe59('0x27')&&typeof _0x216788[_0xbe59('0x28')]===_0xbe59('0x27');var _0x46b15b=_0x43376d[_0xbe59('0x29')];var _0x17cc64=_0x2cc7d6?0x0:_0x216788[_0xbe59('0x26')];var _0x1e9af0=_0x2cc7d6?_0x43376d[_0xbe59('0x29')]:_0x216788[_0xbe59('0x26')]+_0x216788['limit'];var _0x58ef59;if(_0x1e9af0>=_0x46b15b){_0x1e9af0=_0x46b15b;_0x58ef59=0xc8;}else{_0x58ef59=0xce;}_0xac8a58['status'](_0x58ef59);return _0xac8a58['set']('Content-Range',_0x17cc64+'-'+_0x1e9af0+'/'+_0x46b15b)[_0xbe59('0x25')](_0x43376d);}return null;};}function patchUpdates(_0x47da0d){return function(_0x2a6e4c){try{jsonpatch[_0xbe59('0x2a')](_0x2a6e4c,_0x47da0d,!![]);}catch(_0x1cff93){return BPromise[_0xbe59('0x2b')](_0x1cff93);}return _0x2a6e4c[_0xbe59('0x2c')]();};}function saveUpdates(_0x42c16d,_0x58f047){return function(_0x1a900b){if(_0x1a900b){return _0x1a900b['update'](_0x42c16d)[_0xbe59('0x2d')](function(_0x1ba885){return _0x1ba885;});}return null;};}function removeEntity(_0x3b4639,_0x30bc3c){return function(_0x414ea0){if(_0x414ea0){return _0x414ea0['destroy']()[_0xbe59('0x2d')](function(){_0x3b4639[_0xbe59('0x24')](0xcc)['end']();});}};}function handleEntityNotFound(_0x3262ba,_0x3f7b19){return function(_0x4e1a60){if(!_0x4e1a60){_0x3262ba[_0xbe59('0x23')](0x194);}return _0x4e1a60;};}function handleError(_0x14895f,_0x4be2a2){_0x4be2a2=_0x4be2a2||0x1f4;return function(_0x3a3b4f){logger[_0xbe59('0x2e')](_0x3a3b4f[_0xbe59('0x2f')]);if(_0x3a3b4f[_0xbe59('0x30')]){delete _0x3a3b4f[_0xbe59('0x30')];}_0x14895f[_0xbe59('0x24')](_0x4be2a2)[_0xbe59('0x31')](_0x3a3b4f);};}function getInteractionUsers(_0x4060da,_0x57d556){return new BPromise(function(_0x131b40,_0x554e81){try{if(_0x57d556[_0x4060da['id']]){_0x4060da[_0xbe59('0x32')]=_[_0xbe59('0x33')](_0x57d556[_0x4060da['id']],function(_0x2f1966){return{'id':_0x2f1966['id'],'fullname':_0x2f1966[_0xbe59('0x34')]};});}}catch(_0xe1e275){_0x554e81(_0xe1e275);}_0x131b40(_0x4060da);});}function getInteractionTags(_0x5589d7,_0x356fdb){return new BPromise(function(_0x5df35c,_0x1b052d){try{if(_0x5589d7[_0xbe59('0x35')]){_0x5589d7[_0xbe59('0x36')]=[];_0x5589d7[_0xbe59('0x35')]['split'](',')['forEach'](function(_0x4fc498){_0x5589d7['Tags'][_0xbe59('0x37')](_0x356fdb[_0x4fc498]);});}delete _0x5589d7['TagIds'];}catch(_0x382f75){_0x1b052d(_0x382f75);}_0x5df35c(_0x5589d7);});}function updateOpenchannelInteraction(_0x3a1ad3,_0xfd180e,_0x501fbc){return new BPromise(function(_0x106666,_0x2808c0){return getInteractionUsers(_0x3a1ad3,_0x501fbc)[_0xbe59('0x2d')](function(_0x48f815){return getInteractionTags(_0x48f815,_0xfd180e);})[_0xbe59('0x2d')](function(_0x208096){return getStateInteraction(_0x208096);})[_0xbe59('0x2d')](function(_0x425618){_0x106666(_0x425618);})['catch'](function(_0x58fff2){_0x2808c0(_0x58fff2);});});}function getStateInteraction(_0x15690d){return new BPromise(function(_0x4ccf8d){_0x15690d[_0xbe59('0x38')]=0x0;_0x15690d['talking']=0x0;_0x15690d[_0xbe59('0x39')]=0x0;_0x15690d[_0xbe59('0x3a')]=0x0;_0x15690d['total']=0x0;if(!_0x15690d[_0xbe59('0x3b')]&&!_0x15690d[_0xbe59('0x3c')]){_0x15690d['waiting']+=0x1;}if(!_0x15690d['closed']&&_0x15690d[_0xbe59('0x3c')]){_0x15690d[_0xbe59('0x3d')]+=0x1;if(_0x15690d[_0xbe59('0x38')]){_0x15690d[_0xbe59('0x38')]-=0x1;}}if(_0x15690d[_0xbe59('0x3b')]&&_0x15690d[_0xbe59('0x3c')]){_0x15690d['answered']+=0x1;if(_0x15690d[_0xbe59('0x3d')]){_0x15690d['talking']-=0x1;}}if(_0x15690d['closed']&&!_0x15690d['UserId']){_0x15690d[_0xbe59('0x3a')]+=0x1;if(_0x15690d[_0xbe59('0x38')]){_0x15690d[_0xbe59('0x38')]-=0x1;}}_0x15690d['total']+=0x1;_0x4ccf8d(_0x15690d);});}exports[_0xbe59('0x3e')]=function(_0x11b05f,_0x158f2b){var _0x257a58={},_0x155360={},_0xc37ae5={'count':0x0,'rows':[]};var _0x400317=_[_0xbe59('0x33')](db[_0xbe59('0x3f')][_0xbe59('0x40')],function(_0x58017f){return{'name':_0x58017f['fieldName'],'type':_0x58017f[_0xbe59('0x41')]['key']};});_0x155360[_0xbe59('0x42')]=_[_0xbe59('0x33')](_0x400317,'name');_0x155360['query']=_[_0xbe59('0x43')](_0x11b05f[_0xbe59('0x44')]);_0x155360[_0xbe59('0x45')]=_['intersection'](_0x155360[_0xbe59('0x42')],_0x155360[_0xbe59('0x44')]);_0x257a58['attributes']=_[_0xbe59('0x46')](_0x155360[_0xbe59('0x42')],qs[_0xbe59('0x47')](_0x11b05f['query'][_0xbe59('0x47')]));_0x257a58[_0xbe59('0x48')]=_0x257a58[_0xbe59('0x48')][_0xbe59('0x49')]?_0x257a58[_0xbe59('0x48')]:_0x155360[_0xbe59('0x42')];if(!_0x11b05f[_0xbe59('0x44')][_0xbe59('0x4a')](_0xbe59('0x4b'))){_0x257a58[_0xbe59('0x28')]=qs[_0xbe59('0x28')](_0x11b05f[_0xbe59('0x44')][_0xbe59('0x28')]);_0x257a58['offset']=qs[_0xbe59('0x26')](_0x11b05f[_0xbe59('0x44')][_0xbe59('0x26')]);}_0x257a58[_0xbe59('0x4c')]=qs[_0xbe59('0x4d')](_0x11b05f['query'][_0xbe59('0x4d')]);_0x257a58[_0xbe59('0x4e')]=qs[_0xbe59('0x45')](_[_0xbe59('0x4f')](_0x11b05f['query'],_0x155360[_0xbe59('0x45')]),_0x400317);var _0x3cc20c=[];var _0x452453=squel[_0xbe59('0x50')]()['field']('id')[_0xbe59('0x51')]('name')[_0xbe59('0x51')](_0xbe59('0x52'))[_0xbe59('0x53')](_0xbe59('0x54'));var _0x21f0ac=squel[_0xbe59('0x50')]()[_0xbe59('0x51')](_0xbe59('0x55'))[_0xbe59('0x51')](_0xbe59('0x56'))[_0xbe59('0x51')]('ui.OpenchannelInteractionId')[_0xbe59('0x53')](_0xbe59('0x57'),'ui')[_0xbe59('0x58')](_0xbe59('0x59'),'u',_0xbe59('0x5a'));var _0x148102=squel['select']()[_0xbe59('0x53')](_0xbe59('0x5b'),'i')[_0xbe59('0x58')](_0xbe59('0x5c'),'c',_0xbe59('0x5d'))[_0xbe59('0x58')](_0xbe59('0x59'),'o',_0xbe59('0x5e'))['left_join'](_0xbe59('0x5f'),'a',_0xbe59('0x60'))[_0xbe59('0x58')](_0xbe59('0x61'),'me',_0xbe59('0x62'))['left_join'](_0xbe59('0x63'),'it',_0xbe59('0x64'))['left_join'](_0xbe59('0x54'),'t','t.id\x20=\x20it.TagId');var _0x596ad1=squel[_0xbe59('0x65')]();var _0x476686=[];var _0x212637=squel[_0xbe59('0x65')]();var _0x5dd1d1;if(_0x11b05f['query'][_0xbe59('0x66')]){_0x5dd1d1=as[_0xbe59('0x67')](_0x11b05f[_0xbe59('0x44')][_0xbe59('0x66')]);var _0x4c6ccb=_0x5dd1d1['sqlOperator'];for(var _0x65340d=0x0;_0x65340d<_0x5dd1d1[_0xbe59('0x68')][_0xbe59('0x49')];_0x65340d++){var _0x3efd20=_0x5dd1d1[_0xbe59('0x68')][_0x65340d];var _0x38e74f='i';var _0x39a9bd=_[_0xbe59('0x69')](_0x400317,['name',_0x3efd20[_0xbe59('0x51')]]);if(!_0x39a9bd){switch(_0x3efd20[_0xbe59('0x51')]){case _0xbe59('0x6a'):if(_0x3efd20[_0xbe59('0x6b')]==0x1){_0x148102[_0xbe59('0x6c')]('`'+_0x3efd20[_0xbe59('0x51')]+'`\x20=\x200');}else{_0x148102['having']('`'+_0x3efd20[_0xbe59('0x51')]+'`\x20>\x200');}break;case'Contact':if(_0x3efd20[_0xbe59('0x6d')]===_0xbe59('0x6e')){if(_0x3efd20[_0xbe59('0x6b')]['split']('\x20')[_0xbe59('0x49')]>0x1){_0x596ad1[_0x4c6ccb]('MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0xbe59('0x6f')](_0x3efd20[_0xbe59('0x6b')]),null);}else{var _0x157e9f='%'+_0x3efd20[_0xbe59('0x6b')]+'%';_0x596ad1[_0x4c6ccb]('c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?',_0x157e9f,_0x157e9f,_0x157e9f);}}else{_0x39a9bd=_[_0xbe59('0x69')](_0x400317,[_0xbe59('0x30'),_0xbe59('0x70')]);_0x3efd20[_0xbe59('0x51')]=_0xbe59('0x70');_0x1c6838=as[_0xbe59('0x71')](_0x38e74f,_0x39a9bd[_0xbe59('0x41')],_0x3efd20);_0x596ad1[_0x4c6ccb](_0x1c6838[_0xbe59('0x72')],_0x1c6838[_0xbe59('0x6b')][_0xbe59('0x73')],_0x1c6838[_0xbe59('0x6b')][_0xbe59('0x74')]);}break;case _0xbe59('0x75'):var _0x2c199e=_0x3efd20['value'][_0xbe59('0x76')](',')[_0xbe59('0x33')](function(_0x1f8187){return Number(_0x1f8187);});_0x2c199e[_0xbe59('0x77')](function(_0x11c585){_0x212637['or'](_0xbe59('0x78'),'%,'+_0x11c585+',%');});_0x476686=_['union'](_0x476686,_0x2c199e);break;case _0xbe59('0x79'):if(_0x3efd20[_0xbe59('0x6d')]==='$substring'){_0x596ad1[_0x4c6ccb](_0xbe59('0x7a'),'%'+_0x3efd20[_0xbe59('0x6b')]+'%',null);}else{_0x39a9bd=_[_0xbe59('0x69')](_0x400317,['name',_0xbe59('0x3c')]);_0x3efd20[_0xbe59('0x51')]=_0xbe59('0x3c');_0x1c6838=as['buildExpression'](_0x38e74f,_0x39a9bd[_0xbe59('0x41')],_0x3efd20);_0x596ad1[_0x4c6ccb](_0x1c6838[_0xbe59('0x72')],_0x1c6838[_0xbe59('0x6b')][_0xbe59('0x73')],_0x1c6838[_0xbe59('0x6b')][_0xbe59('0x74')]);}break;case _0xbe59('0x7b'):_0x1c6838=as[_0xbe59('0x71')]('me',null,_0x3efd20);_0x596ad1[_0x4c6ccb](_0x1c6838[_0xbe59('0x72')],_0x1c6838[_0xbe59('0x6b')][_0xbe59('0x73')],_0x1c6838[_0xbe59('0x6b')][_0xbe59('0x74')]);break;}}else{var _0x1c6838=as[_0xbe59('0x71')](_0x38e74f,_0x39a9bd['type'],_0x3efd20);_0x596ad1[_0x4c6ccb](_0x1c6838['text'],_0x1c6838[_0xbe59('0x6b')][_0xbe59('0x73')],_0x1c6838[_0xbe59('0x6b')][_0xbe59('0x74')]);}}}else{var _0x3b4d77=_(_0x11b05f[_0xbe59('0x44')])[_0xbe59('0x43')]()[_0xbe59('0x33')](function(_0x780105){return _[_0xbe59('0x7c')](_0x400317,[_0xbe59('0x30'),_0x780105])?_0x780105:undefined;})['compact']()[_0xbe59('0x6b')]();if(!_[_0xbe59('0x7d')](_0x3b4d77)){_0x3b4d77[_0xbe59('0x77')](function(_0x42bf26){if(_0x42bf26===_0xbe59('0x7e')){_0x148102['where'](_0xbe59('0x7f'),[][_0xbe59('0x80')](_0x11b05f[_0xbe59('0x44')][_0x42bf26]));}else if(_0x42bf26===_0xbe59('0x81')){var _0x3972d6=JSON['parse'](_0x11b05f['query'][_0x42bf26])[_0xbe59('0x82')];var _0x38b83c=JSON[_0xbe59('0x83')](_0x11b05f['query'][_0x42bf26])[_0xbe59('0x84')];_0x148102[_0xbe59('0x4e')](_0xbe59('0x85'),_0x3972d6,_0x38b83c);}else{if(_0x11b05f[_0xbe59('0x44')][_0x42bf26]===_0xbe59('0x86')){_0x148102[_0xbe59('0x4e')]('i.'+_0x42bf26+_0xbe59('0x87'));}else{_0x148102['where']('i.'+_0x42bf26+_0xbe59('0x88'),_0x11b05f[_0xbe59('0x44')][_0x42bf26]);}}});}if(_0x11b05f[_0xbe59('0x44')][_0xbe59('0x89')]){if(_0x11b05f['query'][_0xbe59('0x89')]==0x1){_0x148102[_0xbe59('0x6c')](_0xbe59('0x8a'));}else{_0x148102['having'](_0xbe59('0x8b'));}}if(_0x11b05f['query'][_0xbe59('0x8c')]){_0x476686=_[_0xbe59('0x8d')](_0x11b05f['query'][_0xbe59('0x8c')])?_0x11b05f[_0xbe59('0x44')][_0xbe59('0x8c')]:new Array(_0x11b05f[_0xbe59('0x44')][_0xbe59('0x8c')]);_0x476686[_0xbe59('0x77')](function(_0x5a0a3c){_0x212637['or'](_0xbe59('0x78'),'%,'+_0x5a0a3c+',%');});}if(_0x11b05f['query']['filter']){var _0x249b8a=_0x11b05f[_0xbe59('0x44')][_0xbe59('0x8e')]['replace']('\x5c','\x5c\x5c')[_0xbe59('0x8f')](/'/g,'\x27\x27');if(qs[_0xbe59('0x90')](_0x249b8a)){_0x596ad1['or'](_0xbe59('0x91'),_0x249b8a+'%');}else{_0x596ad1['or'](_0xbe59('0x92'),qs[_0xbe59('0x6f')](_0x249b8a))['or'](_0xbe59('0x93'),_0x249b8a+'%')['or'](_0xbe59('0x94'),_0x249b8a+'%');}}}_0x148102[_0xbe59('0x4e')](_0x596ad1);_0x148102[_0xbe59('0x95')](_0xbe59('0x96'));var _0x520bf7={'type':db[_0xbe59('0x97')]['QueryTypes']['SELECT'],'raw':!![]};var _0x52fd4f=_0x148102[_0xbe59('0x98')]();_0x52fd4f['field'](_0xbe59('0x96'));_0x52fd4f[_0xbe59('0x51')](_0xbe59('0x99'),_0xbe59('0x6a'));if(_0x257a58['order']){_0x257a58[_0xbe59('0x4c')][_0xbe59('0x77')](function(_0x294c2d){var _0x4674e1=_0x294c2d[0x0]===_0xbe59('0x9a')?_0x294c2d[0x0]:'i.'+_0x294c2d[0x0];_0x148102[_0xbe59('0x4c')](_0x4674e1,_0x294c2d[0x1]===_0xbe59('0x9b')?![]:!![]);});}if(!_[_0xbe59('0x7d')](_0x476686)){_0x148102[_0xbe59('0x6c')](_0x212637);_0x52fd4f['where']('t.id\x20IN\x20?',_0x476686);}BPromise[_0xbe59('0x9c')]()[_0xbe59('0x2d')](function(){if(!_0x5dd1d1){if(_0x11b05f[_0xbe59('0x44')][_0xbe59('0x7e')])return;_0x52fd4f['where'](_0xbe59('0x9d'));_0x148102[_0xbe59('0x4e')](_0xbe59('0x9d'));return;}if(_0x11b05f['user']['role']!==_0xbe59('0x9e'))return;return _0x11b05f['user'][_0xbe59('0x9f')]({'attributes':['id'],'raw':!![]})[_0xbe59('0x2d')](function(_0x865348){if(_[_0xbe59('0x7d')](_0x865348)){_0x52fd4f[_0xbe59('0x4e')](_0xbe59('0xa0'));_0x148102[_0xbe59('0x4e')]('i.OpenchannelAccountId\x20IS\x20NULL');}else{_0x52fd4f[_0xbe59('0x4e')]('i.OpenchannelAccountId\x20IN\x20?',_['map'](_0x865348,'id'));_0x148102[_0xbe59('0x4e')]('i.OpenchannelAccountId\x20IN\x20?',_['map'](_0x865348,'id'));}});})[_0xbe59('0x2d')](function(){if(_0x11b05f[_0xbe59('0xa1')][_0xbe59('0xa2')]==='agent'&&!_0x5dd1d1&&!_0x11b05f[_0xbe59('0x44')][_0xbe59('0x7e')])return[];return db[_0xbe59('0xa3')][_0xbe59('0x44')](_0x52fd4f[_0xbe59('0xa4')](),_0x520bf7);})[_0xbe59('0x2d')](function(_0x39c840){_0xc37ae5[_0xbe59('0x29')]=_0x39c840[_0xbe59('0x49')];if(_0xc37ae5[_0xbe59('0x29')]===0x0)return[];return db[_0xbe59('0xa3')]['query'](_0x452453[_0xbe59('0xa4')](),_0x520bf7)['then'](function(_0x2ca6e2){_0x3cc20c=_[_0xbe59('0xa5')](_0x2ca6e2,'id');_0x520bf7=_[_0xbe59('0xa6')](_0x520bf7,{'model':db[_0xbe59('0x3f')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x11b05f[_0xbe59('0x44')][_0xbe59('0x47')]){_0x257a58[_0xbe59('0x48')][_0xbe59('0x77')](function(_0x18bb29){_0x148102['field']('i.'+_0x18bb29);});}else{_0x148102['field'](_0xbe59('0x99'),_0xbe59('0x6a'));_0x148102[_0xbe59('0x51')](_0xbe59('0xa7'),_0xbe59('0xa8'));_0x148102['field']('a.mandatoryDisposition',_0xbe59('0xa9'));_0x148102[_0xbe59('0x51')]('CASE\x20WHEN\x20i.from\x20IS\x20NOT\x20NULL\x20AND\x20i.from\x20<>\x20\x27\x27\x20THEN\x20i.from\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',_0xbe59('0x9a'));_0x148102[_0xbe59('0x51')](_0xbe59('0xaa'));_0x148102[_0xbe59('0x51')](_0xbe59('0xab'),_0xbe59('0xac'));_0x148102[_0xbe59('0x51')]('c.lastName',_0xbe59('0xad'));_0x148102[_0xbe59('0x51')](_0xbe59('0xae'),_0xbe59('0xaf'));_0x148102[_0xbe59('0x51')](_0xbe59('0xb0'),_0xbe59('0xb1'));_0x148102['field']('c.mobile',_0xbe59('0xb2'));_0x148102['field'](_0xbe59('0xb3'),_0xbe59('0xb4'));_0x148102['field'](_0xbe59('0xb5'),_0xbe59('0xb6'));_0x148102['field'](_0xbe59('0xb7'),_0xbe59('0xb8'));_0x148102[_0xbe59('0x51')](_0xbe59('0xb9'),_0xbe59('0x35'));}if(_0x257a58[_0xbe59('0x28')])_0x148102[_0xbe59('0x28')](_0x257a58[_0xbe59('0x28')]);if(_0x257a58[_0xbe59('0x26')])_0x148102['offset'](_0x257a58[_0xbe59('0x26')]);return db[_0xbe59('0xa3')][_0xbe59('0x44')](_0x148102[_0xbe59('0xa4')](),_0x520bf7);})[_0xbe59('0x2d')](function(_0x4062fd){if(_0x4062fd['length']>0x0)_0x21f0ac['where']('ui.OpenchannelInteractionId\x20IN\x20?',_[_0xbe59('0x33')](_0x4062fd,'id'));return db[_0xbe59('0xa3')][_0xbe59('0x44')](_0x21f0ac[_0xbe59('0xa4')](),_0x520bf7)['then'](function(_0x198a5f){var _0xce1f30=_[_0xbe59('0xba')](_0x198a5f,_0xbe59('0xbb'));var _0x28cdf5=[];_0x4062fd[_0xbe59('0x77')](function(_0x2a8d49){_0x28cdf5[_0xbe59('0x37')](updateOpenchannelInteraction(_0x2a8d49,_0x3cc20c,_0xce1f30));});return BPromise[_0xbe59('0xbc')](_0x28cdf5);});});})[_0xbe59('0x2d')](function(_0x4e63b2){_0xc37ae5[_0xbe59('0xbd')]=_0x4e63b2;return _0xc37ae5;})['then'](respondWithFilteredResult(_0x158f2b,_0x257a58))['catch'](handleError(_0x158f2b,null));};exports[_0xbe59('0xbe')]=function(_0x3ab41c,_0x3c6c9b){var _0x50bd3e={};if(_0x3ab41c['query'][_0xbe59('0x41')]&&_0x3ab41c[_0xbe59('0x44')][_0xbe59('0x41')]===_0xbe59('0x53')){_0x50bd3e['from']=_0x3ab41c['params']['id'];}else{_0x50bd3e['id']=_0x3ab41c[_0xbe59('0xbf')]['id'];}var _0x1971eb={'raw':![],'where':_0x50bd3e},_0x401ad3={};_0x401ad3[_0xbe59('0x42')]=_['keys'](db[_0xbe59('0x3f')]['rawAttributes']);_0x401ad3['query']=_[_0xbe59('0x43')](_0x3ab41c[_0xbe59('0x44')]);_0x401ad3[_0xbe59('0x45')]=_[_0xbe59('0x46')](_0x401ad3[_0xbe59('0x42')],_0x401ad3[_0xbe59('0x44')]);_0x1971eb['attributes']=_['intersection'](_0x401ad3[_0xbe59('0x42')],qs[_0xbe59('0x47')](_0x3ab41c['query'][_0xbe59('0x47')]));_0x1971eb[_0xbe59('0x48')]=_0x1971eb[_0xbe59('0x48')][_0xbe59('0x49')]?_0x1971eb['attributes']:_0x401ad3[_0xbe59('0x42')];if(_0x3ab41c[_0xbe59('0x44')]['includeAll']){_0x1971eb[_0xbe59('0xc0')]=[{'all':!![]}];}_0x1971eb=_[_0xbe59('0xa6')]({},_0x1971eb,_0x3ab41c[_0xbe59('0xc1')]);return db['OpenchannelInteraction'][_0xbe59('0x69')](_0x1971eb)[_0xbe59('0x2d')](handleEntityNotFound(_0x3c6c9b,null))[_0xbe59('0x2d')](respondWithResult(_0x3c6c9b,null))['catch'](handleError(_0x3c6c9b,null));};exports[_0xbe59('0xc2')]=function(_0x1c2b84,_0x4ae262){return db[_0xbe59('0x3f')]['create'](_0x1c2b84[_0xbe59('0x7b')],{})[_0xbe59('0x2d')](respondWithResult(_0x4ae262,0xc9))[_0xbe59('0xc3')](handleError(_0x4ae262,null));};exports[_0xbe59('0xc4')]=function(_0x2cea57,_0x2e99fc){if(_0x2cea57[_0xbe59('0x7b')]['id']){delete _0x2cea57['body']['id'];}return db[_0xbe59('0x3f')][_0xbe59('0x69')]({'where':{'id':_0x2cea57[_0xbe59('0xbf')]['id']}})[_0xbe59('0x2d')](handleEntityNotFound(_0x2e99fc,null))[_0xbe59('0x2d')](saveUpdates(_0x2cea57[_0xbe59('0x7b')],null))[_0xbe59('0x2d')](respondWithResult(_0x2e99fc,null))[_0xbe59('0xc3')](handleError(_0x2e99fc,null));};exports[_0xbe59('0xc5')]=function(_0x4558e0,_0x1bf02f){return db[_0xbe59('0x3f')][_0xbe59('0x69')]({'where':{'id':_0x4558e0[_0xbe59('0xbf')]['id']}})[_0xbe59('0x2d')](handleEntityNotFound(_0x1bf02f,null))['then'](removeEntity(_0x1bf02f,null))['catch'](handleError(_0x1bf02f,null));};exports['describe']=function(_0x1d7deb,_0x117939){return db[_0xbe59('0x3f')][_0xbe59('0xc6')]()['then'](respondWithResult(_0x117939,null))[_0xbe59('0xc3')](handleError(_0x117939,null));};exports[_0xbe59('0xc7')]=function(_0x304410,_0xdff1e9,_0x4d7e71){return db[_0xbe59('0xc8')][_0xbe59('0x69')]({'where':{'id':_0x304410[_0xbe59('0xbf')]['id']}})['then'](handleEntityNotFound(_0xdff1e9,null))['then'](function(_0x26953e){if(_0x26953e){return _0x26953e[_0xbe59('0xc7')](_0x304410[_0xbe59('0x7b')][_0xbe59('0xc9')],_[_0xbe59('0xca')](_0x304410['body'],[_0xbe59('0xc9'),'id'])||{});}})[_0xbe59('0x2d')](respondWithResult(_0xdff1e9,null))[_0xbe59('0xc3')](handleError(_0xdff1e9,null));};exports[_0xbe59('0xcb')]=function(_0x209e0b,_0x33b9ca,_0xb45c64){var _0x1b04fe={'raw':![],'where':{}};var _0x146f5c={};var _0x1e457d={'count':0x0,'rows':[]};return db[_0xbe59('0x3f')][_0xbe59('0xcc')]({'where':{'id':_0x209e0b[_0xbe59('0xbf')]['id']}})[_0xbe59('0x2d')](handleEntityNotFound(_0x33b9ca,null))[_0xbe59('0x2d')](function(_0x2bf0d2){if(_0x2bf0d2){_0x146f5c[_0xbe59('0x42')]=_[_0xbe59('0x43')](db[_0xbe59('0xc8')][_0xbe59('0x40')]);_0x146f5c[_0xbe59('0x44')]=_[_0xbe59('0x43')](_0x209e0b[_0xbe59('0x44')]);_0x146f5c[_0xbe59('0x45')]=_[_0xbe59('0x46')](_0x146f5c[_0xbe59('0x42')],_0x146f5c[_0xbe59('0x44')]);_0x1b04fe['attributes']=_[_0xbe59('0x46')](_0x146f5c[_0xbe59('0x42')],qs[_0xbe59('0x47')](_0x209e0b[_0xbe59('0x44')][_0xbe59('0x47')]));_0x1b04fe['attributes']=_0x1b04fe[_0xbe59('0x48')][_0xbe59('0x49')]?_0x1b04fe['attributes']:_0x146f5c[_0xbe59('0x42')];if(!_0x209e0b[_0xbe59('0x44')]['hasOwnProperty'](_0xbe59('0x4b'))){_0x1b04fe['limit']=qs['limit'](_0x209e0b[_0xbe59('0x44')]['limit']);_0x1b04fe[_0xbe59('0x26')]=qs[_0xbe59('0x26')](_0x209e0b['query'][_0xbe59('0x26')]);}_0x1b04fe[_0xbe59('0x4c')]=qs[_0xbe59('0x4d')](_0x209e0b['query'][_0xbe59('0x4d')]);_0x1b04fe[_0xbe59('0x4e')]=qs[_0xbe59('0x45')](_[_0xbe59('0x4f')](_0x209e0b['query'],_0x146f5c[_0xbe59('0x45')]));_0x1b04fe['where'][_0xbe59('0xbb')]=_0x2bf0d2['id'];if(_0x209e0b[_0xbe59('0x44')][_0xbe59('0x8e')]){_0x1b04fe['where']=_[_0xbe59('0xa6')](_0x1b04fe[_0xbe59('0x4e')],{'$or':_['map'](_0x1b04fe[_0xbe59('0x48')],function(_0x79bc36){var _0x284fe6={};_0x284fe6[_0x79bc36]={'$like':'%'+_0x209e0b[_0xbe59('0x44')]['filter']+'%'};return _0x284fe6;})});}if(_0x209e0b['query'][_0xbe59('0x82')]){var _0x3377e8=_0x209e0b['query'][_0xbe59('0x82')][_0xbe59('0x76')](',');var _0x54fa9f={};_0x54fa9f[_0x3377e8[0x0]]={'$gte':moment(_0x3377e8[0x1])[_0xbe59('0xcd')]('YYYY-MM-DD\x20HH:mm:ss')};_0x1b04fe[_0xbe59('0x4e')]=_['merge'](_0x1b04fe[_0xbe59('0x4e')],_0x54fa9f);}_0x1b04fe=_[_0xbe59('0xa6')]({},_0x1b04fe,_0x209e0b[_0xbe59('0xc1')]);return db['OpenchannelMessage']['count']({'where':_0x1b04fe[_0xbe59('0x4e')]})[_0xbe59('0x2d')](function(_0x3fbce6){_0x1e457d[_0xbe59('0x29')]=_0x3fbce6;if(_0x209e0b[_0xbe59('0x44')]['includeAll']){_0x1b04fe[_0xbe59('0xc0')]=[{'all':!![]}];}return db[_0xbe59('0xc8')][_0xbe59('0xce')](_0x1b04fe);})[_0xbe59('0x2d')](function(_0x4d54d5){_0x1e457d[_0xbe59('0xbd')]=_0x4d54d5;return _0x1e457d;});}})[_0xbe59('0x2d')](respondWithFilteredResult(_0x33b9ca,_0x1b04fe))[_0xbe59('0xc3')](handleError(_0x33b9ca,null));};exports[_0xbe59('0xcf')]=function(_0xf2bb70,_0x41b4e3,_0x11075b){return db[_0xbe59('0x3f')][_0xbe59('0x69')]({'where':{'id':_0xf2bb70[_0xbe59('0xbf')]['id']}})[_0xbe59('0x2d')](handleEntityNotFound(_0x41b4e3,null))[_0xbe59('0x2d')](function(_0x550cd6){if(_0x550cd6){return _0x550cd6[_0xbe59('0xd0')](_0xf2bb70[_0xbe59('0x7b')]['ids'],_[_0xbe59('0xca')](_0xf2bb70[_0xbe59('0x7b')],[_0xbe59('0xc9'),'id'])||{})[_0xbe59('0xd1')](function(){return db[_0xbe59('0x75')][_0xbe59('0xce')]({'attributes':['id',_0xbe59('0x30'),_0xbe59('0x52')],'where':{'id':_0xf2bb70[_0xbe59('0x7b')]['ids']}});})['then'](function(_0x4dc7dd){socket['emit'](_0xbe59('0xd2'),{'id':Number(_0xf2bb70[_0xbe59('0xbf')]['id']),'tags':_0x4dc7dd||[]});return{'id':Number(_0xf2bb70[_0xbe59('0xbf')]['id']),'tags':_0x4dc7dd||[]};});}})[_0xbe59('0x2d')](respondWithResult(_0x41b4e3,null))['catch'](handleError(_0x41b4e3,null));};exports['removeTags']=function(_0xb8e370,_0x2e1001,_0x5e2ceb){return db['OpenchannelInteraction']['find']({'where':{'id':_0xb8e370[_0xbe59('0xbf')]['id']}})[_0xbe59('0x2d')](handleEntityNotFound(_0x2e1001,null))[_0xbe59('0x2d')](function(_0x37f21f){if(_0x37f21f){return _0x37f21f['removeTags'](_0xb8e370[_0xbe59('0x44')][_0xbe59('0xc9')]);}})[_0xbe59('0x2d')](respondWithStatusCode(_0x2e1001,null))[_0xbe59('0xc3')](handleError(_0x2e1001,null));};exports[_0xbe59('0xd3')]=function(_0x4d641f,_0x5b9fdf){var _0x449bb2=moment()[_0xbe59('0xd4')]()[_0xbe59('0xa4')]();var _0xf87ab8=path[_0xbe59('0xd5')](config[_0xbe59('0xd6')],_0xbe59('0xd7'),'files',_0xbe59('0xd8'));var _0x3f2b18=path[_0xbe59('0xd5')](config[_0xbe59('0xd6')],_0xbe59('0xd7'),_0xbe59('0xd9'),_0xbe59('0xda'));var _0x2d415e=path[_0xbe59('0xd5')](_0xf87ab8,_0x449bb2);var _0x30a78d=util[_0xbe59('0xcd')](_0xbe59('0xdb'),_0x4d641f[_0xbe59('0xbf')]['id'],_0x449bb2);var _0x2b7ff6=path[_0xbe59('0xd5')](_0xf87ab8,_0x30a78d);var _0x2d2c8a=[];_0x2d2c8a[_0xbe59('0x37')]({'model':db['User'],'as':_0xbe59('0x79'),'attributes':['id',_0xbe59('0x34')],'raw':!![]});_0x2d2c8a['push']({'model':db[_0xbe59('0xdc')],'as':_0xbe59('0xdd'),'attributes':['id',_0xbe59('0xde'),'lastName'],'raw':!![]});if(_0x4d641f[_0xbe59('0x44')][_0xbe59('0xda')]){_0x2d2c8a[_0xbe59('0x37')]({'model':db[_0xbe59('0xdf')],'as':_0xbe59('0xdf'),'raw':!![]});}var _0x2a9824=[{'model':db[_0xbe59('0xc8')],'as':_0xbe59('0xe0'),'attributes':['id',_0xbe59('0x7b'),_0xbe59('0x81'),'direction',_0xbe59('0xe1'),_0xbe59('0x89')],'include':_0x2d2c8a}];_0x2a9824[_0xbe59('0x37')]({'model':db[_0xbe59('0xe2')],'as':_0xbe59('0xe3'),'attributes':['id',_0xbe59('0x30')]});_0x2a9824['push']({'model':db['User'],'as':_0xbe59('0xe4'),'attributes':['id',_0xbe59('0x34')]});return db[_0xbe59('0x3f')][_0xbe59('0x69')]({'where':{'id':_0x4d641f['params']['id']},'include':_0x2a9824})[_0xbe59('0x2d')](handleEntityNotFound(_0x5b9fdf,null))['then'](function(_0x4ee333){if(_0x4ee333){var _0x326a3b=_0x4ee333[_0xbe59('0xe5')]({'plain':!![]});fs['mkdirSync'](_0x2d415e);var _0x17a78e={'channel':'Openchannel','account':_0x326a3b[_0xbe59('0xe3')][_0xbe59('0x30')],'agent':_0x326a3b[_0xbe59('0xe4')]?_0x326a3b['Owner']['fullname']:_0xbe59('0xe6'),'createdAt':moment(_0x326a3b[_0xbe59('0x81')])['format'](_0xbe59('0xe7'))[_0xbe59('0xa4')](),'closedAt':_0x326a3b[_0xbe59('0x3b')]?moment(_0x326a3b[_0xbe59('0xe8')])[_0xbe59('0xcd')](_0xbe59('0xe7'))[_0xbe59('0xa4')]():'','disposition':_0x326a3b[_0xbe59('0xe9')],'visibility':_0x326a3b[_0xbe59('0xea')]?_0xbe59('0xeb'):_0xbe59('0xec'),'messages':_(_0x326a3b[_0xbe59('0xe0')])[_0xbe59('0x8e')]({'secret':![]})[_0xbe59('0x33')](function(_0x534f6c){if(_0x534f6c[_0xbe59('0xdf')]){var _0x164645=path[_0xbe59('0xd5')](_0x3f2b18,_0x534f6c[_0xbe59('0xdf')][_0xbe59('0xed')]);if(fs[_0xbe59('0xee')](_0x164645)){fs['createReadStream'](_0x164645)[_0xbe59('0xef')](fs['createWriteStream'](path[_0xbe59('0xd5')](_0x2d415e,_0x534f6c['Attachment'][_0xbe59('0xed')])));}}return{'date':moment(_0x534f6c[_0xbe59('0x81')])[_0xbe59('0xcd')](_0xbe59('0xe7'))['toString'](),'sender':_0x534f6c['direction']===_0xbe59('0xf0')?_0x534f6c[_0xbe59('0x79')]?_0x534f6c['User'][_0xbe59('0x34')]:'System':_0x534f6c['Contact'][_0xbe59('0xde')]+(_0x534f6c[_0xbe59('0xdd')]['lastName']?'\x20'+_0x534f6c[_0xbe59('0xdd')][_0xbe59('0xf1')]:''),'body':_0x534f6c[_0xbe59('0xdf')]?_0x534f6c[_0xbe59('0xdf')][_0xbe59('0xed')]:_0x534f6c[_0xbe59('0x7b')],'direction':_0x534f6c[_0xbe59('0xf2')]===_0xbe59('0xf0')?'A':'C','secret':_0x534f6c[_0xbe59('0xe1')],'read':_0x534f6c[_0xbe59('0x89')],'attachment':_0x534f6c[_0xbe59('0xdf')]};})[_0xbe59('0x6b')]()};return ejs[_0xbe59('0xf3')](path[_0xbe59('0xd5')](config['root'],_0xbe59('0xd7'),'views',_0xbe59('0xf4')),{'interaction':_0x17a78e})[_0xbe59('0x2d')](function(_0x424204){var _0x4485b8=path[_0xbe59('0xd5')](_0x2d415e,_0xbe59('0xf5')+_0x326a3b['id']+'-'+_0x449bb2+'.pdf');var _0x44a136={'path':_0x4485b8,'channel':_0xbe59('0xf6'),'interactionId':_0x326a3b['id']};return pdf['createPdfFromHTML'](_0x424204,_0x44a136);})[_0xbe59('0x2d')](function(){return new BPromise(function(_0x5ce6da,_0x272530){zipdir(_0x2d415e,{'saveTo':_0x2b7ff6},function(_0x14268c,_0x46dfaf){if(_0x14268c)return _0x272530(_0x14268c);return _0x5ce6da(_0x46dfaf);});})[_0xbe59('0x2d')](function(){return new BPromise(function(_0x12e8ca,_0x3b7cfb){rimraf(_0x2d415e,function(_0x591607){if(_0x591607)_0x3b7cfb(_0x591607);return _0x12e8ca();});});})[_0xbe59('0x2d')](function(){return _0x5b9fdf[_0xbe59('0xd3')](_0x2b7ff6,_0x30a78d,function(_0x19cac6){if(_0x19cac6){console['log'](_0xbe59('0xf7'),_0x19cac6);}else{fs['unlinkSync'](_0x2b7ff6);}});});});}else{return _0x5b9fdf['sendStatus'](0xc8);}})[_0xbe59('0xc3')](handleError(_0x5b9fdf,null));};