Built motion from commit 87cd5f02.|2.5.48
[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 _0x183d=['Sequelize','QueryTypes','SELECT','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','DESC','t.id\x20IN\x20?','resolve','OpenchannelAccountId','user','role','getOpenchannelAccounts','i.OpenchannelAccountId\x20IS\x20NULL','i.OpenchannelAccountId\x20IN\x20?','agent','sequelize','toString','keyBy','merge','a.key','Account.key','a.mandatoryDisposition','Account.mandatoryDisposition','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','i.*','c.firstName','Contact.firstName','c.lastName','Contact.lastName','Contact.phone','Contact.mobile','c.fax','o.fullname','Owner.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.OpenchannelInteractionId\x20IN\x20?','groupBy','OpenchannelInteractionId','push','rows','show','include','options','create','addMessage','OpenchannelMessage','params','ids','omit','getMessages','findOne','pick','format','findAll','addTags','setTags','spread','openchannelInteractionTags:save','removeTags','download','unix','join','root','server','files','tmp','attachments','transcript-%d-%s.zip','CmContact','firstName','lastName','Attachment','Messages','direction','secret','OpenchannelAccount','Account','Owner','mkdirSync','Openchannel','N.A.','YYYY-MM-DD\x20HH:mm:ss','closedAt','disposition','threadId','Public','Private','basename','existsSync','pipe','createWriteStream','out','System','Contact','renderFile','downloadInteraction.ejs','transcript-','.pdf','createPdfFromHTML','log','sendStatus','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','redis','localhost','./openchannelInteraction.socket','status','end','json','offset','undefined','count','limit','set','save','update','then','destroy','stack','name','send','Users','fullname','TagIds','split','forEach','Tags','catch','waiting','talking','total','closed','UserId','answered','unmanaged','index','map','OpenchannelInteraction','rawAttributes','fieldName','type','query','keys','filters','intersection','model','attributes','fields','hasOwnProperty','nolimit','order','sort','select','field','color','from','u.id','u.fullname','u.id\x20=\x20ui.UserId','left_join','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','users','o.id\x20=\x20i.UserId','openchannel_accounts','a.id\x20=\x20i.OpenchannelAccountId','openchannel_interaction_has_tags','it.OpenchannelInteractionId\x20=\x20i.id','tools_tags','t.id\x20=\x20it.TagId','expr','parseSearch','length','find','unreadMessages','value','having','`\x20=\x200','`\x20>\x200','operator','$substring','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','buildExpression','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','User','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','text','start','body','some','compact','isEmpty','where','concat','createdAt','parse','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20>\x200','isArray','tag','filter','replace','isNumeric','i.id\x20LIKE\x20?','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','i.id'];(function(_0x538376,_0x14a221){var _0x4103a5=function(_0x21acf5){while(--_0x21acf5){_0x538376['push'](_0x538376['shift']());}};_0x4103a5(++_0x14a221);}(_0x183d,0x157));var _0xd183=function(_0xa7ec27,_0xdcecab){_0xa7ec27=_0xa7ec27-0x0;var _0x2cb1d7=_0x183d[_0xa7ec27];return _0x2cb1d7;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0xd183('0x0'));var jsonpatch=require(_0xd183('0x1'));var rp=require(_0xd183('0x2'));var moment=require(_0xd183('0x3'));var BPromise=require(_0xd183('0x4'));var Mustache=require('mustache');var util=require(_0xd183('0x5'));var path=require('path');var sox=require('sox');var csv=require(_0xd183('0x6'));var ejs=require(_0xd183('0x7'));var fs=require('fs');var fs_extra=require(_0xd183('0x8'));var _=require(_0xd183('0x9'));var squel=require(_0xd183('0xa'));var crypto=require(_0xd183('0xb'));var jsforce=require(_0xd183('0xc'));var deskjs=require('desk.js');var toCsv=require(_0xd183('0x6'));var querystring=require('querystring');var Papa=require(_0xd183('0xd'));var Redis=require(_0xd183('0xe'));var authService=require(_0xd183('0xf'));var qs=require(_0xd183('0x10'));var as=require('../../components/parsers/advancedSearch');var pdf=require('../../components/export/pdf');var hardwareService=require(_0xd183('0x11'));var logger=require(_0xd183('0x12'))(_0xd183('0x13'));var utils=require(_0xd183('0x14'));var config=require('../../config/environment');var licenseUtil=require(_0xd183('0x15'));var db=require(_0xd183('0x16'))['db'];config[_0xd183('0x17')]=_['defaults'](config[_0xd183('0x17')],{'host':_0xd183('0x18'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xd183('0x17')]));require(_0xd183('0x19'))['register'](socket);function respondWithStatusCode(_0x4af54a,_0x47fdbe){_0x47fdbe=_0x47fdbe||0xcc;return function(_0x3b8df0){if(_0x3b8df0){return _0x4af54a['sendStatus'](_0x47fdbe);}return _0x4af54a[_0xd183('0x1a')](_0x47fdbe)[_0xd183('0x1b')]();};}function respondWithResult(_0x5f4537,_0x3bdd07){_0x3bdd07=_0x3bdd07||0xc8;return function(_0xab9c0d){if(_0xab9c0d){return _0x5f4537[_0xd183('0x1a')](_0x3bdd07)[_0xd183('0x1c')](_0xab9c0d);}};}function respondWithFilteredResult(_0x3b3b05,_0x3b9241){return function(_0x54f630){if(_0x54f630){var _0x295a17=typeof _0x3b9241[_0xd183('0x1d')]===_0xd183('0x1e')&&typeof _0x3b9241['limit']===_0xd183('0x1e');var _0x519743=_0x54f630[_0xd183('0x1f')];var _0x57bff1=_0x295a17?0x0:_0x3b9241[_0xd183('0x1d')];var _0x183818=_0x295a17?_0x54f630[_0xd183('0x1f')]:_0x3b9241[_0xd183('0x1d')]+_0x3b9241[_0xd183('0x20')];var _0x2919d8;if(_0x183818>=_0x519743){_0x183818=_0x519743;_0x2919d8=0xc8;}else{_0x2919d8=0xce;}_0x3b3b05[_0xd183('0x1a')](_0x2919d8);return _0x3b3b05[_0xd183('0x21')]('Content-Range',_0x57bff1+'-'+_0x183818+'/'+_0x519743)['json'](_0x54f630);}return null;};}function patchUpdates(_0x124707){return function(_0x4e808f){try{jsonpatch['apply'](_0x4e808f,_0x124707,!![]);}catch(_0x1f9cdb){return BPromise['reject'](_0x1f9cdb);}return _0x4e808f[_0xd183('0x22')]();};}function saveUpdates(_0x3db1bb,_0x3a09b4){return function(_0x22c32e){if(_0x22c32e){return _0x22c32e[_0xd183('0x23')](_0x3db1bb)[_0xd183('0x24')](function(_0x3d0e90){return _0x3d0e90;});}return null;};}function removeEntity(_0x398756,_0x5ad383){return function(_0x2eb881){if(_0x2eb881){return _0x2eb881[_0xd183('0x25')]()[_0xd183('0x24')](function(){_0x398756[_0xd183('0x1a')](0xcc)[_0xd183('0x1b')]();});}};}function handleEntityNotFound(_0x336138,_0x2b265e){return function(_0x364068){if(!_0x364068){_0x336138['sendStatus'](0x194);}return _0x364068;};}function handleError(_0x237a83,_0x545095){_0x545095=_0x545095||0x1f4;return function(_0x468f33){logger['error'](_0x468f33[_0xd183('0x26')]);if(_0x468f33[_0xd183('0x27')]){delete _0x468f33[_0xd183('0x27')];}_0x237a83[_0xd183('0x1a')](_0x545095)[_0xd183('0x28')](_0x468f33);};}function getInteractionUsers(_0x2371ad,_0x349325){return new BPromise(function(_0x273bc9,_0x110e42){try{if(_0x349325[_0x2371ad['id']]){_0x2371ad[_0xd183('0x29')]=_['map'](_0x349325[_0x2371ad['id']],function(_0x5eecc2){return{'id':_0x5eecc2['id'],'fullname':_0x5eecc2[_0xd183('0x2a')]};});}}catch(_0x5810cf){_0x110e42(_0x5810cf);}_0x273bc9(_0x2371ad);});}function getInteractionTags(_0x417e76,_0x396afc){return new BPromise(function(_0x1d0612,_0x43486a){try{if(_0x417e76[_0xd183('0x2b')]){_0x417e76['Tags']=[];_0x417e76['TagIds'][_0xd183('0x2c')](',')[_0xd183('0x2d')](function(_0x377e25){_0x417e76[_0xd183('0x2e')]['push'](_0x396afc[_0x377e25]);});}delete _0x417e76[_0xd183('0x2b')];}catch(_0x1db31a){_0x43486a(_0x1db31a);}_0x1d0612(_0x417e76);});}function updateOpenchannelInteraction(_0x3bafcb,_0x1a69de,_0x31c99f){return new BPromise(function(_0x2f143e,_0x32fa88){return getInteractionUsers(_0x3bafcb,_0x31c99f)[_0xd183('0x24')](function(_0x924e8e){return getInteractionTags(_0x924e8e,_0x1a69de);})[_0xd183('0x24')](function(_0x50635c){return getStateInteraction(_0x50635c);})[_0xd183('0x24')](function(_0x2a0adf){_0x2f143e(_0x2a0adf);})[_0xd183('0x2f')](function(_0x20ca4e){_0x32fa88(_0x20ca4e);});});}function getStateInteraction(_0x22f326){return new BPromise(function(_0x400b9f){_0x22f326[_0xd183('0x30')]=0x0;_0x22f326[_0xd183('0x31')]=0x0;_0x22f326['answered']=0x0;_0x22f326['unmanaged']=0x0;_0x22f326[_0xd183('0x32')]=0x0;if(!_0x22f326[_0xd183('0x33')]&&!_0x22f326[_0xd183('0x34')]){_0x22f326['waiting']+=0x1;}if(!_0x22f326[_0xd183('0x33')]&&_0x22f326['UserId']){_0x22f326[_0xd183('0x31')]+=0x1;if(_0x22f326[_0xd183('0x30')]){_0x22f326[_0xd183('0x30')]-=0x1;}}if(_0x22f326[_0xd183('0x33')]&&_0x22f326[_0xd183('0x34')]){_0x22f326[_0xd183('0x35')]+=0x1;if(_0x22f326[_0xd183('0x31')]){_0x22f326['talking']-=0x1;}}if(_0x22f326[_0xd183('0x33')]&&!_0x22f326['UserId']){_0x22f326[_0xd183('0x36')]+=0x1;if(_0x22f326[_0xd183('0x30')]){_0x22f326[_0xd183('0x30')]-=0x1;}}_0x22f326['total']+=0x1;_0x400b9f(_0x22f326);});}exports[_0xd183('0x37')]=function(_0x1b2b58,_0x5425c4){var _0x348aad={},_0x933c8a={},_0x49ca5e={'count':0x0,'rows':[]};var _0xc03ddd=_[_0xd183('0x38')](db[_0xd183('0x39')][_0xd183('0x3a')],function(_0x2d89c4){return{'name':_0x2d89c4[_0xd183('0x3b')],'type':_0x2d89c4[_0xd183('0x3c')]['key']};});_0x933c8a['model']=_[_0xd183('0x38')](_0xc03ddd,'name');_0x933c8a[_0xd183('0x3d')]=_[_0xd183('0x3e')](_0x1b2b58[_0xd183('0x3d')]);_0x933c8a[_0xd183('0x3f')]=_[_0xd183('0x40')](_0x933c8a[_0xd183('0x41')],_0x933c8a['query']);_0x348aad[_0xd183('0x42')]=_[_0xd183('0x40')](_0x933c8a[_0xd183('0x41')],qs['fields'](_0x1b2b58[_0xd183('0x3d')][_0xd183('0x43')]));_0x348aad[_0xd183('0x42')]=_0x348aad['attributes']['length']?_0x348aad[_0xd183('0x42')]:_0x933c8a['model'];if(!_0x1b2b58['query'][_0xd183('0x44')](_0xd183('0x45'))){_0x348aad['limit']=qs[_0xd183('0x20')](_0x1b2b58[_0xd183('0x3d')][_0xd183('0x20')]);_0x348aad['offset']=qs[_0xd183('0x1d')](_0x1b2b58['query'][_0xd183('0x1d')]);}_0x348aad[_0xd183('0x46')]=qs[_0xd183('0x47')](_0x1b2b58[_0xd183('0x3d')][_0xd183('0x47')]);_0x348aad['where']=qs['filters'](_['pick'](_0x1b2b58['query'],_0x933c8a[_0xd183('0x3f')]),_0xc03ddd);var _0x18db6c=[];var _0x338e4f=squel[_0xd183('0x48')]()[_0xd183('0x49')]('id')[_0xd183('0x49')]('name')[_0xd183('0x49')](_0xd183('0x4a'))[_0xd183('0x4b')]('tools_tags');var _0x299ef0=squel[_0xd183('0x48')]()[_0xd183('0x49')](_0xd183('0x4c'))[_0xd183('0x49')](_0xd183('0x4d'))['field']('ui.OpenchannelInteractionId')[_0xd183('0x4b')]('user_has_openchannel_interactions','ui')['left_join']('users','u',_0xd183('0x4e'));var _0x2e1a11=squel[_0xd183('0x48')]()[_0xd183('0x4b')]('openchannel_interactions','i')[_0xd183('0x4f')](_0xd183('0x50'),'c',_0xd183('0x51'))['left_join'](_0xd183('0x52'),'o',_0xd183('0x53'))[_0xd183('0x4f')](_0xd183('0x54'),'a',_0xd183('0x55'))['left_join']('openchannel_messages','me','me.OpenchannelInteractionId\x20=\x20i.id')['left_join'](_0xd183('0x56'),'it',_0xd183('0x57'))[_0xd183('0x4f')](_0xd183('0x58'),'t',_0xd183('0x59'));var _0x5415fb=squel[_0xd183('0x5a')]();var _0x2b563d=[];var _0x558572=squel[_0xd183('0x5a')]();var _0xb049ae;if(_0x1b2b58[_0xd183('0x3d')]['search']){_0xb049ae=as[_0xd183('0x5b')](_0x1b2b58[_0xd183('0x3d')]['search']);var _0x24bcf7=_0xb049ae['sqlOperator'];for(var _0x4109aa=0x0;_0x4109aa<_0xb049ae['conditions'][_0xd183('0x5c')];_0x4109aa++){var _0x407965=_0xb049ae['conditions'][_0x4109aa];var _0x4f3412='i';var _0x51f68c=_[_0xd183('0x5d')](_0xc03ddd,['name',_0x407965['field']]);if(!_0x51f68c){switch(_0x407965[_0xd183('0x49')]){case _0xd183('0x5e'):if(_0x407965[_0xd183('0x5f')]==0x1){_0x2e1a11[_0xd183('0x60')]('`'+_0x407965[_0xd183('0x49')]+_0xd183('0x61'));}else{_0x2e1a11[_0xd183('0x60')]('`'+_0x407965['field']+_0xd183('0x62'));}break;case'Contact':if(_0x407965[_0xd183('0x63')]===_0xd183('0x64')){if(_0x407965[_0xd183('0x5f')]['split']('\x20')[_0xd183('0x5c')]>0x1){_0x5415fb[_0x24bcf7](_0xd183('0x65'),qs[_0xd183('0x66')](_0x407965['value']),null);}else{var _0x144f58='%'+_0x407965['value']+'%';_0x5415fb[_0x24bcf7](_0xd183('0x67'),_0x144f58,_0x144f58,_0x144f58);}}else{_0x51f68c=_[_0xd183('0x5d')](_0xc03ddd,[_0xd183('0x27'),_0xd183('0x68')]);_0x407965[_0xd183('0x49')]=_0xd183('0x68');_0x3e7f3b=as[_0xd183('0x69')](_0x4f3412,_0x51f68c[_0xd183('0x3c')],_0x407965);_0x5415fb[_0x24bcf7](_0x3e7f3b['text'],_0x3e7f3b[_0xd183('0x5f')]['start'],_0x3e7f3b[_0xd183('0x5f')][_0xd183('0x1b')]);}break;case'Tag':var _0x2f0cde=_0x407965[_0xd183('0x5f')][_0xd183('0x2c')](',')[_0xd183('0x38')](function(_0x564347){return Number(_0x564347);});_0x2f0cde['forEach'](function(_0x5f0ac4){_0x558572['or'](_0xd183('0x6a'),'%,'+_0x5f0ac4+',%');});_0x2b563d=_['union'](_0x2b563d,_0x2f0cde);break;case _0xd183('0x6b'):if(_0x407965[_0xd183('0x63')]===_0xd183('0x64')){_0x5415fb[_0x24bcf7](_0xd183('0x6c'),'%'+_0x407965[_0xd183('0x5f')]+'%',null);}else{_0x51f68c=_['find'](_0xc03ddd,[_0xd183('0x27'),_0xd183('0x34')]);_0x407965[_0xd183('0x49')]=_0xd183('0x34');_0x3e7f3b=as['buildExpression'](_0x4f3412,_0x51f68c[_0xd183('0x3c')],_0x407965);_0x5415fb[_0x24bcf7](_0x3e7f3b[_0xd183('0x6d')],_0x3e7f3b[_0xd183('0x5f')][_0xd183('0x6e')],_0x3e7f3b['value'][_0xd183('0x1b')]);}break;case _0xd183('0x6f'):_0x3e7f3b=as[_0xd183('0x69')]('me',null,_0x407965);_0x5415fb[_0x24bcf7](_0x3e7f3b['text'],_0x3e7f3b[_0xd183('0x5f')]['start'],_0x3e7f3b[_0xd183('0x5f')][_0xd183('0x1b')]);break;}}else{var _0x3e7f3b=as[_0xd183('0x69')](_0x4f3412,_0x51f68c[_0xd183('0x3c')],_0x407965);_0x5415fb[_0x24bcf7](_0x3e7f3b[_0xd183('0x6d')],_0x3e7f3b['value'][_0xd183('0x6e')],_0x3e7f3b['value'][_0xd183('0x1b')]);}}}else{var _0x10a99c=_(_0x1b2b58[_0xd183('0x3d')])['keys']()[_0xd183('0x38')](function(_0x481655){return _[_0xd183('0x70')](_0xc03ddd,[_0xd183('0x27'),_0x481655])?_0x481655:undefined;})[_0xd183('0x71')]()[_0xd183('0x5f')]();if(!_[_0xd183('0x72')](_0x10a99c)){_0x10a99c[_0xd183('0x2d')](function(_0x37f663){if(_0x37f663==='OpenchannelAccountId'){_0x2e1a11[_0xd183('0x73')]('i.OpenchannelAccountId\x20IN\x20?',[][_0xd183('0x74')](_0x1b2b58[_0xd183('0x3d')][_0x37f663]));}else if(_0x37f663===_0xd183('0x75')){var _0x134a00=JSON[_0xd183('0x76')](_0x1b2b58['query'][_0x37f663])[_0xd183('0x77')];var _0x296799=JSON[_0xd183('0x76')](_0x1b2b58[_0xd183('0x3d')][_0x37f663])[_0xd183('0x78')];_0x2e1a11[_0xd183('0x73')](_0xd183('0x79'),_0x134a00,_0x296799);}else{if(_0x1b2b58[_0xd183('0x3d')][_0x37f663]===_0xd183('0x7a')){_0x2e1a11['where']('i.'+_0x37f663+_0xd183('0x7b'));}else{_0x2e1a11['where']('i.'+_0x37f663+_0xd183('0x7c'),_0x1b2b58[_0xd183('0x3d')][_0x37f663]);}}});}if(_0x1b2b58[_0xd183('0x3d')][_0xd183('0x7d')]){if(_0x1b2b58[_0xd183('0x3d')][_0xd183('0x7d')]==0x1){_0x2e1a11[_0xd183('0x60')]('`unreadMessages`\x20=\x200');}else{_0x2e1a11['having'](_0xd183('0x7e'));}}if(_0x1b2b58[_0xd183('0x3d')]['tag']){_0x2b563d=_[_0xd183('0x7f')](_0x1b2b58['query'][_0xd183('0x80')])?_0x1b2b58['query'][_0xd183('0x80')]:new Array(_0x1b2b58[_0xd183('0x3d')][_0xd183('0x80')]);_0x2b563d[_0xd183('0x2d')](function(_0x3f4ab1){_0x558572['or'](_0xd183('0x6a'),'%,'+_0x3f4ab1+',%');});}if(_0x1b2b58[_0xd183('0x3d')][_0xd183('0x81')]){var _0x28ce37=_0x1b2b58['query']['filter'][_0xd183('0x82')]('\x5c','\x5c\x5c')['replace'](/'/g,'\x27\x27');if(qs[_0xd183('0x83')](_0x28ce37)){_0x5415fb['or'](_0xd183('0x84'),_0x28ce37+'%');}else{_0x5415fb['or'](_0xd183('0x85'),qs['getFullTextValue'](_0x28ce37))['or']('i.from\x20LIKE\x20?',_0x28ce37+'%')['or'](_0xd183('0x86'),_0x28ce37+'%');}}}_0x2e1a11[_0xd183('0x73')](_0x5415fb);_0x2e1a11[_0xd183('0x87')](_0xd183('0x88'));var _0x5ba405={'type':db[_0xd183('0x89')][_0xd183('0x8a')][_0xd183('0x8b')],'raw':!![]};var _0xc82bf0=_0x2e1a11[_0xd183('0x8c')]();_0xc82bf0[_0xd183('0x49')]('i.id');_0xc82bf0['field'](_0xd183('0x8d'),_0xd183('0x5e'));if(_0x348aad['order']){_0x348aad['order']['forEach'](function(_0xea43a){var _0x44c14c=_0xea43a[0x0]==='contactName'?_0xea43a[0x0]:'i.'+_0xea43a[0x0];_0x2e1a11[_0xd183('0x46')](_0x44c14c,_0xea43a[0x1]===_0xd183('0x8e')?![]:!![]);});}if(!_['isEmpty'](_0x2b563d)){_0x2e1a11[_0xd183('0x60')](_0x558572);_0xc82bf0[_0xd183('0x73')](_0xd183('0x8f'),_0x2b563d);}BPromise[_0xd183('0x90')]()[_0xd183('0x24')](function(){if(!_0xb049ae){if(_0x1b2b58['query'][_0xd183('0x91')])return;_0xc82bf0[_0xd183('0x73')]('i.OpenchannelAccountId\x20IS\x20NOT\x20NULL');_0x2e1a11[_0xd183('0x73')]('i.OpenchannelAccountId\x20IS\x20NOT\x20NULL');return;}if(_0x1b2b58[_0xd183('0x92')][_0xd183('0x93')]!=='agent')return;return _0x1b2b58[_0xd183('0x92')][_0xd183('0x94')]({'attributes':['id'],'raw':!![]})[_0xd183('0x24')](function(_0x56b449){if(_['isEmpty'](_0x56b449)){_0xc82bf0['where'](_0xd183('0x95'));_0x2e1a11['where'](_0xd183('0x95'));}else{_0xc82bf0[_0xd183('0x73')]('i.OpenchannelAccountId\x20IN\x20?',_['map'](_0x56b449,'id'));_0x2e1a11[_0xd183('0x73')](_0xd183('0x96'),_['map'](_0x56b449,'id'));}});})[_0xd183('0x24')](function(){if(_0x1b2b58[_0xd183('0x92')][_0xd183('0x93')]===_0xd183('0x97')&&!_0xb049ae&&!_0x1b2b58[_0xd183('0x3d')][_0xd183('0x91')])return[];return db[_0xd183('0x98')][_0xd183('0x3d')](_0xc82bf0[_0xd183('0x99')](),_0x5ba405);})[_0xd183('0x24')](function(_0x4d9c7c){_0x49ca5e[_0xd183('0x1f')]=_0x4d9c7c[_0xd183('0x5c')];if(_0x49ca5e['count']===0x0)return[];return db[_0xd183('0x98')][_0xd183('0x3d')](_0x338e4f[_0xd183('0x99')](),_0x5ba405)[_0xd183('0x24')](function(_0x47eced){_0x18db6c=_[_0xd183('0x9a')](_0x47eced,'id');_0x5ba405=_[_0xd183('0x9b')](_0x5ba405,{'model':db[_0xd183('0x39')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x1b2b58[_0xd183('0x3d')]['fields']){_0x348aad[_0xd183('0x42')][_0xd183('0x2d')](function(_0x227ad6){_0x2e1a11[_0xd183('0x49')]('i.'+_0x227ad6);});}else{_0x2e1a11[_0xd183('0x49')](_0xd183('0x8d'),'unreadMessages');_0x2e1a11['field'](_0xd183('0x9c'),_0xd183('0x9d'));_0x2e1a11[_0xd183('0x49')](_0xd183('0x9e'),_0xd183('0x9f'));_0x2e1a11['field'](_0xd183('0xa0'),'contactName');_0x2e1a11[_0xd183('0x49')](_0xd183('0xa1'));_0x2e1a11[_0xd183('0x49')](_0xd183('0xa2'),_0xd183('0xa3'));_0x2e1a11[_0xd183('0x49')](_0xd183('0xa4'),_0xd183('0xa5'));_0x2e1a11[_0xd183('0x49')]('c.email','Contact.email');_0x2e1a11[_0xd183('0x49')]('c.phone',_0xd183('0xa6'));_0x2e1a11[_0xd183('0x49')]('c.mobile',_0xd183('0xa7'));_0x2e1a11[_0xd183('0x49')](_0xd183('0xa8'),'Contact.fax');_0x2e1a11[_0xd183('0x49')](_0xd183('0xa9'),_0xd183('0xaa'));_0x2e1a11['field'](_0xd183('0xab'),_0xd183('0xac'));_0x2e1a11[_0xd183('0x49')](_0xd183('0xad'),_0xd183('0x2b'));}if(_0x348aad[_0xd183('0x20')])_0x2e1a11[_0xd183('0x20')](_0x348aad[_0xd183('0x20')]);if(_0x348aad[_0xd183('0x1d')])_0x2e1a11['offset'](_0x348aad[_0xd183('0x1d')]);return db[_0xd183('0x98')][_0xd183('0x3d')](_0x2e1a11[_0xd183('0x99')](),_0x5ba405);})[_0xd183('0x24')](function(_0xa2d244){if(_0xa2d244['length']>0x0)_0x299ef0[_0xd183('0x73')](_0xd183('0xae'),_[_0xd183('0x38')](_0xa2d244,'id'));return db[_0xd183('0x98')][_0xd183('0x3d')](_0x299ef0[_0xd183('0x99')](),_0x5ba405)['then'](function(_0x44dfb3){var _0x51cbc8=_[_0xd183('0xaf')](_0x44dfb3,_0xd183('0xb0'));var _0x268a7e=[];_0xa2d244[_0xd183('0x2d')](function(_0x39a9f9){_0x268a7e[_0xd183('0xb1')](updateOpenchannelInteraction(_0x39a9f9,_0x18db6c,_0x51cbc8));});return BPromise['all'](_0x268a7e);});});})[_0xd183('0x24')](function(_0x468f06){_0x49ca5e[_0xd183('0xb2')]=_0x468f06;return _0x49ca5e;})[_0xd183('0x24')](respondWithFilteredResult(_0x5425c4,_0x348aad))[_0xd183('0x2f')](handleError(_0x5425c4,null));};exports[_0xd183('0xb3')]=function(_0x5b0763,_0xf987f1){var _0x5d8325={};if(_0x5b0763[_0xd183('0x3d')][_0xd183('0x3c')]&&_0x5b0763[_0xd183('0x3d')][_0xd183('0x3c')]===_0xd183('0x4b')){_0x5d8325[_0xd183('0x4b')]=_0x5b0763['params']['id'];}else{_0x5d8325['id']=_0x5b0763['params']['id'];}var _0x5c7602={'raw':![],'where':_0x5d8325},_0x5b1914={};_0x5b1914[_0xd183('0x41')]=_['keys'](db['OpenchannelInteraction'][_0xd183('0x3a')]);_0x5b1914[_0xd183('0x3d')]=_[_0xd183('0x3e')](_0x5b0763['query']);_0x5b1914[_0xd183('0x3f')]=_[_0xd183('0x40')](_0x5b1914[_0xd183('0x41')],_0x5b1914[_0xd183('0x3d')]);_0x5c7602[_0xd183('0x42')]=_['intersection'](_0x5b1914[_0xd183('0x41')],qs['fields'](_0x5b0763[_0xd183('0x3d')][_0xd183('0x43')]));_0x5c7602['attributes']=_0x5c7602[_0xd183('0x42')][_0xd183('0x5c')]?_0x5c7602['attributes']:_0x5b1914[_0xd183('0x41')];if(_0x5b0763[_0xd183('0x3d')]['includeAll']){_0x5c7602[_0xd183('0xb4')]=[{'all':!![]}];}_0x5c7602=_['merge']({},_0x5c7602,_0x5b0763[_0xd183('0xb5')]);return db['OpenchannelInteraction']['find'](_0x5c7602)[_0xd183('0x24')](handleEntityNotFound(_0xf987f1,null))[_0xd183('0x24')](respondWithResult(_0xf987f1,null))[_0xd183('0x2f')](handleError(_0xf987f1,null));};exports[_0xd183('0xb6')]=function(_0x5657a6,_0x493526){return db[_0xd183('0x39')][_0xd183('0xb6')](_0x5657a6['body'],{})['then'](respondWithResult(_0x493526,0xc9))[_0xd183('0x2f')](handleError(_0x493526,null));};exports['update']=function(_0x18aed7,_0x1b5a8a){if(_0x18aed7['body']['id']){delete _0x18aed7[_0xd183('0x6f')]['id'];}return db[_0xd183('0x39')][_0xd183('0x5d')]({'where':{'id':_0x18aed7['params']['id']}})[_0xd183('0x24')](handleEntityNotFound(_0x1b5a8a,null))[_0xd183('0x24')](saveUpdates(_0x18aed7['body'],null))['then'](respondWithResult(_0x1b5a8a,null))[_0xd183('0x2f')](handleError(_0x1b5a8a,null));};exports[_0xd183('0x25')]=function(_0x3ed8b3,_0x490ba4){return db[_0xd183('0x39')][_0xd183('0x5d')]({'where':{'id':_0x3ed8b3['params']['id']}})[_0xd183('0x24')](handleEntityNotFound(_0x490ba4,null))[_0xd183('0x24')](removeEntity(_0x490ba4,null))[_0xd183('0x2f')](handleError(_0x490ba4,null));};exports['describe']=function(_0x2ec126,_0x309065){return db['OpenchannelInteraction']['describe']()['then'](respondWithResult(_0x309065,null))[_0xd183('0x2f')](handleError(_0x309065,null));};exports[_0xd183('0xb7')]=function(_0x24f029,_0x5af29d,_0x5ee149){return db[_0xd183('0xb8')][_0xd183('0x5d')]({'where':{'id':_0x24f029[_0xd183('0xb9')]['id']}})[_0xd183('0x24')](handleEntityNotFound(_0x5af29d,null))[_0xd183('0x24')](function(_0x559f5e){if(_0x559f5e){return _0x559f5e['addMessage'](_0x24f029[_0xd183('0x6f')][_0xd183('0xba')],_[_0xd183('0xbb')](_0x24f029[_0xd183('0x6f')],[_0xd183('0xba'),'id'])||{});}})['then'](respondWithResult(_0x5af29d,null))[_0xd183('0x2f')](handleError(_0x5af29d,null));};exports[_0xd183('0xbc')]=function(_0x2bea23,_0x345710,_0x228382){var _0x40293b={'raw':![],'where':{}};var _0x3ab77d={};var _0x24b433={'count':0x0,'rows':[]};return db[_0xd183('0x39')][_0xd183('0xbd')]({'where':{'id':_0x2bea23[_0xd183('0xb9')]['id']}})[_0xd183('0x24')](handleEntityNotFound(_0x345710,null))['then'](function(_0xde8aae){if(_0xde8aae){_0x3ab77d['model']=_[_0xd183('0x3e')](db['OpenchannelMessage'][_0xd183('0x3a')]);_0x3ab77d[_0xd183('0x3d')]=_[_0xd183('0x3e')](_0x2bea23['query']);_0x3ab77d[_0xd183('0x3f')]=_[_0xd183('0x40')](_0x3ab77d['model'],_0x3ab77d[_0xd183('0x3d')]);_0x40293b['attributes']=_[_0xd183('0x40')](_0x3ab77d[_0xd183('0x41')],qs[_0xd183('0x43')](_0x2bea23['query']['fields']));_0x40293b['attributes']=_0x40293b['attributes']['length']?_0x40293b[_0xd183('0x42')]:_0x3ab77d[_0xd183('0x41')];if(!_0x2bea23[_0xd183('0x3d')][_0xd183('0x44')](_0xd183('0x45'))){_0x40293b[_0xd183('0x20')]=qs[_0xd183('0x20')](_0x2bea23[_0xd183('0x3d')][_0xd183('0x20')]);_0x40293b[_0xd183('0x1d')]=qs[_0xd183('0x1d')](_0x2bea23[_0xd183('0x3d')][_0xd183('0x1d')]);}_0x40293b[_0xd183('0x46')]=qs[_0xd183('0x47')](_0x2bea23[_0xd183('0x3d')][_0xd183('0x47')]);_0x40293b['where']=qs[_0xd183('0x3f')](_[_0xd183('0xbe')](_0x2bea23[_0xd183('0x3d')],_0x3ab77d[_0xd183('0x3f')]));_0x40293b['where'][_0xd183('0xb0')]=_0xde8aae['id'];if(_0x2bea23[_0xd183('0x3d')][_0xd183('0x81')]){_0x40293b['where']=_[_0xd183('0x9b')](_0x40293b[_0xd183('0x73')],{'$or':_[_0xd183('0x38')](_0x40293b[_0xd183('0x42')],function(_0x42d1d2){var _0x2946c7={};_0x2946c7[_0x42d1d2]={'$like':'%'+_0x2bea23[_0xd183('0x3d')][_0xd183('0x81')]+'%'};return _0x2946c7;})});}if(_0x2bea23[_0xd183('0x3d')][_0xd183('0x77')]){var _0x82885f=_0x2bea23['query'][_0xd183('0x77')][_0xd183('0x2c')](',');var _0x2d0b83={};_0x2d0b83[_0x82885f[0x0]]={'$gte':moment(_0x82885f[0x1])[_0xd183('0xbf')]('YYYY-MM-DD\x20HH:mm:ss')};_0x40293b[_0xd183('0x73')]=_[_0xd183('0x9b')](_0x40293b[_0xd183('0x73')],_0x2d0b83);}_0x40293b=_[_0xd183('0x9b')]({},_0x40293b,_0x2bea23[_0xd183('0xb5')]);return db[_0xd183('0xb8')]['count']({'where':_0x40293b[_0xd183('0x73')]})[_0xd183('0x24')](function(_0x240e49){_0x24b433[_0xd183('0x1f')]=_0x240e49;if(_0x2bea23[_0xd183('0x3d')]['includeAll']){_0x40293b[_0xd183('0xb4')]=[{'all':!![]}];}return db['OpenchannelMessage'][_0xd183('0xc0')](_0x40293b);})[_0xd183('0x24')](function(_0x46d055){_0x24b433[_0xd183('0xb2')]=_0x46d055;return _0x24b433;});}})[_0xd183('0x24')](respondWithFilteredResult(_0x345710,_0x40293b))[_0xd183('0x2f')](handleError(_0x345710,null));};exports[_0xd183('0xc1')]=function(_0x1325f7,_0x3bbc01,_0x2be89c){return db['OpenchannelInteraction'][_0xd183('0x5d')]({'where':{'id':_0x1325f7['params']['id']}})[_0xd183('0x24')](handleEntityNotFound(_0x3bbc01,null))[_0xd183('0x24')](function(_0xc892ae){if(_0xc892ae){return _0xc892ae[_0xd183('0xc2')](_0x1325f7[_0xd183('0x6f')][_0xd183('0xba')],_[_0xd183('0xbb')](_0x1325f7[_0xd183('0x6f')],['ids','id'])||{})[_0xd183('0xc3')](function(){return db['Tag'][_0xd183('0xc0')]({'attributes':['id',_0xd183('0x27'),_0xd183('0x4a')],'where':{'id':_0x1325f7[_0xd183('0x6f')]['ids']}});})[_0xd183('0x24')](function(_0x2e9d79){socket['emit'](_0xd183('0xc4'),{'id':Number(_0x1325f7[_0xd183('0xb9')]['id']),'tags':_0x2e9d79||[]});return{'id':Number(_0x1325f7[_0xd183('0xb9')]['id']),'tags':_0x2e9d79||[]};});}})[_0xd183('0x24')](respondWithResult(_0x3bbc01,null))[_0xd183('0x2f')](handleError(_0x3bbc01,null));};exports[_0xd183('0xc5')]=function(_0x4531c9,_0x25bd03,_0x42ebb8){return db['OpenchannelInteraction'][_0xd183('0x5d')]({'where':{'id':_0x4531c9[_0xd183('0xb9')]['id']}})[_0xd183('0x24')](handleEntityNotFound(_0x25bd03,null))[_0xd183('0x24')](function(_0x44d168){if(_0x44d168){return _0x44d168[_0xd183('0xc5')](_0x4531c9['query']['ids']);}})[_0xd183('0x24')](respondWithStatusCode(_0x25bd03,null))[_0xd183('0x2f')](handleError(_0x25bd03,null));};exports[_0xd183('0xc6')]=function(_0x5207c1,_0x1ca09a){var _0x5ca6b6=moment()[_0xd183('0xc7')]()[_0xd183('0x99')]();var _0x29ba0b=path[_0xd183('0xc8')](config[_0xd183('0xc9')],_0xd183('0xca'),_0xd183('0xcb'),_0xd183('0xcc'));var _0x516a54=path['join'](config[_0xd183('0xc9')],'server',_0xd183('0xcb'),_0xd183('0xcd'));var _0x4e94cf=path['join'](_0x29ba0b,_0x5ca6b6);var _0xfe2b06=util['format'](_0xd183('0xce'),_0x5207c1[_0xd183('0xb9')]['id'],_0x5ca6b6);var _0x5e2c94=path[_0xd183('0xc8')](_0x29ba0b,_0xfe2b06);var _0x3b85a8=[];_0x3b85a8[_0xd183('0xb1')]({'model':db[_0xd183('0x6b')],'as':_0xd183('0x6b'),'attributes':['id',_0xd183('0x2a')],'raw':!![]});_0x3b85a8['push']({'model':db[_0xd183('0xcf')],'as':'Contact','attributes':['id',_0xd183('0xd0'),_0xd183('0xd1')],'raw':!![]});if(_0x5207c1[_0xd183('0x3d')][_0xd183('0xcd')]){_0x3b85a8[_0xd183('0xb1')]({'model':db[_0xd183('0xd2')],'as':_0xd183('0xd2'),'raw':!![]});}var _0x429623=[{'model':db[_0xd183('0xb8')],'as':_0xd183('0xd3'),'attributes':['id',_0xd183('0x6f'),_0xd183('0x75'),_0xd183('0xd4'),_0xd183('0xd5'),_0xd183('0x7d')],'include':_0x3b85a8}];_0x429623[_0xd183('0xb1')]({'model':db[_0xd183('0xd6')],'as':_0xd183('0xd7'),'attributes':['id',_0xd183('0x27')]});_0x429623['push']({'model':db[_0xd183('0x6b')],'as':_0xd183('0xd8'),'attributes':['id',_0xd183('0x2a')]});return db['OpenchannelInteraction'][_0xd183('0x5d')]({'where':{'id':_0x5207c1['params']['id']},'include':_0x429623})['then'](handleEntityNotFound(_0x1ca09a,null))[_0xd183('0x24')](function(_0x2125ea){if(_0x2125ea){var _0x335be2=_0x2125ea['get']({'plain':!![]});fs[_0xd183('0xd9')](_0x4e94cf);var _0x534476={'channel':_0xd183('0xda'),'account':_0x335be2[_0xd183('0xd7')][_0xd183('0x27')],'agent':_0x335be2[_0xd183('0xd8')]?_0x335be2[_0xd183('0xd8')][_0xd183('0x2a')]:_0xd183('0xdb'),'createdAt':moment(_0x335be2[_0xd183('0x75')])[_0xd183('0xbf')](_0xd183('0xdc'))['toString'](),'closedAt':_0x335be2[_0xd183('0x33')]?moment(_0x335be2[_0xd183('0xdd')])[_0xd183('0xbf')](_0xd183('0xdc'))[_0xd183('0x99')]():'','disposition':_0x335be2[_0xd183('0xde')],'visibility':_0x335be2[_0xd183('0xdf')]?_0xd183('0xe0'):_0xd183('0xe1'),'messages':_(_0x335be2['Messages'])[_0xd183('0x81')]({'secret':![]})[_0xd183('0x38')](function(_0x51563e){if(_0x51563e[_0xd183('0xd2')]){var _0x55b408=path[_0xd183('0xc8')](_0x516a54,_0x51563e[_0xd183('0xd2')][_0xd183('0xe2')]);if(fs[_0xd183('0xe3')](_0x55b408)){fs['createReadStream'](_0x55b408)[_0xd183('0xe4')](fs[_0xd183('0xe5')](path['join'](_0x4e94cf,_0x51563e[_0xd183('0xd2')][_0xd183('0xe2')])));}}return{'date':moment(_0x51563e[_0xd183('0x75')])['format'](_0xd183('0xdc'))['toString'](),'sender':_0x51563e[_0xd183('0xd4')]===_0xd183('0xe6')?_0x51563e['User']?_0x51563e[_0xd183('0x6b')]['fullname']:_0xd183('0xe7'):_0x51563e[_0xd183('0xe8')][_0xd183('0xd0')]+(_0x51563e[_0xd183('0xe8')][_0xd183('0xd1')]?'\x20'+_0x51563e['Contact'][_0xd183('0xd1')]:''),'body':_0x51563e['Attachment']?_0x51563e['Attachment'][_0xd183('0xe2')]:_0x51563e['body'],'direction':_0x51563e[_0xd183('0xd4')]===_0xd183('0xe6')?'A':'C','secret':_0x51563e[_0xd183('0xd5')],'read':_0x51563e['read'],'attachment':_0x51563e['Attachment']};})[_0xd183('0x5f')]()};return ejs[_0xd183('0xe9')](path['join'](config[_0xd183('0xc9')],_0xd183('0xca'),'views',_0xd183('0xea')),{'interaction':_0x534476})[_0xd183('0x24')](function(_0x825097){var _0x220b73=path['join'](_0x4e94cf,_0xd183('0xeb')+_0x335be2['id']+'-'+_0x5ca6b6+_0xd183('0xec'));var _0x26c0f2={'path':_0x220b73,'channel':_0xd183('0xda'),'interactionId':_0x335be2['id']};return pdf[_0xd183('0xed')](_0x825097,_0x26c0f2);})[_0xd183('0x24')](function(){return new BPromise(function(_0x4790d5,_0x226cc2){zipdir(_0x4e94cf,{'saveTo':_0x5e2c94},function(_0x59d099,_0x3d7c2c){if(_0x59d099)return _0x226cc2(_0x59d099);return _0x4790d5(_0x3d7c2c);});})[_0xd183('0x24')](function(){return new BPromise(function(_0x41cec1,_0x4d8480){rimraf(_0x4e94cf,function(_0x38dba2){if(_0x38dba2)_0x4d8480(_0x38dba2);return _0x41cec1();});});})[_0xd183('0x24')](function(){return _0x1ca09a[_0xd183('0xc6')](_0x5e2c94,_0xfe2b06,function(_0x273100){if(_0x273100){console[_0xd183('0xee')]('err',_0x273100);}else{fs['unlinkSync'](_0x5e2c94);}});});});}else{return _0x1ca09a[_0xd183('0xef')](0xc8);}})['catch'](handleError(_0x1ca09a,null));};