2ce26b6ef76c01cf5edc00ae2498ab438fd86671
[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 _0xf2da=['user','find','userProfileId','describe','addDisposition','OpnechannelAccountId','getDispositions','hasOwnProperty','order','Disposition','removeDispositions','ids','CannedAnswer','findOne','OpenchannelAccountId','removeAnswers','notify','CmContact','no\x20available\x20attributes','createdAt','updatedAt','ListId','isNil','from','from\x20is\x20mandatory','mapKey\x20is\x20mandatory,\x20please\x20use\x20one\x20of\x20these:\x20','includes','mapKey','CmList','List','Contacts','DESC','OpenchannelApplication','Applications','account','applications','list','orderBy','priority','asc','contact','firstName','threadId','OpenchannelInteraction','externalUrl','ContactId','spread','messageId','interaction','created','autoclose','push','close','unmanaged','*,*,*,*','OpenchannelMessage','User','agent','Start','startRouting','EventManager','addApplications','bulkCreate','findAndCountAll','getApplications','getInteractions','Contact','Owner','fullname','internal','Tag','Tags','color','tag','findAll','addAgents','omit','emit','userOpenchannelAccount:save','removeAgents','userOpenchannelAccount:remove','getAgents','out','Messages','dataValues','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','util','path','sox','ejs','lodash','squel','crypto','desk.js','to-csv','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../mysqldb','defaults','jayson/promise','client','http','test','Sequelize','ValidationError','The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.','then','info','OpenchannelAccount,\x20%s,\x20%s','request\x20sent','debug','OpenchannelAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','sendStatus','status','end','count','offset','limit','set','Content-Range','json','reject','save','update','destroy','OpenchannelAccounts','UserProfileResource','name','send','index','Pause','mandatoryDispositionPause','OpenchannelAccount','rawAttributes','fieldName','key','model','map','query','keys','intersection','fields','attributes','length','nolimit','sort','filters','pick','filter','where','merge','type','VIRTUAL','includeAll','include','rows','params','options','create','body','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role'];(function(_0x4405ee,_0x4c485a){var _0x28f4ce=function(_0x325c13){while(--_0x325c13){_0x4405ee['push'](_0x4405ee['shift']());}};_0x28f4ce(++_0x4c485a);}(_0xf2da,0x107));var _0xaf2d=function(_0xe45118,_0x5dffbc){_0xe45118=_0xe45118-0x0;var _0x15e15d=_0xf2da[_0xe45118];return _0x15e15d;};'use strict';var pdf=require(_0xaf2d('0x0'));var emlformat=require(_0xaf2d('0x1'));var rimraf=require(_0xaf2d('0x2'));var zipdir=require(_0xaf2d('0x3'));var jsonpatch=require(_0xaf2d('0x4'));var rp=require('request-promise');var moment=require(_0xaf2d('0x5'));var BPromise=require(_0xaf2d('0x6'));var Mustache=require('mustache');var util=require(_0xaf2d('0x7'));var path=require(_0xaf2d('0x8'));var sox=require(_0xaf2d('0x9'));var csv=require('to-csv');var ejs=require(_0xaf2d('0xa'));var fs=require('fs');var _=require(_0xaf2d('0xb'));var squel=require(_0xaf2d('0xc'));var crypto=require(_0xaf2d('0xd'));var jsforce=require('jsforce');var deskjs=require(_0xaf2d('0xe'));var toCsv=require(_0xaf2d('0xf'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0xaf2d('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0xaf2d('0x11'));var hardwareService=require(_0xaf2d('0x12'));var logger=require(_0xaf2d('0x13'))('api');var utils=require(_0xaf2d('0x14'));var config=require('../../config/environment');var db=require(_0xaf2d('0x15'))['db'];config['redis']=_[_0xaf2d('0x16')](config['redis'],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require('./openchannelAccount.socket')['register'](socket);var jayson=require(_0xaf2d('0x17'));var client=jayson[_0xaf2d('0x18')][_0xaf2d('0x19')]({'port':0x232c});var client9002=jayson[_0xaf2d('0x18')][_0xaf2d('0x19')]({'port':0x232a});function checkPasswordPattern(_0x48bdff,_0x162ebb,_0x12c180){if(_0x12c180){var _0x4f16a7=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x4f16a7[_0xaf2d('0x1a')](_0x162ebb)){return _0x48bdff;}else{throw new db[(_0xaf2d('0x1b'))][(_0xaf2d('0x1c'))](_0xaf2d('0x1d'));}}else{return _0x48bdff;}}function respondWithRpcPromise(_0x2cc88e,_0x4a5a7e,_0x2a282b,_0x818bce){return new BPromise(function(_0x55ad15,_0x53b438){var _0x14a456=_0x818bce||client;return _0x14a456['request'](_0x2cc88e,_0x2a282b)[_0xaf2d('0x1e')](function(_0x15e614){logger[_0xaf2d('0x1f')](_0xaf2d('0x20'),_0x4a5a7e,_0xaf2d('0x21'));logger[_0xaf2d('0x22')](_0xaf2d('0x23'),_0x4a5a7e,_0xaf2d('0x21'),JSON[_0xaf2d('0x24')](_0x15e614));if(_0x15e614[_0xaf2d('0x25')]){if(_0x15e614[_0xaf2d('0x25')][_0xaf2d('0x26')]===0x1f4){logger[_0xaf2d('0x25')](_0xaf2d('0x20'),_0x4a5a7e,_0x15e614[_0xaf2d('0x25')]['message']);return _0x53b438(_0x15e614['error']['message']);}logger[_0xaf2d('0x25')](_0xaf2d('0x20'),_0x4a5a7e,_0x15e614[_0xaf2d('0x25')][_0xaf2d('0x27')]);return _0x55ad15(_0x15e614[_0xaf2d('0x25')][_0xaf2d('0x27')]);}else{logger[_0xaf2d('0x1f')](_0xaf2d('0x20'),_0x4a5a7e,_0xaf2d('0x21'));_0x55ad15(_0x15e614[_0xaf2d('0x28')][_0xaf2d('0x27')]);}})[_0xaf2d('0x29')](function(_0x3c99e9){logger[_0xaf2d('0x25')](_0xaf2d('0x20'),_0x4a5a7e,_0x3c99e9);_0x53b438(_0x3c99e9);});});}function respondWithStatusCode(_0x459f3e,_0x42c033){_0x42c033=_0x42c033||0xcc;return function(_0x12bbfa){if(_0x12bbfa){return _0x459f3e[_0xaf2d('0x2a')](_0x42c033);}return _0x459f3e[_0xaf2d('0x2b')](_0x42c033)[_0xaf2d('0x2c')]();};}function respondWithResult(_0x3eb45d,_0x590a0b){_0x590a0b=_0x590a0b||0xc8;return function(_0x2e35d0){if(_0x2e35d0){return _0x3eb45d['status'](_0x590a0b)['json'](_0x2e35d0);}};}function respondWithFilteredResult(_0x41bc6f,_0x8f0319){return function(_0x3ecb91){if(_0x3ecb91){var _0x13f6e4=_0x3ecb91[_0xaf2d('0x2d')],_0x11618d=_0x8f0319[_0xaf2d('0x2e')],_0x2f9f7a=_0x8f0319[_0xaf2d('0x2e')]+_0x8f0319[_0xaf2d('0x2f')],_0x2d9fec;if(_0x2f9f7a>=_0x13f6e4){_0x2f9f7a=_0x13f6e4;_0x2d9fec=0xc8;}else{_0x2d9fec=0xce;}_0x41bc6f[_0xaf2d('0x2b')](_0x2d9fec);return _0x41bc6f[_0xaf2d('0x30')](_0xaf2d('0x31'),_0x11618d+'-'+_0x2f9f7a+'/'+_0x13f6e4)[_0xaf2d('0x32')](_0x3ecb91);}return null;};}function patchUpdates(_0x4b77db){return function(_0x38b75a){try{jsonpatch['apply'](_0x38b75a,_0x4b77db,!![]);}catch(_0x1fc3b7){return BPromise[_0xaf2d('0x33')](_0x1fc3b7);}return _0x38b75a[_0xaf2d('0x34')]();};}function saveUpdates(_0x4707df,_0xc62b58){return function(_0x1ef2ed){if(_0x1ef2ed){return _0x1ef2ed[_0xaf2d('0x35')](_0x4707df)[_0xaf2d('0x1e')](function(_0x15faed){return _0x15faed;});}return null;};}function removeEntity(_0xef9beb,_0x790a2e){return function(_0x41060c){if(_0x41060c){return _0x41060c[_0xaf2d('0x36')]()[_0xaf2d('0x1e')](function(){var _0x31e3c9=_0x41060c['get']({'plain':!![]});var _0x34d491=_0xaf2d('0x37');return db[_0xaf2d('0x38')]['destroy']({'where':{'type':_0x34d491,'resourceId':_0x31e3c9['id']}})[_0xaf2d('0x1e')](function(){return _0x41060c;});})[_0xaf2d('0x1e')](function(){_0xef9beb['status'](0xcc)[_0xaf2d('0x2c')]();});}};}function handleEntityNotFound(_0x35df0a,_0x428195){return function(_0x41ae49){if(!_0x41ae49){_0x35df0a[_0xaf2d('0x2a')](0x194);}return _0x41ae49;};}function handleError(_0x160ff2,_0x5ae5cb){_0x5ae5cb=_0x5ae5cb||0x1f4;return function(_0x58de55){logger[_0xaf2d('0x25')](_0x58de55['stack']);if(_0x58de55[_0xaf2d('0x39')]){delete _0x58de55['name'];}_0x160ff2[_0xaf2d('0x2b')](_0x5ae5cb)[_0xaf2d('0x3a')](_0x58de55);};}exports[_0xaf2d('0x3b')]=function(_0x4cae64,_0x38d00c){var _0xb4e6c9={'include':[{'model':db[_0xaf2d('0x3c')],'as':_0xaf2d('0x3d')}]},_0x3a23fb={},_0x3a8f40={'count':0x0,'rows':[]};var _0x421724=_['map'](db[_0xaf2d('0x3e')][_0xaf2d('0x3f')],function(_0x317008){return{'name':_0x317008[_0xaf2d('0x40')],'type':_0x317008['type'][_0xaf2d('0x41')]};});_0x3a23fb[_0xaf2d('0x42')]=_[_0xaf2d('0x43')](_0x421724,'name');_0x3a23fb[_0xaf2d('0x44')]=_[_0xaf2d('0x45')](_0x4cae64[_0xaf2d('0x44')]);_0x3a23fb['filters']=_[_0xaf2d('0x46')](_0x3a23fb[_0xaf2d('0x42')],_0x3a23fb[_0xaf2d('0x44')]);_0xb4e6c9['attributes']=_['intersection'](_0x3a23fb['model'],qs['fields'](_0x4cae64[_0xaf2d('0x44')][_0xaf2d('0x47')]));_0xb4e6c9[_0xaf2d('0x48')]=_0xb4e6c9[_0xaf2d('0x48')][_0xaf2d('0x49')]?_0xb4e6c9[_0xaf2d('0x48')]:_0x3a23fb[_0xaf2d('0x42')];if(!_0x4cae64['query']['hasOwnProperty'](_0xaf2d('0x4a'))){_0xb4e6c9[_0xaf2d('0x2f')]=qs[_0xaf2d('0x2f')](_0x4cae64[_0xaf2d('0x44')][_0xaf2d('0x2f')]);_0xb4e6c9[_0xaf2d('0x2e')]=qs[_0xaf2d('0x2e')](_0x4cae64[_0xaf2d('0x44')]['offset']);}_0xb4e6c9['order']=qs[_0xaf2d('0x4b')](_0x4cae64['query'][_0xaf2d('0x4b')]);_0xb4e6c9['where']=qs[_0xaf2d('0x4c')](_[_0xaf2d('0x4d')](_0x4cae64[_0xaf2d('0x44')],_0x3a23fb[_0xaf2d('0x4c')]),_0x421724);if(_0x4cae64[_0xaf2d('0x44')][_0xaf2d('0x4e')]){_0xb4e6c9[_0xaf2d('0x4f')]=_[_0xaf2d('0x50')](_0xb4e6c9[_0xaf2d('0x4f')],{'$or':_[_0xaf2d('0x43')](_0x421724,function(_0xa3b6b5){if(_0xa3b6b5[_0xaf2d('0x51')]!==_0xaf2d('0x52')){var _0x3e14bf={};_0x3e14bf[_0xa3b6b5[_0xaf2d('0x39')]]={'$like':'%'+_0x4cae64[_0xaf2d('0x44')][_0xaf2d('0x4e')]+'%'};return _0x3e14bf;}})});}_0xb4e6c9=_[_0xaf2d('0x50')]({},_0xb4e6c9,_0x4cae64['options']);var _0x9b26e8={'where':_0xb4e6c9['where']};return db[_0xaf2d('0x3e')]['count'](_0x9b26e8)['then'](function(_0x3a4602){_0x3a8f40[_0xaf2d('0x2d')]=_0x3a4602;if(_0x4cae64['query'][_0xaf2d('0x53')]){_0xb4e6c9[_0xaf2d('0x54')]=[{'all':!![]}];}return db[_0xaf2d('0x3e')]['findAll'](_0xb4e6c9);})[_0xaf2d('0x1e')](function(_0x332e9b){_0x3a8f40[_0xaf2d('0x55')]=_0x332e9b;return _0x3a8f40;})[_0xaf2d('0x1e')](respondWithFilteredResult(_0x38d00c,_0xb4e6c9))['catch'](handleError(_0x38d00c,null));};exports['show']=function(_0x80b0fb,_0x1ee8d8){var _0x553f69={'raw':![],'where':{'id':_0x80b0fb[_0xaf2d('0x56')]['id']},'include':[{'model':db[_0xaf2d('0x3c')],'as':'mandatoryDispositionPause'}]},_0x26e74e={};_0x26e74e['model']=_[_0xaf2d('0x45')](db[_0xaf2d('0x3e')]['rawAttributes']);_0x26e74e['query']=_[_0xaf2d('0x45')](_0x80b0fb[_0xaf2d('0x44')]);_0x26e74e['filters']=_[_0xaf2d('0x46')](_0x26e74e[_0xaf2d('0x42')],_0x26e74e[_0xaf2d('0x44')]);_0x553f69[_0xaf2d('0x48')]=_[_0xaf2d('0x46')](_0x26e74e[_0xaf2d('0x42')],qs[_0xaf2d('0x47')](_0x80b0fb[_0xaf2d('0x44')]['fields']));_0x553f69[_0xaf2d('0x48')]=_0x553f69[_0xaf2d('0x48')][_0xaf2d('0x49')]?_0x553f69['attributes']:_0x26e74e[_0xaf2d('0x42')];if(_0x80b0fb['query']['includeAll']){_0x553f69[_0xaf2d('0x54')]=[{'all':!![]}];}_0x553f69=_[_0xaf2d('0x50')]({},_0x553f69,_0x80b0fb[_0xaf2d('0x57')]);return db[_0xaf2d('0x3e')]['find'](_0x553f69)['then'](handleEntityNotFound(_0x1ee8d8,null))[_0xaf2d('0x1e')](respondWithResult(_0x1ee8d8,null))[_0xaf2d('0x29')](handleError(_0x1ee8d8,null));};exports['create']=function(_0x456f67,_0x4579e8){return db[_0xaf2d('0x3e')][_0xaf2d('0x58')](_0x456f67[_0xaf2d('0x59')],{})[_0xaf2d('0x1e')](function(_0x342a31){var _0x32869f=_0x456f67['user'][_0xaf2d('0x5a')]({'plain':!![]});if(!_0x32869f)throw new Error(_0xaf2d('0x5b'));if(_0x32869f[_0xaf2d('0x5c')]===_0xaf2d('0x5d')){var _0x428fe7=_0x342a31['get']({'plain':!![]});var _0x29f277=_0xaf2d('0x37');return db['UserProfileSection'][_0xaf2d('0x5e')]({'where':{'name':_0x29f277,'userProfileId':_0x32869f[_0xaf2d('0x5f')]},'raw':!![]})[_0xaf2d('0x1e')](function(_0xd82d04){if(_0xd82d04&&_0xd82d04['autoAssociation']===0x0){return db[_0xaf2d('0x38')][_0xaf2d('0x58')]({'name':_0x428fe7[_0xaf2d('0x39')],'resourceId':_0x428fe7['id'],'type':_0xd82d04[_0xaf2d('0x39')],'sectionId':_0xd82d04['id']},{})[_0xaf2d('0x1e')](function(){return _0x342a31;});}else{return _0x342a31;}})[_0xaf2d('0x29')](function(_0x187fb4){logger['error']('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x187fb4);throw _0x187fb4;});}return _0x342a31;})[_0xaf2d('0x1e')](respondWithResult(_0x4579e8,0xc9))['catch'](handleError(_0x4579e8,null));};exports['update']=function(_0x28ba0c,_0x5a31bf){if(_0x28ba0c[_0xaf2d('0x59')]['id']){delete _0x28ba0c['body']['id'];}return db[_0xaf2d('0x3e')][_0xaf2d('0x5e')]({'where':{'id':_0x28ba0c[_0xaf2d('0x56')]['id']},'include':[{'model':db[_0xaf2d('0x3c')],'as':_0xaf2d('0x3d')}]})[_0xaf2d('0x1e')](handleEntityNotFound(_0x5a31bf,null))[_0xaf2d('0x1e')](saveUpdates(_0x28ba0c[_0xaf2d('0x59')],null))[_0xaf2d('0x1e')](respondWithResult(_0x5a31bf,null))[_0xaf2d('0x29')](handleError(_0x5a31bf,null));};exports[_0xaf2d('0x36')]=function(_0x1cd06f,_0x21c0bc){return db[_0xaf2d('0x3e')][_0xaf2d('0x5e')]({'where':{'id':_0x1cd06f[_0xaf2d('0x56')]['id']}})[_0xaf2d('0x1e')](handleEntityNotFound(_0x21c0bc,null))[_0xaf2d('0x1e')](removeEntity(_0x21c0bc,null))[_0xaf2d('0x29')](handleError(_0x21c0bc,null));};exports['describe']=function(_0x213d23,_0x1716d2){return db[_0xaf2d('0x3e')][_0xaf2d('0x60')]()[_0xaf2d('0x1e')](respondWithResult(_0x1716d2,null))[_0xaf2d('0x29')](handleError(_0x1716d2,null));};exports[_0xaf2d('0x61')]=function(_0x1b54a6,_0x8da117,_0x7c6dcc){if(_0x1b54a6[_0xaf2d('0x59')]['id']){delete _0x1b54a6['body']['id'];}return db['OpenchannelAccount']['find']({'where':{'id':_0x1b54a6[_0xaf2d('0x56')]['id']}})[_0xaf2d('0x1e')](handleEntityNotFound(_0x8da117,null))[_0xaf2d('0x1e')](function(_0x4f45d4){if(_0x4f45d4){_0x1b54a6[_0xaf2d('0x59')][_0xaf2d('0x62')]=_0x4f45d4['id'];return db['Disposition'][_0xaf2d('0x58')](_0x1b54a6[_0xaf2d('0x59')]);}})['then'](respondWithResult(_0x8da117,null))[_0xaf2d('0x29')](handleError(_0x8da117,null));};exports[_0xaf2d('0x63')]=function(_0x4b4540,_0x2ddf98,_0x156644){var _0x8b02f3={'raw':![],'where':{}};var _0xa3392e={};var _0x1d18c7={'count':0x0,'rows':[]};return db[_0xaf2d('0x3e')]['findOne']({'where':{'id':_0x4b4540[_0xaf2d('0x56')]['id']}})[_0xaf2d('0x1e')](handleEntityNotFound(_0x2ddf98,null))['then'](function(_0x256642){if(_0x256642){_0xa3392e['model']=_['keys'](db['Disposition'][_0xaf2d('0x3f')]);_0xa3392e['query']=_[_0xaf2d('0x45')](_0x4b4540['query']);_0xa3392e['filters']=_['intersection'](_0xa3392e['model'],_0xa3392e[_0xaf2d('0x44')]);_0x8b02f3[_0xaf2d('0x48')]=_['intersection'](_0xa3392e['model'],qs[_0xaf2d('0x47')](_0x4b4540['query'][_0xaf2d('0x47')]));_0x8b02f3[_0xaf2d('0x48')]=_0x8b02f3[_0xaf2d('0x48')][_0xaf2d('0x49')]?_0x8b02f3[_0xaf2d('0x48')]:_0xa3392e[_0xaf2d('0x42')];if(!_0x4b4540[_0xaf2d('0x44')][_0xaf2d('0x64')](_0xaf2d('0x4a'))){_0x8b02f3[_0xaf2d('0x2f')]=qs['limit'](_0x4b4540[_0xaf2d('0x44')][_0xaf2d('0x2f')]);_0x8b02f3[_0xaf2d('0x2e')]=qs[_0xaf2d('0x2e')](_0x4b4540[_0xaf2d('0x44')][_0xaf2d('0x2e')]);}_0x8b02f3[_0xaf2d('0x65')]=qs[_0xaf2d('0x4b')](_0x4b4540['query'][_0xaf2d('0x4b')]);_0x8b02f3[_0xaf2d('0x4f')]=qs[_0xaf2d('0x4c')](_[_0xaf2d('0x4d')](_0x4b4540[_0xaf2d('0x44')],_0xa3392e[_0xaf2d('0x4c')]));_0x8b02f3['where']['OpenchannelAccountId']=_0x256642['id'];if(_0x4b4540[_0xaf2d('0x44')][_0xaf2d('0x4e')]){_0x8b02f3[_0xaf2d('0x4f')]=_[_0xaf2d('0x50')](_0x8b02f3['where'],{'$or':_['map'](_0x8b02f3[_0xaf2d('0x48')],function(_0x372430){var _0x2ff7bc={};_0x2ff7bc[_0x372430]={'$like':'%'+_0x4b4540[_0xaf2d('0x44')][_0xaf2d('0x4e')]+'%'};return _0x2ff7bc;})});}_0x8b02f3=_['merge']({},_0x8b02f3,_0x4b4540[_0xaf2d('0x57')]);return db[_0xaf2d('0x66')][_0xaf2d('0x2d')]({'where':_0x8b02f3['where']})['then'](function(_0xbe4135){_0x1d18c7['count']=_0xbe4135;if(_0x4b4540['query']['includeAll']){_0x8b02f3['include']=[{'all':!![]}];}return db['Disposition']['findAll'](_0x8b02f3);})[_0xaf2d('0x1e')](function(_0x4e7040){_0x1d18c7[_0xaf2d('0x55')]=_0x4e7040;return _0x1d18c7;});}})[_0xaf2d('0x1e')](respondWithFilteredResult(_0x2ddf98,_0x8b02f3))[_0xaf2d('0x29')](handleError(_0x2ddf98,null));};exports[_0xaf2d('0x67')]=function(_0x3b5787,_0x27f237,_0x242f46){return db['OpenchannelAccount']['find']({'where':{'id':_0x3b5787[_0xaf2d('0x56')]['id']}})[_0xaf2d('0x1e')](handleEntityNotFound(_0x27f237,null))[_0xaf2d('0x1e')](function(_0x1f2ace){if(_0x1f2ace){return _0x1f2ace[_0xaf2d('0x67')](_0x3b5787['query'][_0xaf2d('0x68')]);}})[_0xaf2d('0x1e')](respondWithStatusCode(_0x27f237,null))[_0xaf2d('0x29')](handleError(_0x27f237,null));};exports['addAnswer']=function(_0xb3f2ad,_0x329c4e,_0x31547d){if(_0xb3f2ad[_0xaf2d('0x59')]['id']){delete _0xb3f2ad[_0xaf2d('0x59')]['id'];}return db[_0xaf2d('0x3e')][_0xaf2d('0x5e')]({'where':{'id':_0xb3f2ad[_0xaf2d('0x56')]['id']}})[_0xaf2d('0x1e')](handleEntityNotFound(_0x329c4e,null))[_0xaf2d('0x1e')](function(_0x52abf1){if(_0x52abf1){_0xb3f2ad['body']['OpenchannelAccountId']=_0x52abf1['id'];return db[_0xaf2d('0x69')][_0xaf2d('0x58')](_0xb3f2ad['body']);}})['then'](respondWithResult(_0x329c4e,null))[_0xaf2d('0x29')](handleError(_0x329c4e,null));};exports['getAnswers']=function(_0x45427c,_0x47ed28,_0x1e0475){var _0x25799a={'raw':![],'where':{}};var _0x19fdc3={};var _0x41a26d={'count':0x0,'rows':[]};return db[_0xaf2d('0x3e')][_0xaf2d('0x6a')]({'where':{'id':_0x45427c[_0xaf2d('0x56')]['id']}})['then'](handleEntityNotFound(_0x47ed28,null))['then'](function(_0x2a509e){if(_0x2a509e){_0x19fdc3[_0xaf2d('0x42')]=_['keys'](db[_0xaf2d('0x69')]['rawAttributes']);_0x19fdc3[_0xaf2d('0x44')]=_[_0xaf2d('0x45')](_0x45427c['query']);_0x19fdc3[_0xaf2d('0x4c')]=_[_0xaf2d('0x46')](_0x19fdc3['model'],_0x19fdc3[_0xaf2d('0x44')]);_0x25799a[_0xaf2d('0x48')]=_[_0xaf2d('0x46')](_0x19fdc3['model'],qs[_0xaf2d('0x47')](_0x45427c[_0xaf2d('0x44')][_0xaf2d('0x47')]));_0x25799a[_0xaf2d('0x48')]=_0x25799a[_0xaf2d('0x48')][_0xaf2d('0x49')]?_0x25799a[_0xaf2d('0x48')]:_0x19fdc3[_0xaf2d('0x42')];if(!_0x45427c['query']['hasOwnProperty'](_0xaf2d('0x4a'))){_0x25799a[_0xaf2d('0x2f')]=qs['limit'](_0x45427c[_0xaf2d('0x44')][_0xaf2d('0x2f')]);_0x25799a[_0xaf2d('0x2e')]=qs[_0xaf2d('0x2e')](_0x45427c['query']['offset']);}_0x25799a['order']=qs['sort'](_0x45427c['query'][_0xaf2d('0x4b')]);_0x25799a['where']=qs[_0xaf2d('0x4c')](_[_0xaf2d('0x4d')](_0x45427c[_0xaf2d('0x44')],_0x19fdc3[_0xaf2d('0x4c')]));_0x25799a[_0xaf2d('0x4f')][_0xaf2d('0x6b')]=_0x2a509e['id'];if(_0x45427c['query'][_0xaf2d('0x4e')]){_0x25799a[_0xaf2d('0x4f')]=_['merge'](_0x25799a[_0xaf2d('0x4f')],{'$or':_[_0xaf2d('0x43')](_0x25799a[_0xaf2d('0x48')],function(_0x29af68){var _0x3d439b={};_0x3d439b[_0x29af68]={'$like':'%'+_0x45427c[_0xaf2d('0x44')][_0xaf2d('0x4e')]+'%'};return _0x3d439b;})});}_0x25799a=_[_0xaf2d('0x50')]({},_0x25799a,_0x45427c[_0xaf2d('0x57')]);return db[_0xaf2d('0x69')]['count']({'where':_0x25799a[_0xaf2d('0x4f')]})[_0xaf2d('0x1e')](function(_0x464066){_0x41a26d[_0xaf2d('0x2d')]=_0x464066;if(_0x45427c[_0xaf2d('0x44')]['includeAll']){_0x25799a[_0xaf2d('0x54')]=[{'all':!![]}];}return db[_0xaf2d('0x69')]['findAll'](_0x25799a);})[_0xaf2d('0x1e')](function(_0x20ec88){_0x41a26d[_0xaf2d('0x55')]=_0x20ec88;return _0x41a26d;});}})[_0xaf2d('0x1e')](respondWithFilteredResult(_0x47ed28,_0x25799a))['catch'](handleError(_0x47ed28,null));};exports[_0xaf2d('0x6c')]=function(_0x5efaa6,_0x12e8e8,_0x5d2514){return db[_0xaf2d('0x3e')]['find']({'where':{'id':_0x5efaa6['params']['id']}})[_0xaf2d('0x1e')](handleEntityNotFound(_0x12e8e8,null))['then'](function(_0x528f6a){if(_0x528f6a){return _0x528f6a[_0xaf2d('0x6c')](_0x5efaa6['query'][_0xaf2d('0x68')]);}})['then'](respondWithStatusCode(_0x12e8e8,null))['catch'](handleError(_0x12e8e8,null));};exports[_0xaf2d('0x6d')]=function(_0x27bd60,_0x55b492,_0x300fc6){var _0x4c199f={'body':_0x27bd60[_0xaf2d('0x59')],'channel':'openchannel'};var _0x411c93=[];var _0xbaae34=[];var _0xe18304={};var _0xe0c0ac=![];return db[_0xaf2d('0x6e')][_0xaf2d('0x60')]()[_0xaf2d('0x1e')](function(_0x42a496){if(!_0x42a496){throw new db[(_0xaf2d('0x1b'))]['ValidationError'](_0xaf2d('0x6f'));}_0x411c93=_['difference'](_[_0xaf2d('0x45')](_0x42a496),[_0xaf2d('0x70'),'updatedAt']);_0xbaae34=_['difference'](_[_0xaf2d('0x45')](_0x42a496),[_0xaf2d('0x70'),_0xaf2d('0x71'),'CompanyId',_0xaf2d('0x72')]);if(_0x27bd60['body']['id']){delete _0x27bd60[_0xaf2d('0x59')]['id'];}if(_[_0xaf2d('0x73')](_0x27bd60['body'][_0xaf2d('0x74')])){throw new db['Sequelize'][(_0xaf2d('0x1c'))](_0xaf2d('0x75'));}if(_[_0xaf2d('0x73')](_0x27bd60['body'][_0xaf2d('0x59')])||_0x27bd60[_0xaf2d('0x59')][_0xaf2d('0x59')]===''){throw new db['Sequelize']['ValidationError']('body\x20is\x20mandatory\x20and\x20not\x20empty');}if(_['isNil'](_0x27bd60[_0xaf2d('0x59')]['mapKey'])){throw new db[(_0xaf2d('0x1b'))][(_0xaf2d('0x1c'))](_0xaf2d('0x76')+_0xbaae34);}if(!_[_0xaf2d('0x77')](_0xbaae34,_0x27bd60[_0xaf2d('0x59')]['mapKey'])){throw new db['Sequelize'][(_0xaf2d('0x1c'))]('mapKey\x20invalid,\x20please\x20use\x20one\x20of\x20these:\x20'+_0xbaae34);}_0xe18304[_0x27bd60[_0xaf2d('0x59')][_0xaf2d('0x78')]]=_0x27bd60[_0xaf2d('0x59')][_0xaf2d('0x74')];})[_0xaf2d('0x1e')](function(){return db[_0xaf2d('0x3e')]['find']({'where':{'id':_0x27bd60[_0xaf2d('0x56')]['id']},'include':[{'model':db[_0xaf2d('0x79')],'as':_0xaf2d('0x7a'),'include':[{'model':db[_0xaf2d('0x6e')],'as':_0xaf2d('0x7b'),'where':_0xe18304,'limit':0x1,'order':[[_0xaf2d('0x71'),_0xaf2d('0x7c')]]}]},{'model':db[_0xaf2d('0x7d')],'as':_0xaf2d('0x7e')}]});})[_0xaf2d('0x1e')](handleEntityNotFound(_0x55b492,null))[_0xaf2d('0x1e')](function(_0x59d279){if(_0x59d279&&_0x59d279[_0xaf2d('0x7a')]){_0x4c199f[_0xaf2d('0x7f')]=_0x59d279;_0x4c199f[_0xaf2d('0x80')]=_0x59d279['Applications'];_0x4c199f[_0xaf2d('0x81')]=_0x59d279['List'];_0x4c199f[_0xaf2d('0x80')]=_[_0xaf2d('0x82')](_0x4c199f[_0xaf2d('0x80')],[_0xaf2d('0x83')],[_0xaf2d('0x84')]);if(_0x4c199f[_0xaf2d('0x7f')][_0xaf2d('0x7e')]){delete _0x4c199f['account'][_0xaf2d('0x7e')];}if(_0x4c199f[_0xaf2d('0x7f')][_0xaf2d('0x7a')]&&_0x4c199f['account']['List']['Contacts'][_0xaf2d('0x49')]){return _0x4c199f['account'][_0xaf2d('0x7a')][_0xaf2d('0x7b')][0x0];}var _0x3a0742=_[_0xaf2d('0x16')](_0x27bd60[_0xaf2d('0x59')],{'firstName':_0x27bd60[_0xaf2d('0x59')]['from'],'ListId':_0x59d279['ListId']});_0x3a0742[_0x27bd60[_0xaf2d('0x59')]['mapKey']]=_0x27bd60['body'][_0xaf2d('0x74')];return db[_0xaf2d('0x6e')][_0xaf2d('0x58')](_0x3a0742,{'fields':_0x411c93,'raw':!![]});}})['then'](handleEntityNotFound(_0x55b492,null))['then'](function(_0x12cbb4){_0x4c199f[_0xaf2d('0x85')]=_0x12cbb4;if(_0x12cbb4){var _0xfd6611={'ContactId':_0x12cbb4['id'],'OpenchannelAccountId':_0x27bd60['params']['id'],'from':(_0x12cbb4[_0xaf2d('0x86')]||'')+'\x20'+(_0x12cbb4['lastName']||'')};var _0xd25a52={'OpenchannelAccountId':_0x27bd60[_0xaf2d('0x56')]['id'],'closed':![]};if(_0x27bd60[_0xaf2d('0x59')][_0xaf2d('0x87')]){_0xd25a52[_0xaf2d('0x87')]=_0x27bd60[_0xaf2d('0x59')][_0xaf2d('0x87')];return db[_0xaf2d('0x88')]['find']({'where':_0xd25a52})[_0xaf2d('0x1e')](function(_0x3f472a){if(_0x3f472a){return[_0x3f472a,![]];}_0xfd6611[_0xaf2d('0x87')]=_0x27bd60[_0xaf2d('0x59')][_0xaf2d('0x87')];_0xfd6611[_0xaf2d('0x89')]=_0x27bd60[_0xaf2d('0x59')]['externalUrl'];return db[_0xaf2d('0x88')]['create'](_0xfd6611)[_0xaf2d('0x1e')](function(_0x3a2c0c){return[_0x3a2c0c,!![]];});});}else{_0xd25a52[_0xaf2d('0x87')]=null;}_0xd25a52[_0xaf2d('0x8a')]=_0x12cbb4['id'];return db['OpenchannelInteraction']['find']({'where':_0xd25a52})[_0xaf2d('0x1e')](function(_0x18ce32){if(_0x18ce32){return[_0x18ce32,![]];}return db[_0xaf2d('0x88')]['create'](_0xfd6611)[_0xaf2d('0x1e')](function(_0x14c9fd){return[_0x14c9fd,!![]];});});}})[_0xaf2d('0x8b')](function(_0x397d56,_0x17af3e){if(_0x397d56){_0xe0c0ac=_0x17af3e;if(!_0x17af3e){var _0x38fe4c={'from':(_0x4c199f[_0xaf2d('0x85')][_0xaf2d('0x86')]||'')+'\x20'+(_0x4c199f[_0xaf2d('0x85')]['lastName']||'')};if(_0x27bd60[_0xaf2d('0x59')]['threadId']&&_0x27bd60[_0xaf2d('0x59')]['messageId']&&_0x27bd60[_0xaf2d('0x59')][_0xaf2d('0x87')]!=_0x27bd60[_0xaf2d('0x59')][_0xaf2d('0x8c')]){_0x38fe4c['threadId']=_0x27bd60['body'][_0xaf2d('0x8c')];}return _0x397d56['update'](_0x38fe4c);}else{return _0x397d56;}}})[_0xaf2d('0x1e')](function(_0x418f7f){_0x4c199f['interaction']=_0x418f7f['get']({'plain':!![]});_0x4c199f[_0xaf2d('0x8d')]['created']=_0xe0c0ac;if(_0x4c199f[_0xaf2d('0x8d')][_0xaf2d('0x8e')]){if(_0x4c199f['account'][_0xaf2d('0x8f')]){_0x4c199f[_0xaf2d('0x80')][_0xaf2d('0x90')]({'id':0x0,'priority':_0x4c199f[_0xaf2d('0x80')][_0xaf2d('0x49')]+0x1,'app':_0xaf2d('0x91'),'appdata':_0xaf2d('0x92'),'interval':_0xaf2d('0x93')});}}return db[_0xaf2d('0x94')][_0xaf2d('0x58')]({'body':_0x27bd60[_0xaf2d('0x59')][_0xaf2d('0x59')],'OpenchannelAccountId':_0x27bd60[_0xaf2d('0x56')]['id'],'OpenchannelInteractionId':_0x418f7f['id'],'direction':'in','ContactId':_0x4c199f['contact']['id'],'AttachmentId':_0x27bd60[_0xaf2d('0x59')]['AttachmentId']});})[_0xaf2d('0x1e')](function(_0x599cbb){_0x4c199f[_0xaf2d('0x27')]=_0x599cbb;if(_0x4c199f[_0xaf2d('0x8d')]['UserId']){return db[_0xaf2d('0x95')][_0xaf2d('0x5e')]({'attributes':['id',_0xaf2d('0x39')],'where':{'id':_0x4c199f[_0xaf2d('0x8d')]['UserId']}})[_0xaf2d('0x1e')](function(_0x56e15e){if(_0x56e15e){_0x4c199f[_0xaf2d('0x80')]['unshift']({'id':0x0,'priority':0x0,'app':_0xaf2d('0x96'),'appdata':_0x56e15e[_0xaf2d('0x39')]+','+(_0x4c199f[_0xaf2d('0x7f')]['waitForTheAssignedAgent']||0xa),'interval':_0xaf2d('0x93')});_0x4c199f['forcedOwnership']=![];}return respondWithRpcPromise('Start','startRouting',_0x4c199f);});}return respondWithRpcPromise(_0xaf2d('0x97'),_0xaf2d('0x98'),_0x4c199f);})[_0xaf2d('0x1e')](function(_0x563f23){respondWithRpcPromise(_0xaf2d('0x99'),_0xaf2d('0x99'),{'event':'notify','message':_0x563f23},client9002);return _0x563f23;})[_0xaf2d('0x1e')](respondWithResult(_0x55b492,null))[_0xaf2d('0x29')](handleError(_0x55b492,null));};exports[_0xaf2d('0x9a')]=function(_0x26608c,_0x321a45,_0xb4d6b){return db[_0xaf2d('0x3e')][_0xaf2d('0x6a')]({'where':{'id':_0x26608c['params']['id']}})['then'](handleEntityNotFound(_0x321a45,null))[_0xaf2d('0x1e')](function(_0x13788c){if(_0x13788c){return db['sequelize']['transaction'](function(_0x3eab58){return db[_0xaf2d('0x7d')][_0xaf2d('0x36')]({'where':{'OpenchannelAccountId':_0x26608c[_0xaf2d('0x56')]['id']},'transaction':_0x3eab58})[_0xaf2d('0x1e')](function(_0x35e810){var _0x529510=_[_0xaf2d('0x43')](_0x26608c[_0xaf2d('0x59')],function(_0x36c025){_0x36c025[_0xaf2d('0x6b')]=_0x26608c[_0xaf2d('0x56')]['id'];return _0x36c025;});return db[_0xaf2d('0x7d')][_0xaf2d('0x9b')](_0x529510,{'transaction':_0x3eab58});});})[_0xaf2d('0x1e')](function(){return db[_0xaf2d('0x7d')][_0xaf2d('0x9c')]({'where':{'OpenchannelAccountId':_0x26608c[_0xaf2d('0x56')]['id']},'order':'priority'});});}})[_0xaf2d('0x1e')](respondWithResult(_0x321a45,null))[_0xaf2d('0x29')](handleError(_0x321a45,null));};exports[_0xaf2d('0x9d')]=function(_0x5beb55,_0x48085d,_0x56bd0c){var _0x5e5980={};var _0x2b2ff3={};var _0x5ae510;var _0x54725e;return db[_0xaf2d('0x3e')]['findOne']({'where':{'id':_0x5beb55['params']['id']}})[_0xaf2d('0x1e')](handleEntityNotFound(_0x48085d,null))[_0xaf2d('0x1e')](function(_0x41017a){if(_0x41017a){_0x5ae510=_0x41017a;_0x2b2ff3[_0xaf2d('0x42')]=_[_0xaf2d('0x45')](db[_0xaf2d('0x7d')][_0xaf2d('0x3f')]);_0x2b2ff3[_0xaf2d('0x44')]=_[_0xaf2d('0x45')](_0x5beb55[_0xaf2d('0x44')]);_0x2b2ff3[_0xaf2d('0x4c')]=_['intersection'](_0x2b2ff3['model'],_0x2b2ff3[_0xaf2d('0x44')]);_0x5e5980[_0xaf2d('0x48')]=_[_0xaf2d('0x46')](_0x2b2ff3[_0xaf2d('0x42')],qs[_0xaf2d('0x47')](_0x5beb55['query'][_0xaf2d('0x47')]));_0x5e5980[_0xaf2d('0x48')]=_0x5e5980['attributes']['length']?_0x5e5980[_0xaf2d('0x48')]:_0x2b2ff3[_0xaf2d('0x42')];_0x5e5980[_0xaf2d('0x65')]=qs[_0xaf2d('0x4b')](_0x5beb55[_0xaf2d('0x44')]['sort']);_0x5e5980['where']=qs['filters'](_[_0xaf2d('0x4d')](_0x5beb55['query'],_0x2b2ff3[_0xaf2d('0x4c')]));if(_0x5beb55[_0xaf2d('0x44')][_0xaf2d('0x4e')]){_0x5e5980[_0xaf2d('0x4f')]=_[_0xaf2d('0x50')](_0x5e5980[_0xaf2d('0x4f')],{'$or':_[_0xaf2d('0x43')](_0x5e5980[_0xaf2d('0x48')],function(_0x395aa1){var _0x441084={};_0x441084[_0x395aa1]={'$like':'%'+_0x5beb55['query'][_0xaf2d('0x4e')]+'%'};return _0x441084;})});}_0x5e5980=_[_0xaf2d('0x50')]({},_0x5e5980,_0x5beb55[_0xaf2d('0x57')]);return _0x5ae510[_0xaf2d('0x9d')](_0x5e5980);}})['then'](function(_0x58bd63){if(_0x58bd63){_0x54725e=_0x58bd63[_0xaf2d('0x49')];if(!_0x5beb55[_0xaf2d('0x44')][_0xaf2d('0x64')](_0xaf2d('0x4a'))){_0x5e5980[_0xaf2d('0x2f')]=qs['limit'](_0x5beb55[_0xaf2d('0x44')]['limit']);_0x5e5980[_0xaf2d('0x2e')]=qs['offset'](_0x5beb55['query']['offset']);}return _0x5ae510[_0xaf2d('0x9d')](_0x5e5980);}})['then'](function(_0x23019c){if(_0x23019c){return _0x23019c?{'count':_0x54725e,'rows':_0x23019c}:null;}})['then'](respondWithResult(_0x48085d,null))['catch'](handleError(_0x48085d,null));};exports[_0xaf2d('0x9e')]=function(_0x57f52e,_0x2c1f35,_0x38b246){var _0x38ead8={'raw':![],'where':{}};var _0x3f58ea={};var _0x435a9d={'count':0x0,'rows':[]};return db[_0xaf2d('0x3e')][_0xaf2d('0x6a')]({'where':{'id':_0x57f52e['params']['id']}})[_0xaf2d('0x1e')](handleEntityNotFound(_0x2c1f35,null))[_0xaf2d('0x1e')](function(_0x324263){if(_0x324263){_0x3f58ea[_0xaf2d('0x42')]=_['keys'](db[_0xaf2d('0x88')][_0xaf2d('0x3f')]);_0x3f58ea[_0xaf2d('0x44')]=_[_0xaf2d('0x45')](_0x57f52e[_0xaf2d('0x44')]);_0x3f58ea[_0xaf2d('0x4c')]=_[_0xaf2d('0x46')](_0x3f58ea[_0xaf2d('0x42')],_0x3f58ea[_0xaf2d('0x44')]);_0x38ead8[_0xaf2d('0x48')]=_[_0xaf2d('0x46')](_0x3f58ea[_0xaf2d('0x42')],qs[_0xaf2d('0x47')](_0x57f52e[_0xaf2d('0x44')][_0xaf2d('0x47')]));_0x38ead8[_0xaf2d('0x48')]=_0x38ead8['attributes'][_0xaf2d('0x49')]?_0x38ead8[_0xaf2d('0x48')]:_0x3f58ea[_0xaf2d('0x42')];if(!_0x57f52e[_0xaf2d('0x44')]['hasOwnProperty'](_0xaf2d('0x4a'))){_0x38ead8[_0xaf2d('0x2f')]=qs['limit'](_0x57f52e[_0xaf2d('0x44')]['limit']);_0x38ead8[_0xaf2d('0x2e')]=qs[_0xaf2d('0x2e')](_0x57f52e['query'][_0xaf2d('0x2e')]);}_0x38ead8[_0xaf2d('0x65')]=qs[_0xaf2d('0x4b')](_0x57f52e[_0xaf2d('0x44')][_0xaf2d('0x4b')]);_0x38ead8[_0xaf2d('0x4f')]=qs[_0xaf2d('0x4c')](_[_0xaf2d('0x4d')](_0x57f52e[_0xaf2d('0x44')],_0x3f58ea['filters']));_0x38ead8['where'][_0xaf2d('0x6b')]=_0x324263['id'];if(_0x57f52e['query'][_0xaf2d('0x4e')]){_0x38ead8[_0xaf2d('0x4f')]=_['merge'](_0x38ead8['where'],{'$or':_['map'](_0x38ead8[_0xaf2d('0x48')],function(_0x2f202d){var _0x21724b={};_0x21724b[_0x2f202d]={'$like':'%'+_0x57f52e[_0xaf2d('0x44')][_0xaf2d('0x4e')]+'%'};return _0x21724b;})});}_0x38ead8=_[_0xaf2d('0x50')]({},_0x38ead8,_0x57f52e['options']);return db['OpenchannelInteraction'][_0xaf2d('0x2d')]({'where':_0x38ead8[_0xaf2d('0x4f')]})[_0xaf2d('0x1e')](function(_0x470b71){_0x435a9d[_0xaf2d('0x2d')]=_0x470b71;if(_0x57f52e[_0xaf2d('0x44')]['includeAll']){_0x38ead8['include']=[{'model':db[_0xaf2d('0x6e')],'as':_0xaf2d('0x9f'),'required':![]},{'model':db['User'],'as':_0xaf2d('0xa0'),'attributes':['name',_0xaf2d('0xa1'),_0xaf2d('0xa2')],'required':![]},{'model':db[_0xaf2d('0xa3')],'as':_0xaf2d('0xa4'),'attributes':['id','name',_0xaf2d('0xa5')],'where':_0x57f52e[_0xaf2d('0x44')][_0xaf2d('0xa6')]?{'id':_0x57f52e[_0xaf2d('0x44')][_0xaf2d('0xa6')]}:undefined,'required':_0x57f52e[_0xaf2d('0x44')]['tag']?!![]:![]}];}return db[_0xaf2d('0x88')][_0xaf2d('0xa7')](_0x38ead8);})[_0xaf2d('0x1e')](function(_0x3689de){_0x435a9d[_0xaf2d('0x55')]=_0x3689de;return _0x435a9d;});}})['then'](respondWithFilteredResult(_0x2c1f35,_0x38ead8))[_0xaf2d('0x29')](handleError(_0x2c1f35,null));};exports[_0xaf2d('0xa8')]=function(_0x4bcccf,_0xe3bf7,_0xbf49f7){return db['OpenchannelAccount']['find']({'where':{'id':_0x4bcccf[_0xaf2d('0x56')]['id']}})[_0xaf2d('0x1e')](handleEntityNotFound(_0xe3bf7,null))['then'](function(_0x484bed){if(_0x484bed){return _0x484bed['addAgents'](_0x4bcccf['body']['ids'],_[_0xaf2d('0xa9')](_0x4bcccf[_0xaf2d('0x59')],[_0xaf2d('0x68'),'id'])||{})[_0xaf2d('0x8b')](function(_0x5277dc){for(var _0x4acaa5=0x0;_0x4acaa5<_0x4bcccf['body'][_0xaf2d('0x68')][_0xaf2d('0x49')];_0x4acaa5+=0x1){socket[_0xaf2d('0xaa')](_0xaf2d('0xab'),{'UserId':_0x4bcccf[_0xaf2d('0x59')][_0xaf2d('0x68')][_0x4acaa5],'OpenchannelAccountId':_0x4bcccf['params']['id']});}return _0x5277dc;});}})[_0xaf2d('0x1e')](respondWithResult(_0xe3bf7,null))[_0xaf2d('0x29')](handleError(_0xe3bf7,null));};exports[_0xaf2d('0xac')]=function(_0x5ee7fc,_0x447176,_0x45120c){return db['OpenchannelAccount'][_0xaf2d('0x5e')]({'where':{'id':_0x5ee7fc[_0xaf2d('0x56')]['id']}})[_0xaf2d('0x1e')](handleEntityNotFound(_0x447176,null))['then'](function(_0x448fd2){if(_0x448fd2){return _0x448fd2[_0xaf2d('0xac')](_0x5ee7fc[_0xaf2d('0x44')][_0xaf2d('0x68')])['then'](function(){if(_['isArray'](_0x5ee7fc[_0xaf2d('0x44')][_0xaf2d('0x68')])){for(var _0x3fe351=0x0;_0x3fe351<_0x5ee7fc[_0xaf2d('0x44')][_0xaf2d('0x68')][_0xaf2d('0x49')];_0x3fe351+=0x1){socket[_0xaf2d('0xaa')](_0xaf2d('0xad'),{'UserId':Number(_0x5ee7fc[_0xaf2d('0x44')][_0xaf2d('0x68')][_0x3fe351]),'OpenchannelAccountId':Number(_0x5ee7fc[_0xaf2d('0x56')]['id'])});}}else{socket['emit']('userOpenchannelAccount:remove',{'UserId':Number(_0x5ee7fc[_0xaf2d('0x44')]['ids']),'OpenchannelAccountId':Number(_0x5ee7fc[_0xaf2d('0x56')]['id'])});}});}})['then'](respondWithStatusCode(_0x447176,null))[_0xaf2d('0x29')](handleError(_0x447176,null));};exports[_0xaf2d('0xae')]=function(_0x942c4b,_0x3c4bb1,_0x49eb0f){var _0x3cfb1a={};var _0x47507b={};var _0x3d9091;var _0x19825b;return db['OpenchannelAccount'][_0xaf2d('0x6a')]({'where':{'id':_0x942c4b[_0xaf2d('0x56')]['id']}})[_0xaf2d('0x1e')](handleEntityNotFound(_0x3c4bb1,null))['then'](function(_0x5b0493){if(_0x5b0493){_0x3d9091=_0x5b0493;_0x47507b[_0xaf2d('0x42')]=_['keys'](db[_0xaf2d('0x95')]['rawAttributes']);_0x47507b['query']=_['keys'](_0x942c4b[_0xaf2d('0x44')]);_0x47507b[_0xaf2d('0x4c')]=_[_0xaf2d('0x46')](_0x47507b[_0xaf2d('0x42')],_0x47507b['query']);_0x3cfb1a[_0xaf2d('0x48')]=_['intersection'](_0x47507b[_0xaf2d('0x42')],qs[_0xaf2d('0x47')](_0x942c4b['query'][_0xaf2d('0x47')]));_0x3cfb1a[_0xaf2d('0x48')]=_0x3cfb1a['attributes']['length']?_0x3cfb1a[_0xaf2d('0x48')]:_0x47507b[_0xaf2d('0x42')];_0x3cfb1a[_0xaf2d('0x65')]=qs[_0xaf2d('0x4b')](_0x942c4b[_0xaf2d('0x44')]['sort']);_0x3cfb1a[_0xaf2d('0x4f')]=qs[_0xaf2d('0x4c')](_[_0xaf2d('0x4d')](_0x942c4b[_0xaf2d('0x44')],_0x47507b['filters']));if(_0x942c4b[_0xaf2d('0x44')][_0xaf2d('0x4e')]){_0x3cfb1a[_0xaf2d('0x4f')]=_[_0xaf2d('0x50')](_0x3cfb1a[_0xaf2d('0x4f')],{'$or':_[_0xaf2d('0x43')](_0x3cfb1a[_0xaf2d('0x48')],function(_0x2eeaaf){var _0x54fcad={};_0x54fcad[_0x2eeaaf]={'$like':'%'+_0x942c4b['query'][_0xaf2d('0x4e')]+'%'};return _0x54fcad;})});}_0x3cfb1a=_['merge']({},_0x3cfb1a,_0x942c4b[_0xaf2d('0x57')]);return _0x3d9091[_0xaf2d('0xae')](_0x3cfb1a);}})['then'](function(_0x22943c){if(_0x22943c){_0x19825b=_0x22943c[_0xaf2d('0x49')];if(!_0x942c4b[_0xaf2d('0x44')]['hasOwnProperty'](_0xaf2d('0x4a'))){_0x3cfb1a[_0xaf2d('0x2f')]=qs[_0xaf2d('0x2f')](_0x942c4b[_0xaf2d('0x44')][_0xaf2d('0x2f')]);_0x3cfb1a[_0xaf2d('0x2e')]=qs[_0xaf2d('0x2e')](_0x942c4b['query'][_0xaf2d('0x2e')]);}return _0x3d9091[_0xaf2d('0xae')](_0x3cfb1a);}})['then'](function(_0x39fc74){if(_0x39fc74){return _0x39fc74?{'count':_0x19825b,'rows':_0x39fc74}:null;}})[_0xaf2d('0x1e')](respondWithResult(_0x3c4bb1,null))[_0xaf2d('0x29')](handleError(_0x3c4bb1,null));};exports['send']=function(_0x2a5209,_0x19730b,_0x1ac788){var _0x270b43,_0x94249d,_0x977286;if(_[_0xaf2d('0x73')](_0x2a5209[_0xaf2d('0x59')][_0xaf2d('0x59')])||_0x2a5209[_0xaf2d('0x59')][_0xaf2d('0x59')]===''){throw new db[(_0xaf2d('0x1b'))][(_0xaf2d('0x1c'))]('body\x20is\x20mandatory\x20and\x20not\x20empty');}if(_[_0xaf2d('0x73')](_0x2a5209[_0xaf2d('0x59')]['to'])){}_0x270b43=_0x2a5209[_0xaf2d('0x59')]['to'];return db[_0xaf2d('0x3e')][_0xaf2d('0x6a')]({'where':{'id':_0x2a5209[_0xaf2d('0x56')]['id']}})[_0xaf2d('0x1e')](handleEntityNotFound(_0x19730b,null))[_0xaf2d('0x1e')](function(_0x16e487){if(_0x16e487){return db['OpenchannelAccount'][_0xaf2d('0x5e')]({'where':{'id':_0x16e487['id']},'include':[{'model':db[_0xaf2d('0x79')],'as':'List','include':[{'model':db['CmContact'],'as':_0xaf2d('0x7b'),'where':{[_0x16e487[_0xaf2d('0x78')]]:_0x270b43},'limit':0x1,'order':[[_0xaf2d('0x71'),_0xaf2d('0x7c')]]}]}]})[_0xaf2d('0x1e')](handleEntityNotFound(_0x19730b,null))['then'](function(_0x2fd962){if(_0x2fd962&&_0x2fd962['List']){_0x94249d=_0x2fd962[_0xaf2d('0x5a')]({'plain':!![]});if(_0x94249d[_0xaf2d('0x7a')]&&_0x94249d['List'][_0xaf2d('0x7b')][_0xaf2d('0x49')]){return _0x94249d[_0xaf2d('0x7a')][_0xaf2d('0x7b')][0x0];}return db[_0xaf2d('0x6e')][_0xaf2d('0x58')](_[_0xaf2d('0x16')](_0x2a5209[_0xaf2d('0x59')],{'firstName':_0x270b43,[_0x2fd962[_0xaf2d('0x78')]]:_0x270b43,'phone':_0x270b43,'ListId':_0x94249d['ListId']}));}})[_0xaf2d('0x1e')](handleEntityNotFound(_0x19730b,null))[_0xaf2d('0x1e')](function(_0x4e7315){if(_0x4e7315){_0x977286=_0x4e7315;return db['OpenchannelInteraction'][_0xaf2d('0x5e')]({'where':{'ContactId':_0x977286['id'],'closed':![],'OpenchannelAccountId':_0x94249d['id']}})[_0xaf2d('0x1e')](function(_0x365477){if(_0x365477){return[_0x365477,![]];}return db[_0xaf2d('0x88')][_0xaf2d('0x58')]({'UserId':_0x2a5209[_0xaf2d('0x5d')]['id'],'ContactId':_0x977286['id'],'OpenchannelAccountId':_0x94249d['id'],'lastMsgDirection':_0xaf2d('0xaf'),'Messages':[_['merge'](_0x2a5209['body'],{'read':![],'body':_0x2a5209['body'][_0xaf2d('0x59')],'OpenchannelAccountId':_0x94249d['id'],'UserId':_0x2a5209[_0xaf2d('0x5d')]['id'],'ContactId':_0x977286['id']})]},{'include':[{'model':db[_0xaf2d('0x94')],'as':_0xaf2d('0xb0')}]})[_0xaf2d('0x1e')](function(_0x17eb67){return[_0x17eb67,!![]];});});}})['spread'](function(_0x51da7d,_0x421de2){if(_0x421de2){return _0x51da7d;}return db[_0xaf2d('0x94')][_0xaf2d('0x58')](_['merge'](_0x2a5209[_0xaf2d('0x59')],{'read':![],'body':_0x2a5209[_0xaf2d('0x59')]['body'],'OpenchannelAccountId':_0x94249d['id'],'OpenchannelInteractionId':_0x51da7d['id'],'UserId':_0x2a5209[_0xaf2d('0x5d')]['id'],'ContactId':_0x977286['id']}))[_0xaf2d('0x1e')](function(_0x101184){_0x51da7d[_0xaf2d('0xb1')][_0xaf2d('0xb0')]=[];_0x51da7d[_0xaf2d('0xb1')][_0xaf2d('0xb0')][_0xaf2d('0x90')](_0x101184[_0xaf2d('0xb1')]);return _0x51da7d;});});}})[_0xaf2d('0x1e')](respondWithResult(_0x19730b,null))[_0xaf2d('0x29')](handleError(_0x19730b,null));};