Built motion from commit 9e1399f3.|2.5.37
[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 _0x84ed=['fullname','Tag','Tags','color','tag','rows','addAgents','emit','userOpenchannelAccount:save','removeAgents','isArray','userOpenchannelAccount:remove','getAgents','Messages','dataValues','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','sox','to-csv','fs-extra','lodash','desk.js','querystring','ioredis','../../components/parsers/qs','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','redis','localhost','socket.io-emitter','./openchannelAccount.socket','jayson/promise','client','http','then','info','OpenchannelAccount,\x20%s,\x20%s','request\x20sent','debug','OpenchannelAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','sendStatus','end','status','json','offset','undefined','limit','count','set','Content-Range','reject','save','update','destroy','OpenchannelAccounts','UserProfileResource','name','send','mandatoryDispositionPause','map','OpenchannelAccount','rawAttributes','fieldName','type','model','query','keys','attributes','intersection','fields','hasOwnProperty','nolimit','order','sort','where','filters','filter','merge','VIRTUAL','options','includeAll','include','findAll','show','params','length','find','create','body','user','get','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','Pause','describe','addDisposition','OpenchannelAccountId','getDispositions','findOne','Disposition','removeDispositions','CannedAnswer','pick','removeAnswers','ids','openchannel','CmContact','ValidationError','difference','createdAt','updatedAt','CompanyId','ListId','isNil','from','Sequelize','from\x20is\x20mandatory','body\x20is\x20mandatory\x20and\x20not\x20empty','mapKey','CmList','Contacts','DESC','OpenchannelApplication','Applications','List','account','list','orderBy','applications','priority','asc','defaults','contact','lastName','threadId','OpenchannelInteraction','externalUrl','spread','firstName','messageId','interaction','created','autoclose','push','close','unmanaged','*,*,*,*','OpenchannelMessage','AttachmentId','UserId','User','unshift','agent','forcedOwnership','Start','startRouting','EventManager','notify','addApplications','sequelize','transaction','ISOLATION_LEVELS','bulkCreate','findAndCountAll','stack','finally','getApplications','getInteractions','Owner'];(function(_0x2cc7ec,_0x258398){var _0x5bccae=function(_0x133c8a){while(--_0x133c8a){_0x2cc7ec['push'](_0x2cc7ec['shift']());}};_0x5bccae(++_0x258398);}(_0x84ed,0xca));var _0xd84e=function(_0x502c7d,_0x2f1285){_0x502c7d=_0x502c7d-0x0;var _0x30b7ed=_0x84ed[_0x502c7d];return _0x30b7ed;};'use strict';var emlformat=require(_0xd84e('0x0'));var rimraf=require(_0xd84e('0x1'));var zipdir=require(_0xd84e('0x2'));var jsonpatch=require(_0xd84e('0x3'));var rp=require(_0xd84e('0x4'));var moment=require(_0xd84e('0x5'));var BPromise=require(_0xd84e('0x6'));var Mustache=require('mustache');var util=require(_0xd84e('0x7'));var path=require('path');var sox=require(_0xd84e('0x8'));var csv=require(_0xd84e('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xd84e('0xa'));var _=require(_0xd84e('0xb'));var squel=require('squel');var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0xd84e('0xc'));var toCsv=require(_0xd84e('0x9'));var querystring=require(_0xd84e('0xd'));var Papa=require('papaparse');var Redis=require(_0xd84e('0xe'));var authService=require('../../components/auth/service');var qs=require(_0xd84e('0xf'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0xd84e('0x10'))(_0xd84e('0x11'));var utils=require('../../config/utils');var config=require(_0xd84e('0x12'));var licenseUtil=require(_0xd84e('0x13'));var db=require(_0xd84e('0x14'))['db'];config[_0xd84e('0x15')]=_['defaults'](config[_0xd84e('0x15')],{'host':_0xd84e('0x16'),'port':0x18eb});var socket=require(_0xd84e('0x17'))(new Redis(config[_0xd84e('0x15')]));require(_0xd84e('0x18'))['register'](socket);var jayson=require(_0xd84e('0x19'));var client=jayson[_0xd84e('0x1a')][_0xd84e('0x1b')]({'port':0x232c});var client9002=jayson['client'][_0xd84e('0x1b')]({'port':0x232a});function respondWithRpcPromise(_0x3397c0,_0xe5f59c,_0x544458,_0xbb6a3a){return new BPromise(function(_0x3fc312,_0x3408cf){var _0x4c4e44=_0xbb6a3a||client;return _0x4c4e44['request'](_0x3397c0,_0x544458)[_0xd84e('0x1c')](function(_0x4dd3e4){logger[_0xd84e('0x1d')](_0xd84e('0x1e'),_0xe5f59c,_0xd84e('0x1f'));logger[_0xd84e('0x20')](_0xd84e('0x21'),_0xe5f59c,_0xd84e('0x1f'),JSON[_0xd84e('0x22')](_0x4dd3e4));if(_0x4dd3e4['error']){if(_0x4dd3e4[_0xd84e('0x23')][_0xd84e('0x24')]===0x1f4){logger['error'](_0xd84e('0x1e'),_0xe5f59c,_0x4dd3e4['error'][_0xd84e('0x25')]);return _0x3408cf(_0x4dd3e4['error']['message']);}logger[_0xd84e('0x23')](_0xd84e('0x1e'),_0xe5f59c,_0x4dd3e4[_0xd84e('0x23')][_0xd84e('0x25')]);return _0x3fc312(_0x4dd3e4['error'][_0xd84e('0x25')]);}else{logger[_0xd84e('0x1d')]('OpenchannelAccount,\x20%s,\x20%s',_0xe5f59c,_0xd84e('0x1f'));_0x3fc312(_0x4dd3e4[_0xd84e('0x26')][_0xd84e('0x25')]);}})[_0xd84e('0x27')](function(_0x37bbc4){logger[_0xd84e('0x23')](_0xd84e('0x1e'),_0xe5f59c,_0x37bbc4);_0x3408cf(_0x37bbc4);});});}function respondWithStatusCode(_0x1c5698,_0x456ae7){_0x456ae7=_0x456ae7||0xcc;return function(_0x7b9acd){if(_0x7b9acd){return _0x1c5698[_0xd84e('0x28')](_0x456ae7);}return _0x1c5698['status'](_0x456ae7)[_0xd84e('0x29')]();};}function respondWithResult(_0x59d6bb,_0xd2ffb6){_0xd2ffb6=_0xd2ffb6||0xc8;return function(_0x28da76){if(_0x28da76){return _0x59d6bb[_0xd84e('0x2a')](_0xd2ffb6)[_0xd84e('0x2b')](_0x28da76);}};}function respondWithFilteredResult(_0x289d3d,_0x52d948){return function(_0x5ea4a0){if(_0x5ea4a0){var _0x1433ac=typeof _0x52d948[_0xd84e('0x2c')]===_0xd84e('0x2d')&&typeof _0x52d948[_0xd84e('0x2e')]===_0xd84e('0x2d');var _0x42b83c=_0x5ea4a0['count'];var _0x34da10=_0x1433ac?0x0:_0x52d948['offset'];var _0x482ec0=_0x1433ac?_0x5ea4a0[_0xd84e('0x2f')]:_0x52d948[_0xd84e('0x2c')]+_0x52d948[_0xd84e('0x2e')];var _0x252327;if(_0x482ec0>=_0x42b83c){_0x482ec0=_0x42b83c;_0x252327=0xc8;}else{_0x252327=0xce;}_0x289d3d[_0xd84e('0x2a')](_0x252327);return _0x289d3d[_0xd84e('0x30')](_0xd84e('0x31'),_0x34da10+'-'+_0x482ec0+'/'+_0x42b83c)[_0xd84e('0x2b')](_0x5ea4a0);}return null;};}function patchUpdates(_0x355da2){return function(_0x21f540){try{jsonpatch['apply'](_0x21f540,_0x355da2,!![]);}catch(_0x267ae8){return BPromise[_0xd84e('0x32')](_0x267ae8);}return _0x21f540[_0xd84e('0x33')]();};}function saveUpdates(_0x355b3d,_0x170363){return function(_0x293c03){if(_0x293c03){return _0x293c03[_0xd84e('0x34')](_0x355b3d)[_0xd84e('0x1c')](function(_0x47c877){return _0x47c877;});}return null;};}function removeEntity(_0x1e18b2,_0x2aeec2){return function(_0x4f682b){if(_0x4f682b){return _0x4f682b[_0xd84e('0x35')]()['then'](function(){var _0x180510=_0x4f682b['get']({'plain':!![]});var _0x583445=_0xd84e('0x36');return db[_0xd84e('0x37')]['destroy']({'where':{'type':_0x583445,'resourceId':_0x180510['id']}})[_0xd84e('0x1c')](function(){return _0x4f682b;});})[_0xd84e('0x1c')](function(){_0x1e18b2[_0xd84e('0x2a')](0xcc)[_0xd84e('0x29')]();});}};}function handleEntityNotFound(_0x1dfa03,_0x4a48fe){return function(_0x291b69){if(!_0x291b69){_0x1dfa03['sendStatus'](0x194);}return _0x291b69;};}function handleError(_0x29f7a6,_0x337fb9){_0x337fb9=_0x337fb9||0x1f4;return function(_0x5efb2d){logger[_0xd84e('0x23')](_0x5efb2d['stack']);if(_0x5efb2d['name']){delete _0x5efb2d[_0xd84e('0x38')];}_0x29f7a6[_0xd84e('0x2a')](_0x337fb9)[_0xd84e('0x39')](_0x5efb2d);};}exports['index']=function(_0xa8978e,_0x268d84){var _0x3bfba9={'include':[{'model':db['Pause'],'as':_0xd84e('0x3a')}]},_0x1ee4bd={},_0x3bbffc={'count':0x0,'rows':[]};var _0x3879be=_[_0xd84e('0x3b')](db[_0xd84e('0x3c')][_0xd84e('0x3d')],function(_0xc5685a){return{'name':_0xc5685a[_0xd84e('0x3e')],'type':_0xc5685a[_0xd84e('0x3f')]['key']};});_0x1ee4bd[_0xd84e('0x40')]=_[_0xd84e('0x3b')](_0x3879be,_0xd84e('0x38'));_0x1ee4bd[_0xd84e('0x41')]=_[_0xd84e('0x42')](_0xa8978e['query']);_0x1ee4bd['filters']=_['intersection'](_0x1ee4bd[_0xd84e('0x40')],_0x1ee4bd[_0xd84e('0x41')]);_0x3bfba9[_0xd84e('0x43')]=_[_0xd84e('0x44')](_0x1ee4bd[_0xd84e('0x40')],qs[_0xd84e('0x45')](_0xa8978e['query']['fields']));_0x3bfba9['attributes']=_0x3bfba9[_0xd84e('0x43')]['length']?_0x3bfba9['attributes']:_0x1ee4bd['model'];if(!_0xa8978e[_0xd84e('0x41')][_0xd84e('0x46')](_0xd84e('0x47'))){_0x3bfba9['limit']=qs['limit'](_0xa8978e['query'][_0xd84e('0x2e')]);_0x3bfba9[_0xd84e('0x2c')]=qs[_0xd84e('0x2c')](_0xa8978e[_0xd84e('0x41')][_0xd84e('0x2c')]);}_0x3bfba9[_0xd84e('0x48')]=qs[_0xd84e('0x49')](_0xa8978e[_0xd84e('0x41')][_0xd84e('0x49')]);_0x3bfba9[_0xd84e('0x4a')]=qs[_0xd84e('0x4b')](_['pick'](_0xa8978e[_0xd84e('0x41')],_0x1ee4bd[_0xd84e('0x4b')]),_0x3879be);if(_0xa8978e[_0xd84e('0x41')][_0xd84e('0x4c')]){_0x3bfba9[_0xd84e('0x4a')]=_[_0xd84e('0x4d')](_0x3bfba9['where'],{'$or':_[_0xd84e('0x3b')](_0x3879be,function(_0x2513f3){if(_0x2513f3[_0xd84e('0x3f')]!==_0xd84e('0x4e')){var _0x3b0ee8={};_0x3b0ee8[_0x2513f3[_0xd84e('0x38')]]={'$like':'%'+_0xa8978e[_0xd84e('0x41')][_0xd84e('0x4c')]+'%'};return _0x3b0ee8;}})});}_0x3bfba9=_[_0xd84e('0x4d')]({},_0x3bfba9,_0xa8978e[_0xd84e('0x4f')]);var _0x2bab59={'where':_0x3bfba9['where']};return db[_0xd84e('0x3c')][_0xd84e('0x2f')](_0x2bab59)[_0xd84e('0x1c')](function(_0x270f61){_0x3bbffc['count']=_0x270f61;if(_0xa8978e['query'][_0xd84e('0x50')]){_0x3bfba9[_0xd84e('0x51')]=[{'all':!![]}];}return db['OpenchannelAccount'][_0xd84e('0x52')](_0x3bfba9);})[_0xd84e('0x1c')](function(_0x4ec1ca){_0x3bbffc['rows']=_0x4ec1ca;return _0x3bbffc;})[_0xd84e('0x1c')](respondWithFilteredResult(_0x268d84,_0x3bfba9))['catch'](handleError(_0x268d84,null));};exports[_0xd84e('0x53')]=function(_0x235ae3,_0x1f9c34){var _0x4a0187={'raw':![],'where':{'id':_0x235ae3[_0xd84e('0x54')]['id']},'include':[{'model':db['Pause'],'as':_0xd84e('0x3a')}]},_0x439b9c={};_0x439b9c[_0xd84e('0x40')]=_['keys'](db[_0xd84e('0x3c')][_0xd84e('0x3d')]);_0x439b9c['query']=_[_0xd84e('0x42')](_0x235ae3[_0xd84e('0x41')]);_0x439b9c[_0xd84e('0x4b')]=_[_0xd84e('0x44')](_0x439b9c[_0xd84e('0x40')],_0x439b9c[_0xd84e('0x41')]);_0x4a0187[_0xd84e('0x43')]=_[_0xd84e('0x44')](_0x439b9c[_0xd84e('0x40')],qs[_0xd84e('0x45')](_0x235ae3['query']['fields']));_0x4a0187[_0xd84e('0x43')]=_0x4a0187[_0xd84e('0x43')][_0xd84e('0x55')]?_0x4a0187[_0xd84e('0x43')]:_0x439b9c['model'];if(_0x235ae3[_0xd84e('0x41')][_0xd84e('0x50')]){_0x4a0187['include']=[{'all':!![]}];}_0x4a0187=_['merge']({},_0x4a0187,_0x235ae3[_0xd84e('0x4f')]);return db[_0xd84e('0x3c')][_0xd84e('0x56')](_0x4a0187)[_0xd84e('0x1c')](handleEntityNotFound(_0x1f9c34,null))[_0xd84e('0x1c')](respondWithResult(_0x1f9c34,null))[_0xd84e('0x27')](handleError(_0x1f9c34,null));};exports['create']=function(_0x13237f,_0x28614d){return db[_0xd84e('0x3c')][_0xd84e('0x57')](_0x13237f[_0xd84e('0x58')],{})[_0xd84e('0x1c')](function(_0x1792d4){var _0x2f2a28=_0x13237f[_0xd84e('0x59')][_0xd84e('0x5a')]({'plain':!![]});if(!_0x2f2a28)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x2f2a28[_0xd84e('0x5b')]===_0xd84e('0x59')){var _0x5b6933=_0x1792d4[_0xd84e('0x5a')]({'plain':!![]});var _0x4bd081='OpenchannelAccounts';return db[_0xd84e('0x5c')][_0xd84e('0x56')]({'where':{'name':_0x4bd081,'userProfileId':_0x2f2a28[_0xd84e('0x5d')]},'raw':!![]})[_0xd84e('0x1c')](function(_0x1565ff){if(_0x1565ff&&_0x1565ff[_0xd84e('0x5e')]===0x0){return db[_0xd84e('0x37')][_0xd84e('0x57')]({'name':_0x5b6933[_0xd84e('0x38')],'resourceId':_0x5b6933['id'],'type':_0x1565ff[_0xd84e('0x38')],'sectionId':_0x1565ff['id']},{})['then'](function(){return _0x1792d4;});}else{return _0x1792d4;}})[_0xd84e('0x27')](function(_0x31bf35){logger[_0xd84e('0x23')](_0xd84e('0x5f'),_0x31bf35);throw _0x31bf35;});}return _0x1792d4;})['then'](respondWithResult(_0x28614d,0xc9))[_0xd84e('0x27')](handleError(_0x28614d,null));};exports[_0xd84e('0x34')]=function(_0x1ec09e,_0x2cbfda){if(_0x1ec09e[_0xd84e('0x58')]['id']){delete _0x1ec09e['body']['id'];}return db['OpenchannelAccount'][_0xd84e('0x56')]({'where':{'id':_0x1ec09e['params']['id']},'include':[{'model':db[_0xd84e('0x60')],'as':_0xd84e('0x3a')}]})[_0xd84e('0x1c')](handleEntityNotFound(_0x2cbfda,null))[_0xd84e('0x1c')](saveUpdates(_0x1ec09e['body'],null))['then'](respondWithResult(_0x2cbfda,null))[_0xd84e('0x27')](handleError(_0x2cbfda,null));};exports['destroy']=function(_0x13e99c,_0x355a3b){return db[_0xd84e('0x3c')][_0xd84e('0x56')]({'where':{'id':_0x13e99c['params']['id']}})[_0xd84e('0x1c')](handleEntityNotFound(_0x355a3b,null))['then'](removeEntity(_0x355a3b,null))[_0xd84e('0x27')](handleError(_0x355a3b,null));};exports[_0xd84e('0x61')]=function(_0x1d7fc6,_0x644107){return db[_0xd84e('0x3c')][_0xd84e('0x61')]()[_0xd84e('0x1c')](respondWithResult(_0x644107,null))[_0xd84e('0x27')](handleError(_0x644107,null));};exports[_0xd84e('0x62')]=function(_0x3f38b1,_0xadfe24,_0x274854){if(_0x3f38b1['body']['id']){delete _0x3f38b1[_0xd84e('0x58')]['id'];}return db['OpenchannelAccount']['find']({'where':{'id':_0x3f38b1['params']['id']}})['then'](handleEntityNotFound(_0xadfe24,null))[_0xd84e('0x1c')](function(_0x457a6c){if(_0x457a6c){_0x3f38b1[_0xd84e('0x58')][_0xd84e('0x63')]=_0x457a6c['id'];return db['Disposition']['create'](_0x3f38b1[_0xd84e('0x58')]);}})[_0xd84e('0x1c')](respondWithResult(_0xadfe24,null))[_0xd84e('0x27')](handleError(_0xadfe24,null));};exports[_0xd84e('0x64')]=function(_0x5564d4,_0x15d98a,_0x468c26){var _0x2eebab={'raw':![],'where':{}};var _0x2f8eab={};var _0x16c425={'count':0x0,'rows':[]};return db[_0xd84e('0x3c')][_0xd84e('0x65')]({'where':{'id':_0x5564d4[_0xd84e('0x54')]['id']}})['then'](handleEntityNotFound(_0x15d98a,null))[_0xd84e('0x1c')](function(_0x11f473){if(_0x11f473){_0x2f8eab['model']=_[_0xd84e('0x42')](db[_0xd84e('0x66')]['rawAttributes']);_0x2f8eab[_0xd84e('0x41')]=_['keys'](_0x5564d4[_0xd84e('0x41')]);_0x2f8eab[_0xd84e('0x4b')]=_[_0xd84e('0x44')](_0x2f8eab[_0xd84e('0x40')],_0x2f8eab[_0xd84e('0x41')]);_0x2eebab[_0xd84e('0x43')]=_[_0xd84e('0x44')](_0x2f8eab[_0xd84e('0x40')],qs['fields'](_0x5564d4[_0xd84e('0x41')][_0xd84e('0x45')]));_0x2eebab[_0xd84e('0x43')]=_0x2eebab[_0xd84e('0x43')][_0xd84e('0x55')]?_0x2eebab[_0xd84e('0x43')]:_0x2f8eab[_0xd84e('0x40')];if(!_0x5564d4[_0xd84e('0x41')][_0xd84e('0x46')](_0xd84e('0x47'))){_0x2eebab[_0xd84e('0x2e')]=qs[_0xd84e('0x2e')](_0x5564d4['query'][_0xd84e('0x2e')]);_0x2eebab['offset']=qs[_0xd84e('0x2c')](_0x5564d4[_0xd84e('0x41')][_0xd84e('0x2c')]);}_0x2eebab['order']=qs['sort'](_0x5564d4[_0xd84e('0x41')][_0xd84e('0x49')]);_0x2eebab[_0xd84e('0x4a')]=qs[_0xd84e('0x4b')](_['pick'](_0x5564d4['query'],_0x2f8eab[_0xd84e('0x4b')]));_0x2eebab[_0xd84e('0x4a')][_0xd84e('0x63')]=_0x11f473['id'];if(_0x5564d4[_0xd84e('0x41')][_0xd84e('0x4c')]){_0x2eebab['where']=_[_0xd84e('0x4d')](_0x2eebab[_0xd84e('0x4a')],{'$or':_[_0xd84e('0x3b')](_0x2eebab[_0xd84e('0x43')],function(_0x174ee3){var _0x3ca820={};_0x3ca820[_0x174ee3]={'$like':'%'+_0x5564d4[_0xd84e('0x41')][_0xd84e('0x4c')]+'%'};return _0x3ca820;})});}_0x2eebab=_[_0xd84e('0x4d')]({},_0x2eebab,_0x5564d4[_0xd84e('0x4f')]);return db['Disposition'][_0xd84e('0x2f')]({'where':_0x2eebab[_0xd84e('0x4a')]})[_0xd84e('0x1c')](function(_0x5db2af){_0x16c425[_0xd84e('0x2f')]=_0x5db2af;if(_0x5564d4[_0xd84e('0x41')][_0xd84e('0x50')]){_0x2eebab[_0xd84e('0x51')]=[{'all':!![]}];}return db[_0xd84e('0x66')][_0xd84e('0x52')](_0x2eebab);})['then'](function(_0x353ec7){_0x16c425['rows']=_0x353ec7;return _0x16c425;});}})[_0xd84e('0x1c')](respondWithFilteredResult(_0x15d98a,_0x2eebab))[_0xd84e('0x27')](handleError(_0x15d98a,null));};exports[_0xd84e('0x67')]=function(_0x3d6f12,_0x3fa577,_0x39ef15){return db[_0xd84e('0x3c')][_0xd84e('0x56')]({'where':{'id':_0x3d6f12[_0xd84e('0x54')]['id']}})[_0xd84e('0x1c')](handleEntityNotFound(_0x3fa577,null))['then'](function(_0x235d53){if(_0x235d53){return _0x235d53[_0xd84e('0x67')](_0x3d6f12[_0xd84e('0x41')]['ids']);}})[_0xd84e('0x1c')](respondWithStatusCode(_0x3fa577,null))[_0xd84e('0x27')](handleError(_0x3fa577,null));};exports['addAnswer']=function(_0x477350,_0x2af33c,_0x47bd1d){if(_0x477350['body']['id']){delete _0x477350['body']['id'];}return db[_0xd84e('0x3c')][_0xd84e('0x56')]({'where':{'id':_0x477350[_0xd84e('0x54')]['id']}})['then'](handleEntityNotFound(_0x2af33c,null))[_0xd84e('0x1c')](function(_0x24d4b4){if(_0x24d4b4){_0x477350[_0xd84e('0x58')]['OpenchannelAccountId']=_0x24d4b4['id'];return db[_0xd84e('0x68')][_0xd84e('0x57')](_0x477350[_0xd84e('0x58')]);}})[_0xd84e('0x1c')](respondWithResult(_0x2af33c,null))[_0xd84e('0x27')](handleError(_0x2af33c,null));};exports['getAnswers']=function(_0x3e4a21,_0x505977,_0x4e7ede){var _0x1a54f6={'raw':![],'where':{}};var _0x18376e={};var _0x10b76e={'count':0x0,'rows':[]};return db['OpenchannelAccount']['findOne']({'where':{'id':_0x3e4a21[_0xd84e('0x54')]['id']}})[_0xd84e('0x1c')](handleEntityNotFound(_0x505977,null))[_0xd84e('0x1c')](function(_0x264763){if(_0x264763){_0x18376e['model']=_[_0xd84e('0x42')](db[_0xd84e('0x68')]['rawAttributes']);_0x18376e[_0xd84e('0x41')]=_['keys'](_0x3e4a21[_0xd84e('0x41')]);_0x18376e['filters']=_[_0xd84e('0x44')](_0x18376e[_0xd84e('0x40')],_0x18376e[_0xd84e('0x41')]);_0x1a54f6[_0xd84e('0x43')]=_[_0xd84e('0x44')](_0x18376e['model'],qs['fields'](_0x3e4a21[_0xd84e('0x41')][_0xd84e('0x45')]));_0x1a54f6[_0xd84e('0x43')]=_0x1a54f6[_0xd84e('0x43')][_0xd84e('0x55')]?_0x1a54f6['attributes']:_0x18376e['model'];if(!_0x3e4a21[_0xd84e('0x41')]['hasOwnProperty']('nolimit')){_0x1a54f6['limit']=qs['limit'](_0x3e4a21[_0xd84e('0x41')][_0xd84e('0x2e')]);_0x1a54f6['offset']=qs['offset'](_0x3e4a21[_0xd84e('0x41')][_0xd84e('0x2c')]);}_0x1a54f6['order']=qs[_0xd84e('0x49')](_0x3e4a21['query'][_0xd84e('0x49')]);_0x1a54f6[_0xd84e('0x4a')]=qs[_0xd84e('0x4b')](_[_0xd84e('0x69')](_0x3e4a21[_0xd84e('0x41')],_0x18376e[_0xd84e('0x4b')]));_0x1a54f6[_0xd84e('0x4a')]['OpenchannelAccountId']=_0x264763['id'];if(_0x3e4a21[_0xd84e('0x41')][_0xd84e('0x4c')]){_0x1a54f6['where']=_['merge'](_0x1a54f6['where'],{'$or':_[_0xd84e('0x3b')](_0x1a54f6[_0xd84e('0x43')],function(_0x492ec3){var _0x5b2ec5={};_0x5b2ec5[_0x492ec3]={'$like':'%'+_0x3e4a21[_0xd84e('0x41')][_0xd84e('0x4c')]+'%'};return _0x5b2ec5;})});}_0x1a54f6=_[_0xd84e('0x4d')]({},_0x1a54f6,_0x3e4a21['options']);return db[_0xd84e('0x68')][_0xd84e('0x2f')]({'where':_0x1a54f6['where']})[_0xd84e('0x1c')](function(_0x254614){_0x10b76e[_0xd84e('0x2f')]=_0x254614;if(_0x3e4a21[_0xd84e('0x41')][_0xd84e('0x50')]){_0x1a54f6['include']=[{'all':!![]}];}return db['CannedAnswer'][_0xd84e('0x52')](_0x1a54f6);})['then'](function(_0x1d2b90){_0x10b76e['rows']=_0x1d2b90;return _0x10b76e;});}})[_0xd84e('0x1c')](respondWithFilteredResult(_0x505977,_0x1a54f6))['catch'](handleError(_0x505977,null));};exports['removeAnswers']=function(_0x410c82,_0x8252b5,_0x1da2d8){return db[_0xd84e('0x3c')][_0xd84e('0x56')]({'where':{'id':_0x410c82[_0xd84e('0x54')]['id']}})[_0xd84e('0x1c')](handleEntityNotFound(_0x8252b5,null))[_0xd84e('0x1c')](function(_0x4ce594){if(_0x4ce594){return _0x4ce594[_0xd84e('0x6a')](_0x410c82[_0xd84e('0x41')][_0xd84e('0x6b')]);}})[_0xd84e('0x1c')](respondWithStatusCode(_0x8252b5,null))['catch'](handleError(_0x8252b5,null));};exports['notify']=function(_0x5cad91,_0x14e23c,_0x2520bf){var _0x34b177={'body':_0x5cad91[_0xd84e('0x58')],'channel':_0xd84e('0x6c')};var _0x28bd60=[];var _0xfbe30b=[];var _0x2aa69e={};var _0x1ed08a=![];return db[_0xd84e('0x6d')][_0xd84e('0x61')]()[_0xd84e('0x1c')](function(_0x3c10a1){if(!_0x3c10a1){throw new db['Sequelize'][(_0xd84e('0x6e'))]('no\x20available\x20attributes');}_0x28bd60=_[_0xd84e('0x6f')](_[_0xd84e('0x42')](_0x3c10a1),[_0xd84e('0x70'),'updatedAt']);_0xfbe30b=_[_0xd84e('0x6f')](_[_0xd84e('0x42')](_0x3c10a1),[_0xd84e('0x70'),_0xd84e('0x71'),_0xd84e('0x72'),_0xd84e('0x73')]);if(_0x5cad91[_0xd84e('0x58')]['id']){delete _0x5cad91[_0xd84e('0x58')]['id'];}if(_[_0xd84e('0x74')](_0x5cad91[_0xd84e('0x58')][_0xd84e('0x75')])){throw new db[(_0xd84e('0x76'))]['ValidationError'](_0xd84e('0x77'));}if(_[_0xd84e('0x74')](_0x5cad91[_0xd84e('0x58')]['body'])||_0x5cad91['body'][_0xd84e('0x58')]===''){throw new db[(_0xd84e('0x76'))][(_0xd84e('0x6e'))](_0xd84e('0x78'));}if(_['isNil'](_0x5cad91[_0xd84e('0x58')][_0xd84e('0x79')])){throw new db['Sequelize'][(_0xd84e('0x6e'))]('mapKey\x20is\x20mandatory,\x20please\x20use\x20one\x20of\x20these:\x20'+_0xfbe30b);}if(!_['includes'](_0xfbe30b,_0x5cad91[_0xd84e('0x58')]['mapKey'])){throw new db[(_0xd84e('0x76'))]['ValidationError']('mapKey\x20invalid,\x20please\x20use\x20one\x20of\x20these:\x20'+_0xfbe30b);}_0x2aa69e[_0x5cad91['body'][_0xd84e('0x79')]]=_0x5cad91['body'][_0xd84e('0x75')];})[_0xd84e('0x1c')](function(){return db[_0xd84e('0x3c')][_0xd84e('0x56')]({'where':{'id':_0x5cad91[_0xd84e('0x54')]['id']},'include':[{'model':db[_0xd84e('0x7a')],'as':'List','include':[{'model':db[_0xd84e('0x6d')],'as':_0xd84e('0x7b'),'where':_0x2aa69e,'limit':0x1,'order':[['updatedAt',_0xd84e('0x7c')]]}]},{'model':db[_0xd84e('0x7d')],'as':_0xd84e('0x7e')}]});})[_0xd84e('0x1c')](handleEntityNotFound(_0x14e23c,null))[_0xd84e('0x1c')](function(_0xa87f70){if(_0xa87f70&&_0xa87f70[_0xd84e('0x7f')]){_0x34b177[_0xd84e('0x80')]=_0xa87f70;_0x34b177['applications']=_0xa87f70['Applications'];_0x34b177[_0xd84e('0x81')]=_0xa87f70[_0xd84e('0x7f')];_0x34b177['applications']=_[_0xd84e('0x82')](_0x34b177[_0xd84e('0x83')],[_0xd84e('0x84')],[_0xd84e('0x85')]);if(_0x34b177[_0xd84e('0x80')][_0xd84e('0x7e')]){delete _0x34b177[_0xd84e('0x80')][_0xd84e('0x7e')];}if(_0x34b177[_0xd84e('0x80')]['List']&&_0x34b177[_0xd84e('0x80')][_0xd84e('0x7f')][_0xd84e('0x7b')]['length']){return _0x34b177[_0xd84e('0x80')][_0xd84e('0x7f')]['Contacts'][0x0];}var _0x39492f=_[_0xd84e('0x86')](_0x5cad91['body'],{'firstName':_0x5cad91[_0xd84e('0x58')][_0xd84e('0x75')],'ListId':_0xa87f70['ListId']});_0x39492f[_0x5cad91['body']['mapKey']]=_0x5cad91['body'][_0xd84e('0x75')];return db['CmContact'][_0xd84e('0x57')](_0x39492f,{'fields':_0x28bd60,'raw':!![]});}})[_0xd84e('0x1c')](handleEntityNotFound(_0x14e23c,null))[_0xd84e('0x1c')](function(_0x548f0e){_0x34b177[_0xd84e('0x87')]=_0x548f0e;if(_0x548f0e){var _0x22714f={'ContactId':_0x548f0e['id'],'OpenchannelAccountId':_0x5cad91[_0xd84e('0x54')]['id'],'from':(_0x548f0e['firstName']||'')+'\x20'+(_0x548f0e[_0xd84e('0x88')]||'')};var _0x59e6e3={'OpenchannelAccountId':_0x5cad91['params']['id'],'closed':![]};if(_0x5cad91[_0xd84e('0x58')][_0xd84e('0x89')]){_0x59e6e3['threadId']=_0x5cad91[_0xd84e('0x58')][_0xd84e('0x89')];return db[_0xd84e('0x8a')][_0xd84e('0x56')]({'where':_0x59e6e3})['then'](function(_0x551f8e){if(_0x551f8e){return[_0x551f8e,![]];}_0x22714f['threadId']=_0x5cad91[_0xd84e('0x58')][_0xd84e('0x89')];_0x22714f['externalUrl']=_0x5cad91[_0xd84e('0x58')][_0xd84e('0x8b')];return db[_0xd84e('0x8a')][_0xd84e('0x57')](_0x22714f)[_0xd84e('0x1c')](function(_0x37148d){return[_0x37148d,!![]];});});}else{_0x59e6e3['threadId']=null;}_0x59e6e3['ContactId']=_0x548f0e['id'];return db[_0xd84e('0x8a')][_0xd84e('0x56')]({'where':_0x59e6e3})[_0xd84e('0x1c')](function(_0x36df6b){if(_0x36df6b){return[_0x36df6b,![]];}return db[_0xd84e('0x8a')][_0xd84e('0x57')](_0x22714f)[_0xd84e('0x1c')](function(_0xbf591c){return[_0xbf591c,!![]];});});}})[_0xd84e('0x8c')](function(_0xde6cb2,_0x5c6daa){if(_0xde6cb2){_0x1ed08a=_0x5c6daa;if(!_0x5c6daa){var _0x3410db={'from':(_0x34b177[_0xd84e('0x87')][_0xd84e('0x8d')]||'')+'\x20'+(_0x34b177[_0xd84e('0x87')][_0xd84e('0x88')]||'')};if(_0x5cad91[_0xd84e('0x58')][_0xd84e('0x89')]&&_0x5cad91['body'][_0xd84e('0x8e')]&&_0x5cad91[_0xd84e('0x58')][_0xd84e('0x89')]!=_0x5cad91[_0xd84e('0x58')][_0xd84e('0x8e')]){_0x3410db[_0xd84e('0x89')]=_0x5cad91[_0xd84e('0x58')][_0xd84e('0x8e')];}return _0xde6cb2[_0xd84e('0x34')](_0x3410db);}else{return _0xde6cb2;}}})[_0xd84e('0x1c')](function(_0x1fee45){_0x34b177[_0xd84e('0x8f')]=_0x1fee45[_0xd84e('0x5a')]({'plain':!![]});_0x34b177[_0xd84e('0x8f')][_0xd84e('0x90')]=_0x1ed08a;if(_0x34b177[_0xd84e('0x8f')]['created']){if(_0x34b177[_0xd84e('0x80')][_0xd84e('0x91')]){_0x34b177[_0xd84e('0x83')][_0xd84e('0x92')]({'id':0x0,'priority':_0x34b177[_0xd84e('0x83')][_0xd84e('0x55')]+0x1,'app':_0xd84e('0x93'),'appdata':_0xd84e('0x94'),'interval':_0xd84e('0x95')});}}return db[_0xd84e('0x96')][_0xd84e('0x57')]({'body':_0x5cad91[_0xd84e('0x58')]['body'],'OpenchannelAccountId':_0x5cad91[_0xd84e('0x54')]['id'],'OpenchannelInteractionId':_0x1fee45['id'],'direction':'in','ContactId':_0x34b177[_0xd84e('0x87')]['id'],'AttachmentId':_0x5cad91[_0xd84e('0x58')][_0xd84e('0x97')]});})[_0xd84e('0x1c')](function(_0xbf2275){_0x34b177[_0xd84e('0x25')]=_0xbf2275;if(_0x34b177['interaction'][_0xd84e('0x98')]){return db[_0xd84e('0x99')][_0xd84e('0x56')]({'attributes':['id','name'],'where':{'id':_0x34b177[_0xd84e('0x8f')][_0xd84e('0x98')]}})[_0xd84e('0x1c')](function(_0x1aa469){if(_0x1aa469){_0x34b177[_0xd84e('0x83')][_0xd84e('0x9a')]({'id':0x0,'priority':0x0,'app':_0xd84e('0x9b'),'appdata':_0x1aa469[_0xd84e('0x38')]+','+(_0x34b177[_0xd84e('0x80')]['waitForTheAssignedAgent']||0xa),'interval':'*,*,*,*'});_0x34b177[_0xd84e('0x9c')]=![];}return respondWithRpcPromise(_0xd84e('0x9d'),'startRouting',_0x34b177);});}return respondWithRpcPromise(_0xd84e('0x9d'),_0xd84e('0x9e'),_0x34b177);})[_0xd84e('0x1c')](function(_0x329f14){respondWithRpcPromise(_0xd84e('0x9f'),_0xd84e('0x9f'),{'event':_0xd84e('0xa0'),'message':_0x329f14},client9002);return _0x329f14;})[_0xd84e('0x1c')](respondWithResult(_0x14e23c,null))[_0xd84e('0x27')](handleError(_0x14e23c,null));};exports[_0xd84e('0xa1')]=function(_0x5e075d,_0x108921){var _0x2fcd63=_0x5e075d[_0xd84e('0x54')]['id'];var _0x167c7b=_0x5e075d[_0xd84e('0x58')];var _0x49b223=0xc8;var _0x51cea7=null;return db[_0xd84e('0xa2')][_0xd84e('0xa3')]({'isolationLevel':db['sequelize']['Transaction'][_0xd84e('0xa4')]['READ_COMMITTED']},function(_0x5ee6ed){return db['OpenchannelAccount']['findOne']({'where':{'id':_0x2fcd63},'transaction':_0x5ee6ed})['then'](function(_0x159987){if(_0x159987){return db[_0xd84e('0x7d')][_0xd84e('0x35')]({'where':{'OpenchannelAccountId':_0x2fcd63},'transaction':_0x5ee6ed})[_0xd84e('0x1c')](function(){var _0x2099f4=_[_0xd84e('0x3b')](_0x167c7b,function(_0x2ddabe){_0x2ddabe['OpenchannelAccountId']=_0x2fcd63;return _0x2ddabe;});return db[_0xd84e('0x7d')][_0xd84e('0xa5')](_0x2099f4,{'transaction':_0x5ee6ed});});}else{_0x49b223=0x194;_0x51cea7=[];}});})[_0xd84e('0x1c')](function(){if(_0x49b223!==0x194){return db[_0xd84e('0x7d')][_0xd84e('0xa6')]({'where':{'OpenchannelAccountId':_0x2fcd63},'order':'priority'})['then'](function(_0x75f9de){_0x51cea7=_0x75f9de;});}})['catch'](function(_0x311aa8){_0x49b223=0x1f4;logger[_0xd84e('0x23')](_0x311aa8[_0xd84e('0xa7')]);if(_0x311aa8[_0xd84e('0x38')]){delete _0x311aa8[_0xd84e('0x38')];}_0x51cea7=_0x311aa8;})[_0xd84e('0xa8')](function(){if(_0x51cea7===null){_0x108921['sendStatus'](_0x49b223);}else{if(_0x49b223===0x1f4){_0x108921[_0xd84e('0x2a')](_0x49b223)['send'](_0x51cea7);}else{_0x108921[_0xd84e('0x2a')](_0x49b223)[_0xd84e('0x2b')](_0x51cea7);}}});};exports['getApplications']=function(_0x53d8ac,_0x186655,_0x4abf65){var _0x2d389e={};var _0x2f3b38={};var _0x57d095;var _0x47f047;return db[_0xd84e('0x3c')][_0xd84e('0x65')]({'where':{'id':_0x53d8ac[_0xd84e('0x54')]['id']}})[_0xd84e('0x1c')](handleEntityNotFound(_0x186655,null))[_0xd84e('0x1c')](function(_0x285a8a){if(_0x285a8a){_0x57d095=_0x285a8a;_0x2f3b38['model']=_[_0xd84e('0x42')](db[_0xd84e('0x7d')][_0xd84e('0x3d')]);_0x2f3b38[_0xd84e('0x41')]=_[_0xd84e('0x42')](_0x53d8ac[_0xd84e('0x41')]);_0x2f3b38['filters']=_['intersection'](_0x2f3b38[_0xd84e('0x40')],_0x2f3b38['query']);_0x2d389e['attributes']=_[_0xd84e('0x44')](_0x2f3b38['model'],qs[_0xd84e('0x45')](_0x53d8ac[_0xd84e('0x41')][_0xd84e('0x45')]));_0x2d389e['attributes']=_0x2d389e[_0xd84e('0x43')]['length']?_0x2d389e['attributes']:_0x2f3b38['model'];_0x2d389e[_0xd84e('0x48')]=qs['sort'](_0x53d8ac[_0xd84e('0x41')]['sort']);_0x2d389e[_0xd84e('0x4a')]=qs[_0xd84e('0x4b')](_[_0xd84e('0x69')](_0x53d8ac[_0xd84e('0x41')],_0x2f3b38[_0xd84e('0x4b')]));if(_0x53d8ac[_0xd84e('0x41')]['filter']){_0x2d389e['where']=_[_0xd84e('0x4d')](_0x2d389e[_0xd84e('0x4a')],{'$or':_[_0xd84e('0x3b')](_0x2d389e[_0xd84e('0x43')],function(_0xf5ea4e){var _0x3de387={};_0x3de387[_0xf5ea4e]={'$like':'%'+_0x53d8ac[_0xd84e('0x41')][_0xd84e('0x4c')]+'%'};return _0x3de387;})});}_0x2d389e=_['merge']({},_0x2d389e,_0x53d8ac[_0xd84e('0x4f')]);return _0x57d095['getApplications'](_0x2d389e);}})[_0xd84e('0x1c')](function(_0x42ecbf){if(_0x42ecbf){_0x47f047=_0x42ecbf[_0xd84e('0x55')];if(!_0x53d8ac['query']['hasOwnProperty'](_0xd84e('0x47'))){_0x2d389e[_0xd84e('0x2e')]=qs['limit'](_0x53d8ac[_0xd84e('0x41')][_0xd84e('0x2e')]);_0x2d389e['offset']=qs['offset'](_0x53d8ac['query'][_0xd84e('0x2c')]);}return _0x57d095[_0xd84e('0xa9')](_0x2d389e);}})['then'](function(_0x38a38d){if(_0x38a38d){return _0x38a38d?{'count':_0x47f047,'rows':_0x38a38d}:null;}})[_0xd84e('0x1c')](respondWithResult(_0x186655,null))[_0xd84e('0x27')](handleError(_0x186655,null));};exports[_0xd84e('0xaa')]=function(_0x2cec23,_0x361b58,_0x106b7f){var _0x1f74f3={'raw':![],'where':{}};var _0x21e104={};var _0x3cd444={'count':0x0,'rows':[]};return db[_0xd84e('0x3c')]['findOne']({'where':{'id':_0x2cec23[_0xd84e('0x54')]['id']}})[_0xd84e('0x1c')](handleEntityNotFound(_0x361b58,null))[_0xd84e('0x1c')](function(_0x448c1f){if(_0x448c1f){_0x21e104[_0xd84e('0x40')]=_[_0xd84e('0x42')](db[_0xd84e('0x8a')][_0xd84e('0x3d')]);_0x21e104['query']=_[_0xd84e('0x42')](_0x2cec23[_0xd84e('0x41')]);_0x21e104['filters']=_[_0xd84e('0x44')](_0x21e104['model'],_0x21e104[_0xd84e('0x41')]);_0x1f74f3['attributes']=_[_0xd84e('0x44')](_0x21e104[_0xd84e('0x40')],qs['fields'](_0x2cec23[_0xd84e('0x41')][_0xd84e('0x45')]));_0x1f74f3[_0xd84e('0x43')]=_0x1f74f3[_0xd84e('0x43')][_0xd84e('0x55')]?_0x1f74f3['attributes']:_0x21e104['model'];if(!_0x2cec23['query'][_0xd84e('0x46')](_0xd84e('0x47'))){_0x1f74f3[_0xd84e('0x2e')]=qs['limit'](_0x2cec23[_0xd84e('0x41')][_0xd84e('0x2e')]);_0x1f74f3['offset']=qs[_0xd84e('0x2c')](_0x2cec23['query'][_0xd84e('0x2c')]);}_0x1f74f3[_0xd84e('0x48')]=qs[_0xd84e('0x49')](_0x2cec23[_0xd84e('0x41')][_0xd84e('0x49')]);_0x1f74f3[_0xd84e('0x4a')]=qs['filters'](_['pick'](_0x2cec23[_0xd84e('0x41')],_0x21e104['filters']));_0x1f74f3[_0xd84e('0x4a')]['OpenchannelAccountId']=_0x448c1f['id'];if(_0x2cec23['query'][_0xd84e('0x4c')]){_0x1f74f3[_0xd84e('0x4a')]=_[_0xd84e('0x4d')](_0x1f74f3['where'],{'$or':_[_0xd84e('0x3b')](_0x1f74f3[_0xd84e('0x43')],function(_0x31cb73){var _0x3c61e9={};_0x3c61e9[_0x31cb73]={'$like':'%'+_0x2cec23[_0xd84e('0x41')][_0xd84e('0x4c')]+'%'};return _0x3c61e9;})});}_0x1f74f3=_['merge']({},_0x1f74f3,_0x2cec23['options']);return db[_0xd84e('0x8a')]['count']({'where':_0x1f74f3[_0xd84e('0x4a')]})['then'](function(_0x2e0dc2){_0x3cd444[_0xd84e('0x2f')]=_0x2e0dc2;if(_0x2cec23[_0xd84e('0x41')][_0xd84e('0x50')]){_0x1f74f3[_0xd84e('0x51')]=[{'model':db[_0xd84e('0x6d')],'as':'Contact','required':![]},{'model':db[_0xd84e('0x99')],'as':_0xd84e('0xab'),'attributes':['name',_0xd84e('0xac'),'internal'],'required':![]},{'model':db[_0xd84e('0xad')],'as':_0xd84e('0xae'),'attributes':['id',_0xd84e('0x38'),_0xd84e('0xaf')],'where':_0x2cec23[_0xd84e('0x41')]['tag']?{'id':_0x2cec23['query'][_0xd84e('0xb0')]}:undefined,'required':_0x2cec23[_0xd84e('0x41')][_0xd84e('0xb0')]?!![]:![]}];}return db[_0xd84e('0x8a')][_0xd84e('0x52')](_0x1f74f3);})['then'](function(_0x163779){_0x3cd444[_0xd84e('0xb1')]=_0x163779;return _0x3cd444;});}})[_0xd84e('0x1c')](respondWithFilteredResult(_0x361b58,_0x1f74f3))[_0xd84e('0x27')](handleError(_0x361b58,null));};exports[_0xd84e('0xb2')]=function(_0x27d68c,_0x155f9a,_0x53695b){return db[_0xd84e('0x3c')][_0xd84e('0x56')]({'where':{'id':_0x27d68c['params']['id']}})[_0xd84e('0x1c')](handleEntityNotFound(_0x155f9a,null))['then'](function(_0x5e26e8){if(_0x5e26e8){return _0x5e26e8[_0xd84e('0xb2')](_0x27d68c[_0xd84e('0x58')][_0xd84e('0x6b')],_['omit'](_0x27d68c[_0xd84e('0x58')],['ids','id'])||{})[_0xd84e('0x8c')](function(_0x211f37){for(var _0x20f31e=0x0;_0x20f31e<_0x27d68c[_0xd84e('0x58')][_0xd84e('0x6b')][_0xd84e('0x55')];_0x20f31e+=0x1){socket[_0xd84e('0xb3')](_0xd84e('0xb4'),{'UserId':Number(_0x27d68c[_0xd84e('0x58')][_0xd84e('0x6b')][_0x20f31e]),'OpenchannelAccountId':Number(_0x27d68c[_0xd84e('0x54')]['id'])});}return _0x211f37;});}})[_0xd84e('0x1c')](respondWithResult(_0x155f9a,null))['catch'](handleError(_0x155f9a,null));};exports[_0xd84e('0xb5')]=function(_0x96cce8,_0x56791c,_0x1cfc00){return db['OpenchannelAccount'][_0xd84e('0x56')]({'where':{'id':_0x96cce8[_0xd84e('0x54')]['id']}})[_0xd84e('0x1c')](handleEntityNotFound(_0x56791c,null))[_0xd84e('0x1c')](function(_0x5feecb){if(_0x5feecb){return _0x5feecb[_0xd84e('0xb5')](_0x96cce8[_0xd84e('0x41')][_0xd84e('0x6b')])[_0xd84e('0x1c')](function(){if(_[_0xd84e('0xb6')](_0x96cce8[_0xd84e('0x41')][_0xd84e('0x6b')])){for(var _0x3f1efe=0x0;_0x3f1efe<_0x96cce8[_0xd84e('0x41')]['ids'][_0xd84e('0x55')];_0x3f1efe+=0x1){socket[_0xd84e('0xb3')](_0xd84e('0xb7'),{'UserId':Number(_0x96cce8[_0xd84e('0x41')][_0xd84e('0x6b')][_0x3f1efe]),'OpenchannelAccountId':Number(_0x96cce8['params']['id'])});}}else{socket[_0xd84e('0xb3')](_0xd84e('0xb7'),{'UserId':Number(_0x96cce8[_0xd84e('0x41')][_0xd84e('0x6b')]),'OpenchannelAccountId':Number(_0x96cce8[_0xd84e('0x54')]['id'])});}});}})[_0xd84e('0x1c')](respondWithStatusCode(_0x56791c,null))['catch'](handleError(_0x56791c,null));};exports[_0xd84e('0xb8')]=function(_0x1cf9c6,_0x3c78d5,_0xc8bb5d){var _0x49eb58={};var _0x2b318d={};var _0x1fa6f1;var _0x574175;return db['OpenchannelAccount']['findOne']({'where':{'id':_0x1cf9c6[_0xd84e('0x54')]['id']}})['then'](handleEntityNotFound(_0x3c78d5,null))['then'](function(_0x1ba12d){if(_0x1ba12d){_0x1fa6f1=_0x1ba12d;_0x2b318d[_0xd84e('0x40')]=_[_0xd84e('0x42')](db[_0xd84e('0x99')][_0xd84e('0x3d')]);_0x2b318d[_0xd84e('0x41')]=_[_0xd84e('0x42')](_0x1cf9c6[_0xd84e('0x41')]);_0x2b318d[_0xd84e('0x4b')]=_[_0xd84e('0x44')](_0x2b318d[_0xd84e('0x40')],_0x2b318d[_0xd84e('0x41')]);_0x49eb58[_0xd84e('0x43')]=_['intersection'](_0x2b318d['model'],qs[_0xd84e('0x45')](_0x1cf9c6[_0xd84e('0x41')]['fields']));_0x49eb58[_0xd84e('0x43')]=_0x49eb58[_0xd84e('0x43')][_0xd84e('0x55')]?_0x49eb58[_0xd84e('0x43')]:_0x2b318d[_0xd84e('0x40')];_0x49eb58[_0xd84e('0x48')]=qs[_0xd84e('0x49')](_0x1cf9c6[_0xd84e('0x41')][_0xd84e('0x49')]);_0x49eb58[_0xd84e('0x4a')]=qs['filters'](_['pick'](_0x1cf9c6[_0xd84e('0x41')],_0x2b318d[_0xd84e('0x4b')]));if(_0x1cf9c6['query'][_0xd84e('0x4c')]){_0x49eb58['where']=_['merge'](_0x49eb58[_0xd84e('0x4a')],{'$or':_[_0xd84e('0x3b')](_0x49eb58[_0xd84e('0x43')],function(_0x56a1de){var _0x3d1055={};_0x3d1055[_0x56a1de]={'$like':'%'+_0x1cf9c6[_0xd84e('0x41')][_0xd84e('0x4c')]+'%'};return _0x3d1055;})});}_0x49eb58=_[_0xd84e('0x4d')]({},_0x49eb58,_0x1cf9c6['options']);return _0x1fa6f1[_0xd84e('0xb8')](_0x49eb58);}})[_0xd84e('0x1c')](function(_0x42d5f4){if(_0x42d5f4){_0x574175=_0x42d5f4[_0xd84e('0x55')];if(!_0x1cf9c6['query'][_0xd84e('0x46')](_0xd84e('0x47'))){_0x49eb58[_0xd84e('0x2e')]=qs['limit'](_0x1cf9c6[_0xd84e('0x41')][_0xd84e('0x2e')]);_0x49eb58[_0xd84e('0x2c')]=qs[_0xd84e('0x2c')](_0x1cf9c6[_0xd84e('0x41')]['offset']);}return _0x1fa6f1[_0xd84e('0xb8')](_0x49eb58);}})[_0xd84e('0x1c')](function(_0xa87ff0){if(_0xa87ff0){return _0xa87ff0?{'count':_0x574175,'rows':_0xa87ff0}:null;}})[_0xd84e('0x1c')](respondWithResult(_0x3c78d5,null))[_0xd84e('0x27')](handleError(_0x3c78d5,null));};exports[_0xd84e('0x39')]=function(_0x1d37ff,_0x171977,_0x26fbab){var _0x446378,_0x3330c3,_0x576f53;if(_['isNil'](_0x1d37ff[_0xd84e('0x58')]['body'])||_0x1d37ff['body']['body']===''){throw new db[(_0xd84e('0x76'))][(_0xd84e('0x6e'))]('body\x20is\x20mandatory\x20and\x20not\x20empty');}if(_['isNil'](_0x1d37ff[_0xd84e('0x58')]['to'])){}_0x446378=_0x1d37ff[_0xd84e('0x58')]['to'];return db[_0xd84e('0x3c')][_0xd84e('0x65')]({'where':{'id':_0x1d37ff[_0xd84e('0x54')]['id']}})['then'](handleEntityNotFound(_0x171977,null))['then'](function(_0x4c76d5){if(_0x4c76d5){return db['OpenchannelAccount']['find']({'where':{'id':_0x4c76d5['id']},'include':[{'model':db['CmList'],'as':_0xd84e('0x7f'),'include':[{'model':db[_0xd84e('0x6d')],'as':'Contacts','where':{[_0x4c76d5[_0xd84e('0x79')]]:_0x446378},'limit':0x1,'order':[[_0xd84e('0x71'),'DESC']]}]}]})[_0xd84e('0x1c')](handleEntityNotFound(_0x171977,null))[_0xd84e('0x1c')](function(_0x3fd219){if(_0x3fd219&&_0x3fd219[_0xd84e('0x7f')]){_0x3330c3=_0x3fd219[_0xd84e('0x5a')]({'plain':!![]});if(_0x3330c3['List']&&_0x3330c3[_0xd84e('0x7f')][_0xd84e('0x7b')][_0xd84e('0x55')]){return _0x3330c3['List'][_0xd84e('0x7b')][0x0];}return db[_0xd84e('0x6d')][_0xd84e('0x57')](_['defaults'](_0x1d37ff[_0xd84e('0x58')],{'firstName':_0x446378,[_0x3fd219['mapKey']]:_0x446378,'phone':_0x446378,'ListId':_0x3330c3[_0xd84e('0x73')]}));}})[_0xd84e('0x1c')](handleEntityNotFound(_0x171977,null))[_0xd84e('0x1c')](function(_0x2944cc){if(_0x2944cc){_0x576f53=_0x2944cc;return db[_0xd84e('0x8a')][_0xd84e('0x56')]({'where':{'ContactId':_0x576f53['id'],'closed':![],'OpenchannelAccountId':_0x3330c3['id']}})[_0xd84e('0x1c')](function(_0x3435c6){if(_0x3435c6){return[_0x3435c6,![]];}return db['OpenchannelInteraction'][_0xd84e('0x57')]({'UserId':_0x1d37ff[_0xd84e('0x59')]['id'],'ContactId':_0x576f53['id'],'OpenchannelAccountId':_0x3330c3['id'],'lastMsgDirection':'out','Messages':[_['merge'](_0x1d37ff[_0xd84e('0x58')],{'read':![],'body':_0x1d37ff['body'][_0xd84e('0x58')],'OpenchannelAccountId':_0x3330c3['id'],'UserId':_0x1d37ff[_0xd84e('0x59')]['id'],'ContactId':_0x576f53['id']})]},{'include':[{'model':db['OpenchannelMessage'],'as':_0xd84e('0xb9')}]})[_0xd84e('0x1c')](function(_0xc4230){return[_0xc4230,!![]];});});}})[_0xd84e('0x8c')](function(_0xbd132,_0x134140){if(_0x134140){return _0xbd132;}return db[_0xd84e('0x96')]['create'](_[_0xd84e('0x4d')](_0x1d37ff[_0xd84e('0x58')],{'read':![],'body':_0x1d37ff[_0xd84e('0x58')][_0xd84e('0x58')],'OpenchannelAccountId':_0x3330c3['id'],'OpenchannelInteractionId':_0xbd132['id'],'UserId':_0x1d37ff['user']['id'],'ContactId':_0x576f53['id']}))[_0xd84e('0x1c')](function(_0x1d2ebe){_0xbd132[_0xd84e('0xba')]['Messages']=[];_0xbd132[_0xd84e('0xba')][_0xd84e('0xb9')][_0xd84e('0x92')](_0x1d2ebe['dataValues']);return _0xbd132;});});}})[_0xd84e('0x1c')](respondWithResult(_0x171977,null))['catch'](handleError(_0x171977,null));};