127543388563f29790f6f9a392028daf2d582979
[motion2.git] / server / api / openchannelAccount / openchannelAccount.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 _0xbc70=['zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','ejs','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/license/util','redis','defaults','localhost','socket.io-emitter','./openchannelAccount.socket','register','client','info','OpenchannelAccount,\x20%s,\x20%s','debug','OpenchannelAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message','request\x20sent','result','catch','end','status','json','offset','undefined','count','limit','set','Content-Range','reject','then','get','UserProfileResource','destroy','name','index','mandatoryDispositionPause','map','OpenchannelAccount','type','key','model','keys','query','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','includeAll','include','findAll','rows','show','params','Pause','find','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','OpenchannelAccounts','userProfileId','autoAssociation','create','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','describe','OpenchannelAccountId','getDispositions','findOne','rawAttributes','options','Disposition','removeDispositions','ids','getAnswers','CannedAnswer','length','removeAnswers','CmContact','Sequelize','ValidationError','no\x20available\x20attributes','difference','createdAt','updatedAt','CompanyId','isNil','from','from\x20is\x20mandatory','body\x20is\x20mandatory\x20and\x20not\x20empty','mapKey','mapKey\x20is\x20mandatory,\x20please\x20use\x20one\x20of\x20these:\x20','includes','List','Contacts','OpenchannelApplication','Applications','list','applications','priority','asc','account','ListId','firstName','threadId','OpenchannelInteraction','externalUrl','ContactId','spread','contact','lastName','messageId','interaction','created','autoclose','push','close','unmanaged','*,*,*,*','OpenchannelMessage','AttachmentId','UserId','User','unshift','agent','waitForTheAssignedAgent','forcedOwnership','Start','startRouting','EventManager','notify','addApplications','sequelize','transaction','Transaction','ISOLATION_LEVELS','READ_COMMITTED','stack','finally','sendStatus','send','getApplications','Contact','Owner','fullname','internal','Tag','Tags','tag','addAgents','omit','emit','userOpenchannelAccount:save','removeAgents','userOpenchannelAccount:remove','getAgents','CmList','out','Messages','dataValues','eml-format','rimraf'];(function(_0x4a0058,_0x413446){var _0x1e0db0=function(_0x37e952){while(--_0x37e952){_0x4a0058['push'](_0x4a0058['shift']());}};_0x1e0db0(++_0x413446);}(_0xbc70,0xbc));var _0x0bc7=function(_0x361009,_0x33a618){_0x361009=_0x361009-0x0;var _0x53ec33=_0xbc70[_0x361009];return _0x53ec33;};'use strict';var emlformat=require(_0x0bc7('0x0'));var rimraf=require(_0x0bc7('0x1'));var zipdir=require(_0x0bc7('0x2'));var jsonpatch=require(_0x0bc7('0x3'));var rp=require(_0x0bc7('0x4'));var moment=require('moment');var BPromise=require(_0x0bc7('0x5'));var Mustache=require(_0x0bc7('0x6'));var util=require(_0x0bc7('0x7'));var path=require(_0x0bc7('0x8'));var sox=require(_0x0bc7('0x9'));var csv=require('to-csv');var ejs=require(_0x0bc7('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x0bc7('0xb'));var deskjs=require(_0x0bc7('0xc'));var toCsv=require(_0x0bc7('0xd'));var querystring=require(_0x0bc7('0xe'));var Papa=require(_0x0bc7('0xf'));var Redis=require(_0x0bc7('0x10'));var authService=require(_0x0bc7('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0x0bc7('0x12'));var hardwareService=require(_0x0bc7('0x13'));var logger=require(_0x0bc7('0x14'))('api');var utils=require(_0x0bc7('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0x0bc7('0x16'));var db=require('../../mysqldb')['db'];config[_0x0bc7('0x17')]=_[_0x0bc7('0x18')](config[_0x0bc7('0x17')],{'host':_0x0bc7('0x19'),'port':0x18eb});var socket=require(_0x0bc7('0x1a'))(new Redis(config['redis']));require(_0x0bc7('0x1b'))[_0x0bc7('0x1c')](socket);var jayson=require('jayson/promise');var client=jayson['client']['http']({'port':0x232c});var client9002=jayson[_0x0bc7('0x1d')]['http']({'port':0x232a});function respondWithRpcPromise(_0x47ed3e,_0x4b157e,_0x4e54fe,_0x42592b){return new BPromise(function(_0xcf6d81,_0x311c1d){var _0x536df7=_0x42592b||client;return _0x536df7['request'](_0x47ed3e,_0x4e54fe)['then'](function(_0x52b1e2){logger[_0x0bc7('0x1e')](_0x0bc7('0x1f'),_0x4b157e,'request\x20sent');logger[_0x0bc7('0x20')](_0x0bc7('0x21'),_0x4b157e,'request\x20sent',JSON[_0x0bc7('0x22')](_0x52b1e2));if(_0x52b1e2[_0x0bc7('0x23')]){if(_0x52b1e2[_0x0bc7('0x23')][_0x0bc7('0x24')]===0x1f4){logger[_0x0bc7('0x23')]('OpenchannelAccount,\x20%s,\x20%s',_0x4b157e,_0x52b1e2[_0x0bc7('0x23')][_0x0bc7('0x25')]);return _0x311c1d(_0x52b1e2[_0x0bc7('0x23')][_0x0bc7('0x25')]);}logger[_0x0bc7('0x23')](_0x0bc7('0x1f'),_0x4b157e,_0x52b1e2['error'][_0x0bc7('0x25')]);return _0xcf6d81(_0x52b1e2[_0x0bc7('0x23')][_0x0bc7('0x25')]);}else{logger['info'](_0x0bc7('0x1f'),_0x4b157e,_0x0bc7('0x26'));_0xcf6d81(_0x52b1e2[_0x0bc7('0x27')][_0x0bc7('0x25')]);}})[_0x0bc7('0x28')](function(_0x1497f4){logger[_0x0bc7('0x23')](_0x0bc7('0x1f'),_0x4b157e,_0x1497f4);_0x311c1d(_0x1497f4);});});}function respondWithStatusCode(_0x4295f5,_0x5028c1){_0x5028c1=_0x5028c1||0xcc;return function(_0x4fc777){if(_0x4fc777){return _0x4295f5['sendStatus'](_0x5028c1);}return _0x4295f5['status'](_0x5028c1)[_0x0bc7('0x29')]();};}function respondWithResult(_0x55e354,_0x3ef3ea){_0x3ef3ea=_0x3ef3ea||0xc8;return function(_0x5745ab){if(_0x5745ab){return _0x55e354[_0x0bc7('0x2a')](_0x3ef3ea)[_0x0bc7('0x2b')](_0x5745ab);}};}function respondWithFilteredResult(_0x5dedf6,_0x14bab6){return function(_0x41c3aa){if(_0x41c3aa){var _0x439378=typeof _0x14bab6[_0x0bc7('0x2c')]===_0x0bc7('0x2d')&&typeof _0x14bab6['limit']===_0x0bc7('0x2d');var _0x5a7249=_0x41c3aa['count'];var _0x5aa9cc=_0x439378?0x0:_0x14bab6[_0x0bc7('0x2c')];var _0x334dbe=_0x439378?_0x41c3aa[_0x0bc7('0x2e')]:_0x14bab6[_0x0bc7('0x2c')]+_0x14bab6[_0x0bc7('0x2f')];var _0x358d9e;if(_0x334dbe>=_0x5a7249){_0x334dbe=_0x5a7249;_0x358d9e=0xc8;}else{_0x358d9e=0xce;}_0x5dedf6[_0x0bc7('0x2a')](_0x358d9e);return _0x5dedf6[_0x0bc7('0x30')](_0x0bc7('0x31'),_0x5aa9cc+'-'+_0x334dbe+'/'+_0x5a7249)[_0x0bc7('0x2b')](_0x41c3aa);}return null;};}function patchUpdates(_0x195ac0){return function(_0x23039c){try{jsonpatch['apply'](_0x23039c,_0x195ac0,!![]);}catch(_0x4d66d3){return BPromise[_0x0bc7('0x32')](_0x4d66d3);}return _0x23039c['save']();};}function saveUpdates(_0x5896cc,_0x4586f5){return function(_0xfb41ac){if(_0xfb41ac){return _0xfb41ac['update'](_0x5896cc)[_0x0bc7('0x33')](function(_0x1cd001){return _0x1cd001;});}return null;};}function removeEntity(_0x512c1d,_0x4f2acf){return function(_0x3380d9){if(_0x3380d9){return _0x3380d9['destroy']()[_0x0bc7('0x33')](function(){var _0x3e9ba8=_0x3380d9[_0x0bc7('0x34')]({'plain':!![]});var _0x4198ce='OpenchannelAccounts';return db[_0x0bc7('0x35')][_0x0bc7('0x36')]({'where':{'type':_0x4198ce,'resourceId':_0x3e9ba8['id']}})[_0x0bc7('0x33')](function(){return _0x3380d9;});})[_0x0bc7('0x33')](function(){_0x512c1d[_0x0bc7('0x2a')](0xcc)[_0x0bc7('0x29')]();});}};}function handleEntityNotFound(_0x594c8e,_0x4fabee){return function(_0x38b132){if(!_0x38b132){_0x594c8e['sendStatus'](0x194);}return _0x38b132;};}function handleError(_0x5c0e40,_0x26d7b9){_0x26d7b9=_0x26d7b9||0x1f4;return function(_0x1e46cb){logger[_0x0bc7('0x23')](_0x1e46cb['stack']);if(_0x1e46cb[_0x0bc7('0x37')]){delete _0x1e46cb[_0x0bc7('0x37')];}_0x5c0e40[_0x0bc7('0x2a')](_0x26d7b9)['send'](_0x1e46cb);};}exports[_0x0bc7('0x38')]=function(_0x310787,_0x5bdf00){var _0x579ba6={'include':[{'model':db['Pause'],'as':_0x0bc7('0x39')}]},_0x38b567={},_0x23eb8f={'count':0x0,'rows':[]};var _0x19e859=_[_0x0bc7('0x3a')](db[_0x0bc7('0x3b')]['rawAttributes'],function(_0x25dab1){return{'name':_0x25dab1['fieldName'],'type':_0x25dab1[_0x0bc7('0x3c')][_0x0bc7('0x3d')]};});_0x38b567[_0x0bc7('0x3e')]=_[_0x0bc7('0x3a')](_0x19e859,_0x0bc7('0x37'));_0x38b567['query']=_[_0x0bc7('0x3f')](_0x310787[_0x0bc7('0x40')]);_0x38b567[_0x0bc7('0x41')]=_[_0x0bc7('0x42')](_0x38b567['model'],_0x38b567['query']);_0x579ba6[_0x0bc7('0x43')]=_[_0x0bc7('0x42')](_0x38b567[_0x0bc7('0x3e')],qs[_0x0bc7('0x44')](_0x310787['query']['fields']));_0x579ba6[_0x0bc7('0x43')]=_0x579ba6[_0x0bc7('0x43')]['length']?_0x579ba6[_0x0bc7('0x43')]:_0x38b567[_0x0bc7('0x3e')];if(!_0x310787['query'][_0x0bc7('0x45')](_0x0bc7('0x46'))){_0x579ba6[_0x0bc7('0x2f')]=qs[_0x0bc7('0x2f')](_0x310787['query']['limit']);_0x579ba6[_0x0bc7('0x2c')]=qs[_0x0bc7('0x2c')](_0x310787['query'][_0x0bc7('0x2c')]);}_0x579ba6[_0x0bc7('0x47')]=qs[_0x0bc7('0x48')](_0x310787[_0x0bc7('0x40')][_0x0bc7('0x48')]);_0x579ba6[_0x0bc7('0x49')]=qs[_0x0bc7('0x41')](_[_0x0bc7('0x4a')](_0x310787['query'],_0x38b567['filters']),_0x19e859);if(_0x310787['query'][_0x0bc7('0x4b')]){_0x579ba6[_0x0bc7('0x49')]=_[_0x0bc7('0x4c')](_0x579ba6[_0x0bc7('0x49')],{'$or':_[_0x0bc7('0x3a')](_0x19e859,function(_0x433577){if(_0x433577['type']!==_0x0bc7('0x4d')){var _0x95e572={};_0x95e572[_0x433577[_0x0bc7('0x37')]]={'$like':'%'+_0x310787[_0x0bc7('0x40')][_0x0bc7('0x4b')]+'%'};return _0x95e572;}})});}_0x579ba6=_[_0x0bc7('0x4c')]({},_0x579ba6,_0x310787['options']);var _0x5a51f7={'where':_0x579ba6['where']};return db[_0x0bc7('0x3b')][_0x0bc7('0x2e')](_0x5a51f7)[_0x0bc7('0x33')](function(_0x4c5c54){_0x23eb8f['count']=_0x4c5c54;if(_0x310787[_0x0bc7('0x40')][_0x0bc7('0x4e')]){_0x579ba6[_0x0bc7('0x4f')]=[{'all':!![]}];}return db[_0x0bc7('0x3b')][_0x0bc7('0x50')](_0x579ba6);})[_0x0bc7('0x33')](function(_0x4c215a){_0x23eb8f[_0x0bc7('0x51')]=_0x4c215a;return _0x23eb8f;})[_0x0bc7('0x33')](respondWithFilteredResult(_0x5bdf00,_0x579ba6))['catch'](handleError(_0x5bdf00,null));};exports[_0x0bc7('0x52')]=function(_0xa85efb,_0x42a3ec){var _0x2326c6={'raw':![],'where':{'id':_0xa85efb[_0x0bc7('0x53')]['id']},'include':[{'model':db[_0x0bc7('0x54')],'as':_0x0bc7('0x39')}]},_0x8d8a8f={};_0x8d8a8f['model']=_['keys'](db[_0x0bc7('0x3b')]['rawAttributes']);_0x8d8a8f[_0x0bc7('0x40')]=_[_0x0bc7('0x3f')](_0xa85efb[_0x0bc7('0x40')]);_0x8d8a8f[_0x0bc7('0x41')]=_[_0x0bc7('0x42')](_0x8d8a8f[_0x0bc7('0x3e')],_0x8d8a8f[_0x0bc7('0x40')]);_0x2326c6[_0x0bc7('0x43')]=_['intersection'](_0x8d8a8f['model'],qs[_0x0bc7('0x44')](_0xa85efb[_0x0bc7('0x40')][_0x0bc7('0x44')]));_0x2326c6[_0x0bc7('0x43')]=_0x2326c6[_0x0bc7('0x43')]['length']?_0x2326c6['attributes']:_0x8d8a8f[_0x0bc7('0x3e')];if(_0xa85efb[_0x0bc7('0x40')][_0x0bc7('0x4e')]){_0x2326c6[_0x0bc7('0x4f')]=[{'all':!![]}];}_0x2326c6=_['merge']({},_0x2326c6,_0xa85efb['options']);return db['OpenchannelAccount'][_0x0bc7('0x55')](_0x2326c6)[_0x0bc7('0x33')](handleEntityNotFound(_0x42a3ec,null))[_0x0bc7('0x33')](respondWithResult(_0x42a3ec,null))[_0x0bc7('0x28')](handleError(_0x42a3ec,null));};exports['create']=function(_0x465853,_0x48fb64){return db[_0x0bc7('0x3b')]['create'](_0x465853[_0x0bc7('0x56')],{})[_0x0bc7('0x33')](function(_0x146898){var _0x4b4725=_0x465853[_0x0bc7('0x57')][_0x0bc7('0x34')]({'plain':!![]});if(!_0x4b4725)throw new Error(_0x0bc7('0x58'));if(_0x4b4725['role']===_0x0bc7('0x57')){var _0x32a24a=_0x146898[_0x0bc7('0x34')]({'plain':!![]});var _0x3be2b5=_0x0bc7('0x59');return db['UserProfileSection'][_0x0bc7('0x55')]({'where':{'name':_0x3be2b5,'userProfileId':_0x4b4725[_0x0bc7('0x5a')]},'raw':!![]})[_0x0bc7('0x33')](function(_0x24c16d){if(_0x24c16d&&_0x24c16d[_0x0bc7('0x5b')]===0x0){return db[_0x0bc7('0x35')][_0x0bc7('0x5c')]({'name':_0x32a24a[_0x0bc7('0x37')],'resourceId':_0x32a24a['id'],'type':_0x24c16d[_0x0bc7('0x37')],'sectionId':_0x24c16d['id']},{})['then'](function(){return _0x146898;});}else{return _0x146898;}})[_0x0bc7('0x28')](function(_0x2879fe){logger[_0x0bc7('0x23')](_0x0bc7('0x5d'),_0x2879fe);throw _0x2879fe;});}return _0x146898;})[_0x0bc7('0x33')](respondWithResult(_0x48fb64,0xc9))['catch'](handleError(_0x48fb64,null));};exports[_0x0bc7('0x5e')]=function(_0x4aac07,_0x2f893c){if(_0x4aac07[_0x0bc7('0x56')]['id']){delete _0x4aac07['body']['id'];}return db['OpenchannelAccount'][_0x0bc7('0x55')]({'where':{'id':_0x4aac07['params']['id']},'include':[{'model':db[_0x0bc7('0x54')],'as':'mandatoryDispositionPause'}]})['then'](handleEntityNotFound(_0x2f893c,null))[_0x0bc7('0x33')](saveUpdates(_0x4aac07['body'],null))['then'](respondWithResult(_0x2f893c,null))[_0x0bc7('0x28')](handleError(_0x2f893c,null));};exports[_0x0bc7('0x36')]=function(_0x14d12f,_0x25fbd1){return db['OpenchannelAccount'][_0x0bc7('0x55')]({'where':{'id':_0x14d12f['params']['id']}})[_0x0bc7('0x33')](handleEntityNotFound(_0x25fbd1,null))[_0x0bc7('0x33')](removeEntity(_0x25fbd1,null))[_0x0bc7('0x28')](handleError(_0x25fbd1,null));};exports[_0x0bc7('0x5f')]=function(_0x25820e,_0x18739c){return db[_0x0bc7('0x3b')][_0x0bc7('0x5f')]()[_0x0bc7('0x33')](respondWithResult(_0x18739c,null))[_0x0bc7('0x28')](handleError(_0x18739c,null));};exports['addDisposition']=function(_0x160742,_0x71d418,_0x3d946d){if(_0x160742['body']['id']){delete _0x160742[_0x0bc7('0x56')]['id'];}return db['OpenchannelAccount'][_0x0bc7('0x55')]({'where':{'id':_0x160742[_0x0bc7('0x53')]['id']}})[_0x0bc7('0x33')](handleEntityNotFound(_0x71d418,null))[_0x0bc7('0x33')](function(_0x718c4f){if(_0x718c4f){_0x160742[_0x0bc7('0x56')][_0x0bc7('0x60')]=_0x718c4f['id'];return db['Disposition'][_0x0bc7('0x5c')](_0x160742[_0x0bc7('0x56')]);}})[_0x0bc7('0x33')](respondWithResult(_0x71d418,null))[_0x0bc7('0x28')](handleError(_0x71d418,null));};exports[_0x0bc7('0x61')]=function(_0x1e95cc,_0x339604,_0xa01c75){var _0x9ae3eb={'raw':![],'where':{}};var _0x1ded20={};var _0x327098={'count':0x0,'rows':[]};return db[_0x0bc7('0x3b')][_0x0bc7('0x62')]({'where':{'id':_0x1e95cc['params']['id']}})[_0x0bc7('0x33')](handleEntityNotFound(_0x339604,null))['then'](function(_0x3ab928){if(_0x3ab928){_0x1ded20['model']=_['keys'](db['Disposition'][_0x0bc7('0x63')]);_0x1ded20['query']=_[_0x0bc7('0x3f')](_0x1e95cc[_0x0bc7('0x40')]);_0x1ded20[_0x0bc7('0x41')]=_[_0x0bc7('0x42')](_0x1ded20['model'],_0x1ded20['query']);_0x9ae3eb['attributes']=_[_0x0bc7('0x42')](_0x1ded20[_0x0bc7('0x3e')],qs['fields'](_0x1e95cc[_0x0bc7('0x40')][_0x0bc7('0x44')]));_0x9ae3eb[_0x0bc7('0x43')]=_0x9ae3eb[_0x0bc7('0x43')]['length']?_0x9ae3eb['attributes']:_0x1ded20[_0x0bc7('0x3e')];if(!_0x1e95cc[_0x0bc7('0x40')][_0x0bc7('0x45')](_0x0bc7('0x46'))){_0x9ae3eb[_0x0bc7('0x2f')]=qs[_0x0bc7('0x2f')](_0x1e95cc[_0x0bc7('0x40')][_0x0bc7('0x2f')]);_0x9ae3eb[_0x0bc7('0x2c')]=qs['offset'](_0x1e95cc[_0x0bc7('0x40')][_0x0bc7('0x2c')]);}_0x9ae3eb[_0x0bc7('0x47')]=qs['sort'](_0x1e95cc[_0x0bc7('0x40')]['sort']);_0x9ae3eb[_0x0bc7('0x49')]=qs[_0x0bc7('0x41')](_[_0x0bc7('0x4a')](_0x1e95cc[_0x0bc7('0x40')],_0x1ded20['filters']));_0x9ae3eb[_0x0bc7('0x49')]['OpenchannelAccountId']=_0x3ab928['id'];if(_0x1e95cc[_0x0bc7('0x40')][_0x0bc7('0x4b')]){_0x9ae3eb[_0x0bc7('0x49')]=_[_0x0bc7('0x4c')](_0x9ae3eb['where'],{'$or':_[_0x0bc7('0x3a')](_0x9ae3eb[_0x0bc7('0x43')],function(_0x5893e9){var _0x56b194={};_0x56b194[_0x5893e9]={'$like':'%'+_0x1e95cc[_0x0bc7('0x40')][_0x0bc7('0x4b')]+'%'};return _0x56b194;})});}_0x9ae3eb=_[_0x0bc7('0x4c')]({},_0x9ae3eb,_0x1e95cc[_0x0bc7('0x64')]);return db['Disposition'][_0x0bc7('0x2e')]({'where':_0x9ae3eb[_0x0bc7('0x49')]})[_0x0bc7('0x33')](function(_0x4a2c68){_0x327098['count']=_0x4a2c68;if(_0x1e95cc['query']['includeAll']){_0x9ae3eb[_0x0bc7('0x4f')]=[{'all':!![]}];}return db[_0x0bc7('0x65')][_0x0bc7('0x50')](_0x9ae3eb);})[_0x0bc7('0x33')](function(_0x2293d6){_0x327098[_0x0bc7('0x51')]=_0x2293d6;return _0x327098;});}})['then'](respondWithFilteredResult(_0x339604,_0x9ae3eb))[_0x0bc7('0x28')](handleError(_0x339604,null));};exports['removeDispositions']=function(_0x4788b3,_0x241bef,_0x5e16eb){return db[_0x0bc7('0x3b')][_0x0bc7('0x55')]({'where':{'id':_0x4788b3[_0x0bc7('0x53')]['id']}})['then'](handleEntityNotFound(_0x241bef,null))[_0x0bc7('0x33')](function(_0x45251f){if(_0x45251f){return _0x45251f[_0x0bc7('0x66')](_0x4788b3[_0x0bc7('0x40')][_0x0bc7('0x67')]);}})['then'](respondWithStatusCode(_0x241bef,null))[_0x0bc7('0x28')](handleError(_0x241bef,null));};exports['addAnswer']=function(_0x30091f,_0x2facd4,_0x29ccd2){if(_0x30091f[_0x0bc7('0x56')]['id']){delete _0x30091f[_0x0bc7('0x56')]['id'];}return db[_0x0bc7('0x3b')][_0x0bc7('0x55')]({'where':{'id':_0x30091f['params']['id']}})[_0x0bc7('0x33')](handleEntityNotFound(_0x2facd4,null))[_0x0bc7('0x33')](function(_0x1f1a23){if(_0x1f1a23){_0x30091f[_0x0bc7('0x56')]['OpenchannelAccountId']=_0x1f1a23['id'];return db['CannedAnswer']['create'](_0x30091f[_0x0bc7('0x56')]);}})[_0x0bc7('0x33')](respondWithResult(_0x2facd4,null))[_0x0bc7('0x28')](handleError(_0x2facd4,null));};exports[_0x0bc7('0x68')]=function(_0xd1db45,_0x1c41fd,_0x515689){var _0x396d27={'raw':![],'where':{}};var _0x471705={};var _0x2694d1={'count':0x0,'rows':[]};return db['OpenchannelAccount'][_0x0bc7('0x62')]({'where':{'id':_0xd1db45[_0x0bc7('0x53')]['id']}})[_0x0bc7('0x33')](handleEntityNotFound(_0x1c41fd,null))['then'](function(_0xa4156){if(_0xa4156){_0x471705['model']=_[_0x0bc7('0x3f')](db[_0x0bc7('0x69')]['rawAttributes']);_0x471705['query']=_[_0x0bc7('0x3f')](_0xd1db45['query']);_0x471705[_0x0bc7('0x41')]=_[_0x0bc7('0x42')](_0x471705['model'],_0x471705[_0x0bc7('0x40')]);_0x396d27[_0x0bc7('0x43')]=_[_0x0bc7('0x42')](_0x471705['model'],qs[_0x0bc7('0x44')](_0xd1db45[_0x0bc7('0x40')]['fields']));_0x396d27['attributes']=_0x396d27[_0x0bc7('0x43')][_0x0bc7('0x6a')]?_0x396d27['attributes']:_0x471705[_0x0bc7('0x3e')];if(!_0xd1db45[_0x0bc7('0x40')]['hasOwnProperty']('nolimit')){_0x396d27['limit']=qs[_0x0bc7('0x2f')](_0xd1db45[_0x0bc7('0x40')][_0x0bc7('0x2f')]);_0x396d27[_0x0bc7('0x2c')]=qs[_0x0bc7('0x2c')](_0xd1db45['query'][_0x0bc7('0x2c')]);}_0x396d27[_0x0bc7('0x47')]=qs[_0x0bc7('0x48')](_0xd1db45[_0x0bc7('0x40')][_0x0bc7('0x48')]);_0x396d27[_0x0bc7('0x49')]=qs['filters'](_[_0x0bc7('0x4a')](_0xd1db45[_0x0bc7('0x40')],_0x471705[_0x0bc7('0x41')]));_0x396d27[_0x0bc7('0x49')][_0x0bc7('0x60')]=_0xa4156['id'];if(_0xd1db45[_0x0bc7('0x40')][_0x0bc7('0x4b')]){_0x396d27['where']=_['merge'](_0x396d27['where'],{'$or':_['map'](_0x396d27['attributes'],function(_0x248ead){var _0x2fa836={};_0x2fa836[_0x248ead]={'$like':'%'+_0xd1db45['query'][_0x0bc7('0x4b')]+'%'};return _0x2fa836;})});}_0x396d27=_[_0x0bc7('0x4c')]({},_0x396d27,_0xd1db45[_0x0bc7('0x64')]);return db['CannedAnswer'][_0x0bc7('0x2e')]({'where':_0x396d27['where']})[_0x0bc7('0x33')](function(_0x5bcf5d){_0x2694d1[_0x0bc7('0x2e')]=_0x5bcf5d;if(_0xd1db45[_0x0bc7('0x40')][_0x0bc7('0x4e')]){_0x396d27[_0x0bc7('0x4f')]=[{'all':!![]}];}return db[_0x0bc7('0x69')][_0x0bc7('0x50')](_0x396d27);})[_0x0bc7('0x33')](function(_0xc4df7e){_0x2694d1[_0x0bc7('0x51')]=_0xc4df7e;return _0x2694d1;});}})[_0x0bc7('0x33')](respondWithFilteredResult(_0x1c41fd,_0x396d27))[_0x0bc7('0x28')](handleError(_0x1c41fd,null));};exports['removeAnswers']=function(_0x723663,_0x62931d,_0x4d151a){return db[_0x0bc7('0x3b')][_0x0bc7('0x55')]({'where':{'id':_0x723663[_0x0bc7('0x53')]['id']}})[_0x0bc7('0x33')](handleEntityNotFound(_0x62931d,null))[_0x0bc7('0x33')](function(_0x35d1c4){if(_0x35d1c4){return _0x35d1c4[_0x0bc7('0x6b')](_0x723663['query'][_0x0bc7('0x67')]);}})[_0x0bc7('0x33')](respondWithStatusCode(_0x62931d,null))[_0x0bc7('0x28')](handleError(_0x62931d,null));};exports['notify']=function(_0xd4556c,_0x523d04,_0x5f0155){var _0x540e46={'body':_0xd4556c['body'],'channel':'openchannel'};var _0x3c054c=[];var _0x28ec9c=[];var _0x2aa7da={};var _0x109d8e=![];return db[_0x0bc7('0x6c')]['describe']()[_0x0bc7('0x33')](function(_0x50f513){if(!_0x50f513){throw new db[(_0x0bc7('0x6d'))][(_0x0bc7('0x6e'))](_0x0bc7('0x6f'));}_0x3c054c=_[_0x0bc7('0x70')](_[_0x0bc7('0x3f')](_0x50f513),[_0x0bc7('0x71'),_0x0bc7('0x72')]);_0x28ec9c=_['difference'](_[_0x0bc7('0x3f')](_0x50f513),[_0x0bc7('0x71'),_0x0bc7('0x72'),_0x0bc7('0x73'),'ListId']);if(_0xd4556c[_0x0bc7('0x56')]['id']){delete _0xd4556c['body']['id'];}if(_[_0x0bc7('0x74')](_0xd4556c[_0x0bc7('0x56')][_0x0bc7('0x75')])){throw new db[(_0x0bc7('0x6d'))]['ValidationError'](_0x0bc7('0x76'));}if(_[_0x0bc7('0x74')](_0xd4556c[_0x0bc7('0x56')][_0x0bc7('0x56')])||_0xd4556c[_0x0bc7('0x56')][_0x0bc7('0x56')]===''){throw new db[(_0x0bc7('0x6d'))][(_0x0bc7('0x6e'))](_0x0bc7('0x77'));}if(_[_0x0bc7('0x74')](_0xd4556c['body'][_0x0bc7('0x78')])){throw new db[(_0x0bc7('0x6d'))][(_0x0bc7('0x6e'))](_0x0bc7('0x79')+_0x28ec9c);}if(!_[_0x0bc7('0x7a')](_0x28ec9c,_0xd4556c[_0x0bc7('0x56')][_0x0bc7('0x78')])){throw new db[(_0x0bc7('0x6d'))]['ValidationError']('mapKey\x20invalid,\x20please\x20use\x20one\x20of\x20these:\x20'+_0x28ec9c);}_0x2aa7da[_0xd4556c[_0x0bc7('0x56')][_0x0bc7('0x78')]]=_0xd4556c[_0x0bc7('0x56')][_0x0bc7('0x75')];})['then'](function(){return db[_0x0bc7('0x3b')][_0x0bc7('0x55')]({'where':{'id':_0xd4556c[_0x0bc7('0x53')]['id']},'include':[{'model':db['CmList'],'as':_0x0bc7('0x7b'),'include':[{'model':db[_0x0bc7('0x6c')],'as':_0x0bc7('0x7c'),'where':_0x2aa7da,'limit':0x1,'order':[[_0x0bc7('0x72'),'DESC']]}]},{'model':db[_0x0bc7('0x7d')],'as':_0x0bc7('0x7e')}]});})[_0x0bc7('0x33')](handleEntityNotFound(_0x523d04,null))[_0x0bc7('0x33')](function(_0x3459f8){if(_0x3459f8&&_0x3459f8[_0x0bc7('0x7b')]){_0x540e46['account']=_0x3459f8;_0x540e46['applications']=_0x3459f8['Applications'];_0x540e46[_0x0bc7('0x7f')]=_0x3459f8[_0x0bc7('0x7b')];_0x540e46[_0x0bc7('0x80')]=_['orderBy'](_0x540e46[_0x0bc7('0x80')],[_0x0bc7('0x81')],[_0x0bc7('0x82')]);if(_0x540e46['account'][_0x0bc7('0x7e')]){delete _0x540e46[_0x0bc7('0x83')][_0x0bc7('0x7e')];}if(_0x540e46[_0x0bc7('0x83')][_0x0bc7('0x7b')]&&_0x540e46[_0x0bc7('0x83')][_0x0bc7('0x7b')][_0x0bc7('0x7c')][_0x0bc7('0x6a')]){return _0x540e46[_0x0bc7('0x83')][_0x0bc7('0x7b')][_0x0bc7('0x7c')][0x0];}var _0x53333a=_['defaults'](_0xd4556c[_0x0bc7('0x56')],{'firstName':_0xd4556c[_0x0bc7('0x56')][_0x0bc7('0x75')],'ListId':_0x3459f8[_0x0bc7('0x84')]});_0x53333a[_0xd4556c[_0x0bc7('0x56')][_0x0bc7('0x78')]]=_0xd4556c[_0x0bc7('0x56')][_0x0bc7('0x75')];return db['CmContact'][_0x0bc7('0x5c')](_0x53333a,{'fields':_0x3c054c,'raw':!![]});}})[_0x0bc7('0x33')](handleEntityNotFound(_0x523d04,null))['then'](function(_0x4ad035){_0x540e46['contact']=_0x4ad035;if(_0x4ad035){var _0x2e845f={'ContactId':_0x4ad035['id'],'OpenchannelAccountId':_0xd4556c['params']['id'],'from':(_0x4ad035[_0x0bc7('0x85')]||'')+'\x20'+(_0x4ad035['lastName']||'')};var _0x1b2ccb={'OpenchannelAccountId':_0xd4556c[_0x0bc7('0x53')]['id'],'closed':![]};if(_0xd4556c['body']['threadId']){_0x1b2ccb[_0x0bc7('0x86')]=_0xd4556c[_0x0bc7('0x56')]['threadId'];return db[_0x0bc7('0x87')][_0x0bc7('0x55')]({'where':_0x1b2ccb})['then'](function(_0x35fe07){if(_0x35fe07){return[_0x35fe07,![]];}_0x2e845f[_0x0bc7('0x86')]=_0xd4556c[_0x0bc7('0x56')][_0x0bc7('0x86')];_0x2e845f[_0x0bc7('0x88')]=_0xd4556c[_0x0bc7('0x56')][_0x0bc7('0x88')];return db[_0x0bc7('0x87')]['create'](_0x2e845f)[_0x0bc7('0x33')](function(_0x4af37a){return[_0x4af37a,!![]];});});}else{_0x1b2ccb[_0x0bc7('0x86')]=null;}_0x1b2ccb[_0x0bc7('0x89')]=_0x4ad035['id'];return db[_0x0bc7('0x87')]['find']({'where':_0x1b2ccb})[_0x0bc7('0x33')](function(_0x3b1e72){if(_0x3b1e72){return[_0x3b1e72,![]];}return db[_0x0bc7('0x87')][_0x0bc7('0x5c')](_0x2e845f)['then'](function(_0x4f9912){return[_0x4f9912,!![]];});});}})[_0x0bc7('0x8a')](function(_0x1e1203,_0x314d88){if(_0x1e1203){_0x109d8e=_0x314d88;if(!_0x314d88){var _0x4d3ad6={'from':(_0x540e46[_0x0bc7('0x8b')][_0x0bc7('0x85')]||'')+'\x20'+(_0x540e46[_0x0bc7('0x8b')][_0x0bc7('0x8c')]||'')};if(_0xd4556c[_0x0bc7('0x56')][_0x0bc7('0x86')]&&_0xd4556c[_0x0bc7('0x56')][_0x0bc7('0x8d')]&&_0xd4556c[_0x0bc7('0x56')][_0x0bc7('0x86')]!=_0xd4556c[_0x0bc7('0x56')][_0x0bc7('0x8d')]){_0x4d3ad6['threadId']=_0xd4556c['body'][_0x0bc7('0x8d')];}return _0x1e1203[_0x0bc7('0x5e')](_0x4d3ad6);}else{return _0x1e1203;}}})[_0x0bc7('0x33')](function(_0x30d145){_0x540e46[_0x0bc7('0x8e')]=_0x30d145[_0x0bc7('0x34')]({'plain':!![]});_0x540e46[_0x0bc7('0x8e')]['created']=_0x109d8e;if(_0x540e46[_0x0bc7('0x8e')][_0x0bc7('0x8f')]){if(_0x540e46[_0x0bc7('0x83')][_0x0bc7('0x90')]){_0x540e46[_0x0bc7('0x80')][_0x0bc7('0x91')]({'id':0x0,'priority':_0x540e46[_0x0bc7('0x80')][_0x0bc7('0x6a')]+0x1,'app':_0x0bc7('0x92'),'appdata':_0x0bc7('0x93'),'interval':_0x0bc7('0x94')});}}return db[_0x0bc7('0x95')]['create']({'body':_0xd4556c[_0x0bc7('0x56')]['body'],'OpenchannelAccountId':_0xd4556c[_0x0bc7('0x53')]['id'],'OpenchannelInteractionId':_0x30d145['id'],'direction':'in','ContactId':_0x540e46[_0x0bc7('0x8b')]['id'],'AttachmentId':_0xd4556c[_0x0bc7('0x56')][_0x0bc7('0x96')]});})[_0x0bc7('0x33')](function(_0x26dffb){_0x540e46[_0x0bc7('0x25')]=_0x26dffb;if(_0x540e46[_0x0bc7('0x8e')][_0x0bc7('0x97')]){return db[_0x0bc7('0x98')]['find']({'attributes':['id','name'],'where':{'id':_0x540e46[_0x0bc7('0x8e')][_0x0bc7('0x97')]}})[_0x0bc7('0x33')](function(_0x4fc985){if(_0x4fc985){_0x540e46['applications'][_0x0bc7('0x99')]({'id':0x0,'priority':0x0,'app':_0x0bc7('0x9a'),'appdata':_0x4fc985[_0x0bc7('0x37')]+','+(_0x540e46['account'][_0x0bc7('0x9b')]||0xa),'interval':_0x0bc7('0x94')});_0x540e46[_0x0bc7('0x9c')]=![];}return respondWithRpcPromise('Start','startRouting',_0x540e46);});}return respondWithRpcPromise(_0x0bc7('0x9d'),_0x0bc7('0x9e'),_0x540e46);})[_0x0bc7('0x33')](function(_0x35ade6){respondWithRpcPromise('EventManager',_0x0bc7('0x9f'),{'event':_0x0bc7('0xa0'),'message':_0x35ade6},client9002);return _0x35ade6;})[_0x0bc7('0x33')](respondWithResult(_0x523d04,null))[_0x0bc7('0x28')](handleError(_0x523d04,null));};exports[_0x0bc7('0xa1')]=function(_0x4c9fec,_0x56dcef){var _0x385699=_0x4c9fec[_0x0bc7('0x53')]['id'];var _0x5e7251=_0x4c9fec[_0x0bc7('0x56')];var _0x491142=0xc8;var _0xe45ed7=null;return db[_0x0bc7('0xa2')][_0x0bc7('0xa3')]({'isolationLevel':db['sequelize'][_0x0bc7('0xa4')][_0x0bc7('0xa5')][_0x0bc7('0xa6')]},function(_0x152b70){return db[_0x0bc7('0x3b')]['findOne']({'where':{'id':_0x385699},'transaction':_0x152b70})[_0x0bc7('0x33')](function(_0x5eb47f){if(_0x5eb47f){return db[_0x0bc7('0x7d')]['destroy']({'where':{'OpenchannelAccountId':_0x385699},'transaction':_0x152b70})[_0x0bc7('0x33')](function(){var _0x4d8284=_[_0x0bc7('0x3a')](_0x5e7251,function(_0x210f23){_0x210f23[_0x0bc7('0x60')]=_0x385699;return _0x210f23;});return db[_0x0bc7('0x7d')]['bulkCreate'](_0x4d8284,{'transaction':_0x152b70});});}else{_0x491142=0x194;_0xe45ed7=[];}});})[_0x0bc7('0x33')](function(){if(_0x491142!==0x194){return db[_0x0bc7('0x7d')]['findAndCountAll']({'where':{'OpenchannelAccountId':_0x385699},'order':_0x0bc7('0x81')})[_0x0bc7('0x33')](function(_0x54d0cd){_0xe45ed7=_0x54d0cd;});}})['catch'](function(_0x4fcd40){_0x491142=0x1f4;logger[_0x0bc7('0x23')](_0x4fcd40[_0x0bc7('0xa7')]);if(_0x4fcd40[_0x0bc7('0x37')]){delete _0x4fcd40[_0x0bc7('0x37')];}_0xe45ed7=_0x4fcd40;})[_0x0bc7('0xa8')](function(){if(_0xe45ed7===null){_0x56dcef[_0x0bc7('0xa9')](_0x491142);}else{if(_0x491142===0x1f4){_0x56dcef[_0x0bc7('0x2a')](_0x491142)[_0x0bc7('0xaa')](_0xe45ed7);}else{_0x56dcef[_0x0bc7('0x2a')](_0x491142)['json'](_0xe45ed7);}}});};exports['getApplications']=function(_0x235759,_0x2dea19,_0x8fc146){var _0x77a17e={};var _0x269ec6={};var _0x32583f;var _0x49f8ae;return db[_0x0bc7('0x3b')][_0x0bc7('0x62')]({'where':{'id':_0x235759[_0x0bc7('0x53')]['id']}})[_0x0bc7('0x33')](handleEntityNotFound(_0x2dea19,null))[_0x0bc7('0x33')](function(_0x3fd5ba){if(_0x3fd5ba){_0x32583f=_0x3fd5ba;_0x269ec6[_0x0bc7('0x3e')]=_['keys'](db['OpenchannelApplication']['rawAttributes']);_0x269ec6['query']=_[_0x0bc7('0x3f')](_0x235759[_0x0bc7('0x40')]);_0x269ec6[_0x0bc7('0x41')]=_[_0x0bc7('0x42')](_0x269ec6[_0x0bc7('0x3e')],_0x269ec6['query']);_0x77a17e['attributes']=_[_0x0bc7('0x42')](_0x269ec6['model'],qs[_0x0bc7('0x44')](_0x235759['query'][_0x0bc7('0x44')]));_0x77a17e['attributes']=_0x77a17e['attributes'][_0x0bc7('0x6a')]?_0x77a17e['attributes']:_0x269ec6[_0x0bc7('0x3e')];_0x77a17e['order']=qs['sort'](_0x235759['query'][_0x0bc7('0x48')]);_0x77a17e[_0x0bc7('0x49')]=qs['filters'](_[_0x0bc7('0x4a')](_0x235759[_0x0bc7('0x40')],_0x269ec6['filters']));if(_0x235759[_0x0bc7('0x40')][_0x0bc7('0x4b')]){_0x77a17e[_0x0bc7('0x49')]=_[_0x0bc7('0x4c')](_0x77a17e[_0x0bc7('0x49')],{'$or':_[_0x0bc7('0x3a')](_0x77a17e[_0x0bc7('0x43')],function(_0x48c789){var _0x35945b={};_0x35945b[_0x48c789]={'$like':'%'+_0x235759[_0x0bc7('0x40')][_0x0bc7('0x4b')]+'%'};return _0x35945b;})});}_0x77a17e=_[_0x0bc7('0x4c')]({},_0x77a17e,_0x235759[_0x0bc7('0x64')]);return _0x32583f['getApplications'](_0x77a17e);}})[_0x0bc7('0x33')](function(_0x351cc1){if(_0x351cc1){_0x49f8ae=_0x351cc1[_0x0bc7('0x6a')];if(!_0x235759[_0x0bc7('0x40')][_0x0bc7('0x45')](_0x0bc7('0x46'))){_0x77a17e['limit']=qs[_0x0bc7('0x2f')](_0x235759[_0x0bc7('0x40')]['limit']);_0x77a17e[_0x0bc7('0x2c')]=qs[_0x0bc7('0x2c')](_0x235759[_0x0bc7('0x40')][_0x0bc7('0x2c')]);}return _0x32583f[_0x0bc7('0xab')](_0x77a17e);}})['then'](function(_0x947274){if(_0x947274){return _0x947274?{'count':_0x49f8ae,'rows':_0x947274}:null;}})[_0x0bc7('0x33')](respondWithResult(_0x2dea19,null))['catch'](handleError(_0x2dea19,null));};exports['getInteractions']=function(_0x129a8b,_0x1f0c26,_0x3e5b83){var _0x545498={'raw':![],'where':{}};var _0x2351ae={};var _0x1bb5be={'count':0x0,'rows':[]};return db[_0x0bc7('0x3b')][_0x0bc7('0x62')]({'where':{'id':_0x129a8b[_0x0bc7('0x53')]['id']}})['then'](handleEntityNotFound(_0x1f0c26,null))[_0x0bc7('0x33')](function(_0x114ebb){if(_0x114ebb){_0x2351ae[_0x0bc7('0x3e')]=_[_0x0bc7('0x3f')](db[_0x0bc7('0x87')]['rawAttributes']);_0x2351ae[_0x0bc7('0x40')]=_[_0x0bc7('0x3f')](_0x129a8b[_0x0bc7('0x40')]);_0x2351ae[_0x0bc7('0x41')]=_[_0x0bc7('0x42')](_0x2351ae[_0x0bc7('0x3e')],_0x2351ae[_0x0bc7('0x40')]);_0x545498[_0x0bc7('0x43')]=_['intersection'](_0x2351ae[_0x0bc7('0x3e')],qs['fields'](_0x129a8b[_0x0bc7('0x40')][_0x0bc7('0x44')]));_0x545498['attributes']=_0x545498[_0x0bc7('0x43')]['length']?_0x545498[_0x0bc7('0x43')]:_0x2351ae[_0x0bc7('0x3e')];if(!_0x129a8b['query'][_0x0bc7('0x45')](_0x0bc7('0x46'))){_0x545498[_0x0bc7('0x2f')]=qs['limit'](_0x129a8b[_0x0bc7('0x40')][_0x0bc7('0x2f')]);_0x545498['offset']=qs[_0x0bc7('0x2c')](_0x129a8b['query'][_0x0bc7('0x2c')]);}_0x545498['order']=qs[_0x0bc7('0x48')](_0x129a8b['query']['sort']);_0x545498[_0x0bc7('0x49')]=qs[_0x0bc7('0x41')](_[_0x0bc7('0x4a')](_0x129a8b[_0x0bc7('0x40')],_0x2351ae[_0x0bc7('0x41')]));_0x545498[_0x0bc7('0x49')][_0x0bc7('0x60')]=_0x114ebb['id'];if(_0x129a8b[_0x0bc7('0x40')]['filter']){_0x545498[_0x0bc7('0x49')]=_[_0x0bc7('0x4c')](_0x545498['where'],{'$or':_['map'](_0x545498[_0x0bc7('0x43')],function(_0x5b8985){var _0x2a6a22={};_0x2a6a22[_0x5b8985]={'$like':'%'+_0x129a8b[_0x0bc7('0x40')]['filter']+'%'};return _0x2a6a22;})});}_0x545498=_[_0x0bc7('0x4c')]({},_0x545498,_0x129a8b['options']);return db[_0x0bc7('0x87')][_0x0bc7('0x2e')]({'where':_0x545498['where']})[_0x0bc7('0x33')](function(_0x13f343){_0x1bb5be[_0x0bc7('0x2e')]=_0x13f343;if(_0x129a8b[_0x0bc7('0x40')][_0x0bc7('0x4e')]){_0x545498['include']=[{'model':db[_0x0bc7('0x6c')],'as':_0x0bc7('0xac'),'required':![]},{'model':db[_0x0bc7('0x98')],'as':_0x0bc7('0xad'),'attributes':[_0x0bc7('0x37'),_0x0bc7('0xae'),_0x0bc7('0xaf')],'required':![]},{'model':db[_0x0bc7('0xb0')],'as':_0x0bc7('0xb1'),'attributes':['id','name','color'],'where':_0x129a8b[_0x0bc7('0x40')][_0x0bc7('0xb2')]?{'id':_0x129a8b[_0x0bc7('0x40')][_0x0bc7('0xb2')]}:undefined,'required':_0x129a8b[_0x0bc7('0x40')]['tag']?!![]:![]}];}return db[_0x0bc7('0x87')][_0x0bc7('0x50')](_0x545498);})[_0x0bc7('0x33')](function(_0x2437c0){_0x1bb5be[_0x0bc7('0x51')]=_0x2437c0;return _0x1bb5be;});}})['then'](respondWithFilteredResult(_0x1f0c26,_0x545498))['catch'](handleError(_0x1f0c26,null));};exports[_0x0bc7('0xb3')]=function(_0xeaf929,_0x5dfd9f,_0x259b4f){return db['OpenchannelAccount'][_0x0bc7('0x55')]({'where':{'id':_0xeaf929[_0x0bc7('0x53')]['id']}})['then'](handleEntityNotFound(_0x5dfd9f,null))[_0x0bc7('0x33')](function(_0x3adebf){if(_0x3adebf){return _0x3adebf['addAgents'](_0xeaf929[_0x0bc7('0x56')][_0x0bc7('0x67')],_[_0x0bc7('0xb4')](_0xeaf929[_0x0bc7('0x56')],[_0x0bc7('0x67'),'id'])||{})['spread'](function(_0x445996){for(var _0x50dc66=0x0;_0x50dc66<_0xeaf929['body'][_0x0bc7('0x67')][_0x0bc7('0x6a')];_0x50dc66+=0x1){socket[_0x0bc7('0xb5')](_0x0bc7('0xb6'),{'UserId':Number(_0xeaf929[_0x0bc7('0x56')][_0x0bc7('0x67')][_0x50dc66]),'OpenchannelAccountId':Number(_0xeaf929[_0x0bc7('0x53')]['id'])});}return _0x445996;});}})[_0x0bc7('0x33')](respondWithResult(_0x5dfd9f,null))['catch'](handleError(_0x5dfd9f,null));};exports['removeAgents']=function(_0x1013c3,_0x15fb2e,_0x39b80e){return db[_0x0bc7('0x3b')][_0x0bc7('0x55')]({'where':{'id':_0x1013c3['params']['id']}})['then'](handleEntityNotFound(_0x15fb2e,null))[_0x0bc7('0x33')](function(_0x616eb2){if(_0x616eb2){return _0x616eb2[_0x0bc7('0xb7')](_0x1013c3['query'][_0x0bc7('0x67')])['then'](function(){if(_['isArray'](_0x1013c3[_0x0bc7('0x40')][_0x0bc7('0x67')])){for(var _0x22b255=0x0;_0x22b255<_0x1013c3[_0x0bc7('0x40')][_0x0bc7('0x67')][_0x0bc7('0x6a')];_0x22b255+=0x1){socket[_0x0bc7('0xb5')](_0x0bc7('0xb8'),{'UserId':Number(_0x1013c3[_0x0bc7('0x40')][_0x0bc7('0x67')][_0x22b255]),'OpenchannelAccountId':Number(_0x1013c3[_0x0bc7('0x53')]['id'])});}}else{socket['emit'](_0x0bc7('0xb8'),{'UserId':Number(_0x1013c3[_0x0bc7('0x40')][_0x0bc7('0x67')]),'OpenchannelAccountId':Number(_0x1013c3[_0x0bc7('0x53')]['id'])});}});}})['then'](respondWithStatusCode(_0x15fb2e,null))[_0x0bc7('0x28')](handleError(_0x15fb2e,null));};exports['getAgents']=function(_0x21824c,_0x16ed19,_0x2b4e0f){var _0x3a8f3e={};var _0x88feac={};var _0x5b0a74;var _0x314d33;return db['OpenchannelAccount'][_0x0bc7('0x62')]({'where':{'id':_0x21824c[_0x0bc7('0x53')]['id']}})['then'](handleEntityNotFound(_0x16ed19,null))[_0x0bc7('0x33')](function(_0x42e045){if(_0x42e045){_0x5b0a74=_0x42e045;_0x88feac[_0x0bc7('0x3e')]=_[_0x0bc7('0x3f')](db[_0x0bc7('0x98')][_0x0bc7('0x63')]);_0x88feac[_0x0bc7('0x40')]=_[_0x0bc7('0x3f')](_0x21824c[_0x0bc7('0x40')]);_0x88feac[_0x0bc7('0x41')]=_[_0x0bc7('0x42')](_0x88feac[_0x0bc7('0x3e')],_0x88feac[_0x0bc7('0x40')]);_0x3a8f3e[_0x0bc7('0x43')]=_['intersection'](_0x88feac[_0x0bc7('0x3e')],qs[_0x0bc7('0x44')](_0x21824c[_0x0bc7('0x40')][_0x0bc7('0x44')]));_0x3a8f3e[_0x0bc7('0x43')]=_0x3a8f3e[_0x0bc7('0x43')][_0x0bc7('0x6a')]?_0x3a8f3e['attributes']:_0x88feac[_0x0bc7('0x3e')];_0x3a8f3e[_0x0bc7('0x47')]=qs[_0x0bc7('0x48')](_0x21824c['query'][_0x0bc7('0x48')]);_0x3a8f3e['where']=qs[_0x0bc7('0x41')](_[_0x0bc7('0x4a')](_0x21824c[_0x0bc7('0x40')],_0x88feac['filters']));if(_0x21824c[_0x0bc7('0x40')]['filter']){_0x3a8f3e[_0x0bc7('0x49')]=_[_0x0bc7('0x4c')](_0x3a8f3e['where'],{'$or':_[_0x0bc7('0x3a')](_0x3a8f3e[_0x0bc7('0x43')],function(_0x1ffa3a){var _0x198791={};_0x198791[_0x1ffa3a]={'$like':'%'+_0x21824c[_0x0bc7('0x40')][_0x0bc7('0x4b')]+'%'};return _0x198791;})});}_0x3a8f3e=_[_0x0bc7('0x4c')]({},_0x3a8f3e,_0x21824c[_0x0bc7('0x64')]);return _0x5b0a74['getAgents'](_0x3a8f3e);}})[_0x0bc7('0x33')](function(_0x11c597){if(_0x11c597){_0x314d33=_0x11c597[_0x0bc7('0x6a')];if(!_0x21824c[_0x0bc7('0x40')][_0x0bc7('0x45')](_0x0bc7('0x46'))){_0x3a8f3e[_0x0bc7('0x2f')]=qs[_0x0bc7('0x2f')](_0x21824c[_0x0bc7('0x40')][_0x0bc7('0x2f')]);_0x3a8f3e[_0x0bc7('0x2c')]=qs[_0x0bc7('0x2c')](_0x21824c['query']['offset']);}return _0x5b0a74[_0x0bc7('0xb9')](_0x3a8f3e);}})['then'](function(_0xa2509d){if(_0xa2509d){return _0xa2509d?{'count':_0x314d33,'rows':_0xa2509d}:null;}})['then'](respondWithResult(_0x16ed19,null))[_0x0bc7('0x28')](handleError(_0x16ed19,null));};exports['send']=function(_0x14d76c,_0xd60f10,_0x3cd451){var _0x4a0b50,_0x3f0be6,_0x19bd8b;if(_['isNil'](_0x14d76c['body']['body'])||_0x14d76c[_0x0bc7('0x56')][_0x0bc7('0x56')]===''){throw new db[(_0x0bc7('0x6d'))][(_0x0bc7('0x6e'))](_0x0bc7('0x77'));}if(_[_0x0bc7('0x74')](_0x14d76c[_0x0bc7('0x56')]['to'])){}_0x4a0b50=_0x14d76c['body']['to'];return db['OpenchannelAccount'][_0x0bc7('0x62')]({'where':{'id':_0x14d76c['params']['id']}})[_0x0bc7('0x33')](handleEntityNotFound(_0xd60f10,null))['then'](function(_0xbf9599){if(_0xbf9599){return db[_0x0bc7('0x3b')][_0x0bc7('0x55')]({'where':{'id':_0xbf9599['id']},'include':[{'model':db[_0x0bc7('0xba')],'as':_0x0bc7('0x7b'),'include':[{'model':db[_0x0bc7('0x6c')],'as':_0x0bc7('0x7c'),'where':{[_0xbf9599[_0x0bc7('0x78')]]:_0x4a0b50},'limit':0x1,'order':[[_0x0bc7('0x72'),'DESC']]}]}]})[_0x0bc7('0x33')](handleEntityNotFound(_0xd60f10,null))[_0x0bc7('0x33')](function(_0x4ffb42){if(_0x4ffb42&&_0x4ffb42[_0x0bc7('0x7b')]){_0x3f0be6=_0x4ffb42[_0x0bc7('0x34')]({'plain':!![]});if(_0x3f0be6[_0x0bc7('0x7b')]&&_0x3f0be6[_0x0bc7('0x7b')][_0x0bc7('0x7c')][_0x0bc7('0x6a')]){return _0x3f0be6[_0x0bc7('0x7b')]['Contacts'][0x0];}return db[_0x0bc7('0x6c')][_0x0bc7('0x5c')](_[_0x0bc7('0x18')](_0x14d76c[_0x0bc7('0x56')],{'firstName':_0x4a0b50,[_0x4ffb42['mapKey']]:_0x4a0b50,'phone':_0x4a0b50,'ListId':_0x3f0be6['ListId']}));}})[_0x0bc7('0x33')](handleEntityNotFound(_0xd60f10,null))[_0x0bc7('0x33')](function(_0x38794d){if(_0x38794d){_0x19bd8b=_0x38794d;return db[_0x0bc7('0x87')][_0x0bc7('0x55')]({'where':{'ContactId':_0x19bd8b['id'],'closed':![],'OpenchannelAccountId':_0x3f0be6['id']}})[_0x0bc7('0x33')](function(_0x578fb8){if(_0x578fb8){return[_0x578fb8,![]];}return db[_0x0bc7('0x87')][_0x0bc7('0x5c')]({'UserId':_0x14d76c['user']['id'],'ContactId':_0x19bd8b['id'],'OpenchannelAccountId':_0x3f0be6['id'],'lastMsgDirection':_0x0bc7('0xbb'),'Messages':[_[_0x0bc7('0x4c')](_0x14d76c[_0x0bc7('0x56')],{'read':![],'body':_0x14d76c[_0x0bc7('0x56')][_0x0bc7('0x56')],'OpenchannelAccountId':_0x3f0be6['id'],'UserId':_0x14d76c[_0x0bc7('0x57')]['id'],'ContactId':_0x19bd8b['id']})]},{'include':[{'model':db['OpenchannelMessage'],'as':_0x0bc7('0xbc')}]})[_0x0bc7('0x33')](function(_0x45cfd1){return[_0x45cfd1,!![]];});});}})[_0x0bc7('0x8a')](function(_0x529614,_0xd139ac){if(_0xd139ac){return _0x529614;}return db[_0x0bc7('0x95')][_0x0bc7('0x5c')](_[_0x0bc7('0x4c')](_0x14d76c[_0x0bc7('0x56')],{'read':![],'body':_0x14d76c[_0x0bc7('0x56')][_0x0bc7('0x56')],'OpenchannelAccountId':_0x3f0be6['id'],'OpenchannelInteractionId':_0x529614['id'],'UserId':_0x14d76c[_0x0bc7('0x57')]['id'],'ContactId':_0x19bd8b['id']}))['then'](function(_0x2cc445){_0x529614[_0x0bc7('0xbd')][_0x0bc7('0xbc')]=[];_0x529614['dataValues'][_0x0bc7('0xbc')][_0x0bc7('0x91')](_0x2cc445[_0x0bc7('0xbd')]);return _0x529614;});});}})[_0x0bc7('0x33')](respondWithResult(_0xd60f10,null))[_0x0bc7('0x28')](handleError(_0xd60f10,null));};