d3d686036fc6a48ac114050bf7d1ac0101257ba5
[motion2.git] / server / api / smsAccount / smsAccount.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 _0x03c8=['tag','List','out','SmsMessage','Messages','dataValues','inspect','skebby','skebby_dispatch_id','statusInt','clicksend','status_code','infobip','groupName','redif','DELIVERED','error_code','DELIVERED_TO_GATEWAY','RECEIVED_BY_RECIPIENT','message-delivered','received\x20delivery\x20report\x20from','message-id','state','addAgents','emit','userSmsAccount:save','removeAgents','userSmsAccount:remove','getAgents','eml-format','rimraf','fast-json-patch','moment','mustache','util','sox','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./smsAccount.socket','register','jayson/promise','client','request','then','info','SmsAccount,\x20%s,\x20%s','request\x20sent','debug','SmsAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message','sendStatus','end','json','offset','undefined','limit','status','set','apply','reject','save','update','destroy','get','SmsAccounts','stack','name','index','Pause','mandatoryDispositionPause','map','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','SmsAccount','count','includeAll','include','findAll','show','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','find','userProfileId','UserProfileResource','catch','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','describe','Disposition','getDispositions','findOne','rows','removeDispositions','ids','addAnswer','SmsAccountId','CannedAnswer','options','removeAnswers','notify','sms','Applications','account','applications','orderBy','asc','Sequelize','ValidationError','no\x20available\x20attributes','difference','createdAt','updatedAt','ListId','mobile','twilio','from','From','Body','messageId','MessageSid','text','connectel','message_id','plivo','Text','results','csc','segmentedMessage','clickatell','replyMessageId','bandwidth','intelepeer','isNil','from\x20is\x20mandatory','body\x20is\x20mandatory\x20and\x20not\x20empty','mapKey','mapKey\x20invalid,\x20please\x20use\x20one\x20of\x20these:\x20','CmContact','Contacts','DESC','list','omit','SmsInteraction','spread','interaction','autoclose','push','close','*,*,*,*','UserId','User','waitForTheAssignedAgent','queueId','SmsQueue','queue','waitForTheAssignedQueue','Start','receiveMessage','SmsAccount,\x20%s,\x20%s,\x20%s,\x20%s','entity\x20found','Content-Type','text/xml','<?xml\x20version=\x221.0\x22\x20encoding=\x22UTF-8\x22?>\x0a<Response></Response>','addApplications','sequelize','Transaction','READ_COMMITTED','SmsApplication','findAndCountAll','send','getApplications','getInteractions','fullname','Tag','color'];(function(_0x5146f4,_0x1133d9){var _0x4fcd55=function(_0x3c64b5){while(--_0x3c64b5){_0x5146f4['push'](_0x5146f4['shift']());}};_0x4fcd55(++_0x1133d9);}(_0x03c8,0x1d1));var _0x803c=function(_0x53094b,_0x42b4c9){_0x53094b=_0x53094b-0x0;var _0xf2ac70=_0x03c8[_0x53094b];return _0xf2ac70;};'use strict';var emlformat=require(_0x803c('0x0'));var rimraf=require(_0x803c('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x803c('0x2'));var rp=require('request-promise');var moment=require(_0x803c('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x803c('0x4'));var util=require(_0x803c('0x5'));var path=require('path');var sox=require(_0x803c('0x6'));var csv=require(_0x803c('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x803c('0x8'));var _=require(_0x803c('0x9'));var squel=require(_0x803c('0xa'));var crypto=require(_0x803c('0xb'));var jsforce=require(_0x803c('0xc'));var deskjs=require(_0x803c('0xd'));var toCsv=require(_0x803c('0x7'));var querystring=require('querystring');var Papa=require(_0x803c('0xe'));var Redis=require(_0x803c('0xf'));var authService=require(_0x803c('0x10'));var qs=require(_0x803c('0x11'));var as=require(_0x803c('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x803c('0x13'));var utils=require(_0x803c('0x14'));var config=require(_0x803c('0x15'));var licenseUtil=require('../../config/license/util');var db=require(_0x803c('0x16'))['db'];config[_0x803c('0x17')]=_[_0x803c('0x18')](config[_0x803c('0x17')],{'host':_0x803c('0x19'),'port':0x18eb});var socket=require(_0x803c('0x1a'))(new Redis(config['redis']));require(_0x803c('0x1b'))[_0x803c('0x1c')](socket);var jayson=require(_0x803c('0x1d'));var client=jayson[_0x803c('0x1e')]['http']({'port':0x232c});function respondWithRpcPromise(_0x25b9e5,_0x3e9d05,_0x2c0661,_0x456fcf){return new BPromise(function(_0x2ac3a7,_0x5704df){var _0x577a8a=_0x456fcf||client;return _0x577a8a[_0x803c('0x1f')](_0x25b9e5,_0x2c0661)[_0x803c('0x20')](function(_0x290c10){logger[_0x803c('0x21')](_0x803c('0x22'),_0x3e9d05,_0x803c('0x23'));logger[_0x803c('0x24')](_0x803c('0x25'),_0x3e9d05,_0x803c('0x23'),JSON[_0x803c('0x26')](_0x290c10));if(_0x290c10[_0x803c('0x27')]){if(_0x290c10['error'][_0x803c('0x28')]===0x1f4){logger[_0x803c('0x27')](_0x803c('0x22'),_0x3e9d05,_0x290c10[_0x803c('0x27')][_0x803c('0x29')]);return _0x5704df(_0x290c10[_0x803c('0x27')][_0x803c('0x29')]);}logger['error'](_0x803c('0x22'),_0x3e9d05,_0x290c10['error'][_0x803c('0x29')]);return _0x2ac3a7(_0x290c10[_0x803c('0x27')][_0x803c('0x29')]);}else{logger[_0x803c('0x21')](_0x803c('0x22'),_0x3e9d05,_0x803c('0x23'));_0x2ac3a7(_0x290c10['result']['message']);}})['catch'](function(_0x4b43ac){logger['error'](_0x803c('0x22'),_0x3e9d05,_0x4b43ac);_0x5704df(_0x4b43ac);});});}function respondWithStatusCode(_0x500e22,_0xc4f3da){_0xc4f3da=_0xc4f3da||0xcc;return function(_0x54eaa2){if(_0x54eaa2){return _0x500e22[_0x803c('0x2a')](_0xc4f3da);}return _0x500e22['status'](_0xc4f3da)[_0x803c('0x2b')]();};}function respondWithResult(_0x22f50e,_0x5c3a92){_0x5c3a92=_0x5c3a92||0xc8;return function(_0x27b54a){if(_0x27b54a){return _0x22f50e['status'](_0x5c3a92)[_0x803c('0x2c')](_0x27b54a);}};}function respondWithFilteredResult(_0x24c5d2,_0x35642b){return function(_0x50674c){if(_0x50674c){var _0x3ed09c=typeof _0x35642b[_0x803c('0x2d')]===_0x803c('0x2e')&&typeof _0x35642b[_0x803c('0x2f')]===_0x803c('0x2e');var _0x37baf0=_0x50674c['count'];var _0x245ae4=_0x3ed09c?0x0:_0x35642b['offset'];var _0x50e560=_0x3ed09c?_0x50674c['count']:_0x35642b[_0x803c('0x2d')]+_0x35642b[_0x803c('0x2f')];var _0xbd6298;if(_0x50e560>=_0x37baf0){_0x50e560=_0x37baf0;_0xbd6298=0xc8;}else{_0xbd6298=0xce;}_0x24c5d2[_0x803c('0x30')](_0xbd6298);return _0x24c5d2[_0x803c('0x31')]('Content-Range',_0x245ae4+'-'+_0x50e560+'/'+_0x37baf0)[_0x803c('0x2c')](_0x50674c);}return null;};}function patchUpdates(_0x1453c4){return function(_0x267253){try{jsonpatch[_0x803c('0x32')](_0x267253,_0x1453c4,!![]);}catch(_0x22c8ad){return BPromise[_0x803c('0x33')](_0x22c8ad);}return _0x267253[_0x803c('0x34')]();};}function saveUpdates(_0x2cffb2,_0x5590f8){return function(_0x5ab10a){if(_0x5ab10a){return _0x5ab10a[_0x803c('0x35')](_0x2cffb2)[_0x803c('0x20')](function(_0x28e345){return _0x28e345;});}return null;};}function removeEntity(_0x412d1d,_0x75b994){return function(_0x3a343c){if(_0x3a343c){return _0x3a343c[_0x803c('0x36')]()[_0x803c('0x20')](function(){var _0x4667d5=_0x3a343c[_0x803c('0x37')]({'plain':!![]});var _0x2b86dc=_0x803c('0x38');return db['UserProfileResource'][_0x803c('0x36')]({'where':{'type':_0x2b86dc,'resourceId':_0x4667d5['id']}})[_0x803c('0x20')](function(){return _0x3a343c;});})[_0x803c('0x20')](function(){_0x412d1d[_0x803c('0x30')](0xcc)['end']();});}};}function handleEntityNotFound(_0x7a7b1,_0x47d3e1){return function(_0x42aaab){if(!_0x42aaab){_0x7a7b1[_0x803c('0x2a')](0x194);}return _0x42aaab;};}function handleError(_0x20ed05,_0x312c51){_0x312c51=_0x312c51||0x1f4;return function(_0x1bdaa7){logger['error'](_0x1bdaa7[_0x803c('0x39')]);if(_0x1bdaa7[_0x803c('0x3a')]){delete _0x1bdaa7[_0x803c('0x3a')];}_0x20ed05['status'](_0x312c51)['send'](_0x1bdaa7);};}exports[_0x803c('0x3b')]=function(_0x668d3b,_0x32e5a0){var _0x418bab={'include':[{'model':db[_0x803c('0x3c')],'as':_0x803c('0x3d')}]},_0x3f6978={},_0x4f4461={'count':0x0,'rows':[]};var _0xfe724b=_[_0x803c('0x3e')](db['SmsAccount'][_0x803c('0x3f')],function(_0x5b22d7){return{'name':_0x5b22d7[_0x803c('0x40')],'type':_0x5b22d7[_0x803c('0x41')][_0x803c('0x42')]};});_0x3f6978[_0x803c('0x43')]=_[_0x803c('0x3e')](_0xfe724b,_0x803c('0x3a'));_0x3f6978[_0x803c('0x44')]=_[_0x803c('0x45')](_0x668d3b[_0x803c('0x44')]);_0x3f6978[_0x803c('0x46')]=_[_0x803c('0x47')](_0x3f6978[_0x803c('0x43')],_0x3f6978[_0x803c('0x44')]);_0x418bab[_0x803c('0x48')]=_[_0x803c('0x47')](_0x3f6978['model'],qs[_0x803c('0x49')](_0x668d3b['query']['fields']));_0x418bab['attributes']=_0x418bab[_0x803c('0x48')][_0x803c('0x4a')]?_0x418bab[_0x803c('0x48')]:_0x3f6978[_0x803c('0x43')];if(!_0x668d3b['query'][_0x803c('0x4b')](_0x803c('0x4c'))){_0x418bab['limit']=qs[_0x803c('0x2f')](_0x668d3b[_0x803c('0x44')][_0x803c('0x2f')]);_0x418bab[_0x803c('0x2d')]=qs[_0x803c('0x2d')](_0x668d3b[_0x803c('0x44')][_0x803c('0x2d')]);}_0x418bab[_0x803c('0x4d')]=qs[_0x803c('0x4e')](_0x668d3b[_0x803c('0x44')][_0x803c('0x4e')]);_0x418bab[_0x803c('0x4f')]=qs[_0x803c('0x46')](_[_0x803c('0x50')](_0x668d3b[_0x803c('0x44')],_0x3f6978[_0x803c('0x46')]),_0xfe724b);if(_0x668d3b[_0x803c('0x44')][_0x803c('0x51')]){_0x418bab[_0x803c('0x4f')]=_[_0x803c('0x52')](_0x418bab[_0x803c('0x4f')],{'$or':_[_0x803c('0x3e')](_0xfe724b,function(_0x58a52e){if(_0x58a52e[_0x803c('0x41')]!==_0x803c('0x53')){var _0x166fe2={};_0x166fe2[_0x58a52e[_0x803c('0x3a')]]={'$like':'%'+_0x668d3b['query'][_0x803c('0x51')]+'%'};return _0x166fe2;}})});}_0x418bab=_[_0x803c('0x52')]({},_0x418bab,_0x668d3b['options']);var _0x598343={'where':_0x418bab[_0x803c('0x4f')]};return db[_0x803c('0x54')][_0x803c('0x55')](_0x598343)[_0x803c('0x20')](function(_0x57012e){_0x4f4461[_0x803c('0x55')]=_0x57012e;if(_0x668d3b['query'][_0x803c('0x56')]){_0x418bab[_0x803c('0x57')]=[{'all':!![]}];}return db['SmsAccount'][_0x803c('0x58')](_0x418bab);})[_0x803c('0x20')](function(_0x272604){_0x4f4461['rows']=_0x272604;return _0x4f4461;})[_0x803c('0x20')](respondWithFilteredResult(_0x32e5a0,_0x418bab))['catch'](handleError(_0x32e5a0,null));};exports[_0x803c('0x59')]=function(_0x17601a,_0xe829ad){var _0x3fba5e={'raw':![],'where':{'id':_0x17601a['params']['id']},'include':[{'model':db[_0x803c('0x3c')],'as':'mandatoryDispositionPause'}]},_0xcf6e25={};_0xcf6e25[_0x803c('0x43')]=_[_0x803c('0x45')](db['SmsAccount'][_0x803c('0x3f')]);_0xcf6e25[_0x803c('0x44')]=_[_0x803c('0x45')](_0x17601a[_0x803c('0x44')]);_0xcf6e25[_0x803c('0x46')]=_[_0x803c('0x47')](_0xcf6e25[_0x803c('0x43')],_0xcf6e25[_0x803c('0x44')]);_0x3fba5e[_0x803c('0x48')]=_['intersection'](_0xcf6e25[_0x803c('0x43')],qs[_0x803c('0x49')](_0x17601a[_0x803c('0x44')]['fields']));_0x3fba5e[_0x803c('0x48')]=_0x3fba5e['attributes'][_0x803c('0x4a')]?_0x3fba5e[_0x803c('0x48')]:_0xcf6e25[_0x803c('0x43')];if(_0x17601a[_0x803c('0x44')]['includeAll']){_0x3fba5e['include']=[{'all':!![]}];}_0x3fba5e=_[_0x803c('0x52')]({},_0x3fba5e,_0x17601a['options']);return db['SmsAccount']['find'](_0x3fba5e)[_0x803c('0x20')](handleEntityNotFound(_0xe829ad,null))[_0x803c('0x20')](respondWithResult(_0xe829ad,null))['catch'](handleError(_0xe829ad,null));};exports[_0x803c('0x5a')]=function(_0xd70d43,_0x4f5241){return db[_0x803c('0x54')][_0x803c('0x5a')](_0xd70d43[_0x803c('0x5b')],{})[_0x803c('0x20')](function(_0x3c9238){var _0x57cbd9=_0xd70d43[_0x803c('0x5c')][_0x803c('0x37')]({'plain':!![]});if(!_0x57cbd9)throw new Error(_0x803c('0x5d'));if(_0x57cbd9['role']===_0x803c('0x5c')){var _0xe82b87=_0x3c9238[_0x803c('0x37')]({'plain':!![]});var _0x17a122=_0x803c('0x38');return db[_0x803c('0x5e')][_0x803c('0x5f')]({'where':{'name':_0x17a122,'userProfileId':_0x57cbd9[_0x803c('0x60')]},'raw':!![]})[_0x803c('0x20')](function(_0x386efc){if(_0x386efc&&_0x386efc['autoAssociation']===0x0){return db[_0x803c('0x61')]['create']({'name':_0xe82b87[_0x803c('0x3a')],'resourceId':_0xe82b87['id'],'type':_0x386efc[_0x803c('0x3a')],'sectionId':_0x386efc['id']},{})[_0x803c('0x20')](function(){return _0x3c9238;});}else{return _0x3c9238;}})[_0x803c('0x62')](function(_0xc1fd13){logger[_0x803c('0x27')](_0x803c('0x63'),_0xc1fd13);throw _0xc1fd13;});}return _0x3c9238;})[_0x803c('0x20')](respondWithResult(_0x4f5241,0xc9))['catch'](handleError(_0x4f5241,null));};exports[_0x803c('0x35')]=function(_0x51b3be,_0x4a4603){if(_0x51b3be['body']['id']){delete _0x51b3be[_0x803c('0x5b')]['id'];}return db[_0x803c('0x54')][_0x803c('0x5f')]({'where':{'id':_0x51b3be[_0x803c('0x64')]['id']},'include':[{'model':db[_0x803c('0x3c')],'as':_0x803c('0x3d')}]})[_0x803c('0x20')](handleEntityNotFound(_0x4a4603,null))['then'](saveUpdates(_0x51b3be[_0x803c('0x5b')],null))[_0x803c('0x20')](respondWithResult(_0x4a4603,null))[_0x803c('0x62')](handleError(_0x4a4603,null));};exports['destroy']=function(_0x26e5df,_0x444136){return db[_0x803c('0x54')][_0x803c('0x5f')]({'where':{'id':_0x26e5df[_0x803c('0x64')]['id']}})[_0x803c('0x20')](handleEntityNotFound(_0x444136,null))['then'](removeEntity(_0x444136,null))[_0x803c('0x62')](handleError(_0x444136,null));};exports[_0x803c('0x65')]=function(_0x2f033a,_0x6b2dd7){return db['SmsAccount'][_0x803c('0x65')]()['then'](respondWithResult(_0x6b2dd7,null))['catch'](handleError(_0x6b2dd7,null));};exports['addDisposition']=function(_0x1d6591,_0x3b0828,_0x51df74){if(_0x1d6591[_0x803c('0x5b')]['id']){delete _0x1d6591[_0x803c('0x5b')]['id'];}return db[_0x803c('0x54')][_0x803c('0x5f')]({'where':{'id':_0x1d6591['params']['id']}})[_0x803c('0x20')](handleEntityNotFound(_0x3b0828,null))['then'](function(_0x36fc55){if(_0x36fc55){_0x1d6591[_0x803c('0x5b')]['SmsAccountId']=_0x36fc55['id'];return db[_0x803c('0x66')][_0x803c('0x5a')](_0x1d6591['body']);}})[_0x803c('0x20')](respondWithResult(_0x3b0828,null))['catch'](handleError(_0x3b0828,null));};exports[_0x803c('0x67')]=function(_0x321e80,_0x39b364,_0x5b0ada){var _0x5939e5={'raw':![],'where':{}};var _0x5ae486={};var _0x4c0f66={'count':0x0,'rows':[]};return db[_0x803c('0x54')][_0x803c('0x68')]({'where':{'id':_0x321e80[_0x803c('0x64')]['id']}})[_0x803c('0x20')](handleEntityNotFound(_0x39b364,null))[_0x803c('0x20')](function(_0x30df44){if(_0x30df44){_0x5ae486[_0x803c('0x43')]=_['keys'](db[_0x803c('0x66')][_0x803c('0x3f')]);_0x5ae486[_0x803c('0x44')]=_[_0x803c('0x45')](_0x321e80[_0x803c('0x44')]);_0x5ae486[_0x803c('0x46')]=_[_0x803c('0x47')](_0x5ae486[_0x803c('0x43')],_0x5ae486['query']);_0x5939e5[_0x803c('0x48')]=_[_0x803c('0x47')](_0x5ae486[_0x803c('0x43')],qs[_0x803c('0x49')](_0x321e80['query'][_0x803c('0x49')]));_0x5939e5['attributes']=_0x5939e5[_0x803c('0x48')][_0x803c('0x4a')]?_0x5939e5[_0x803c('0x48')]:_0x5ae486['model'];if(!_0x321e80[_0x803c('0x44')]['hasOwnProperty'](_0x803c('0x4c'))){_0x5939e5[_0x803c('0x2f')]=qs[_0x803c('0x2f')](_0x321e80[_0x803c('0x44')][_0x803c('0x2f')]);_0x5939e5[_0x803c('0x2d')]=qs[_0x803c('0x2d')](_0x321e80[_0x803c('0x44')][_0x803c('0x2d')]);}_0x5939e5['order']=qs[_0x803c('0x4e')](_0x321e80[_0x803c('0x44')][_0x803c('0x4e')]);_0x5939e5[_0x803c('0x4f')]=qs[_0x803c('0x46')](_[_0x803c('0x50')](_0x321e80[_0x803c('0x44')],_0x5ae486[_0x803c('0x46')]));_0x5939e5[_0x803c('0x4f')]['SmsAccountId']=_0x30df44['id'];if(_0x321e80[_0x803c('0x44')][_0x803c('0x51')]){_0x5939e5[_0x803c('0x4f')]=_[_0x803c('0x52')](_0x5939e5[_0x803c('0x4f')],{'$or':_[_0x803c('0x3e')](_0x5939e5['attributes'],function(_0x4bc926){var _0x2f40b0={};_0x2f40b0[_0x4bc926]={'$like':'%'+_0x321e80['query'][_0x803c('0x51')]+'%'};return _0x2f40b0;})});}_0x5939e5=_[_0x803c('0x52')]({},_0x5939e5,_0x321e80['options']);return db[_0x803c('0x66')][_0x803c('0x55')]({'where':_0x5939e5[_0x803c('0x4f')]})[_0x803c('0x20')](function(_0x22210c){_0x4c0f66[_0x803c('0x55')]=_0x22210c;if(_0x321e80[_0x803c('0x44')][_0x803c('0x56')]){_0x5939e5['include']=[{'all':!![]}];}return db[_0x803c('0x66')][_0x803c('0x58')](_0x5939e5);})[_0x803c('0x20')](function(_0x256908){_0x4c0f66[_0x803c('0x69')]=_0x256908;return _0x4c0f66;});}})['then'](respondWithFilteredResult(_0x39b364,_0x5939e5))[_0x803c('0x62')](handleError(_0x39b364,null));};exports[_0x803c('0x6a')]=function(_0x3a3eb7,_0x3050ca,_0x387e09){return db[_0x803c('0x54')][_0x803c('0x5f')]({'where':{'id':_0x3a3eb7[_0x803c('0x64')]['id']}})[_0x803c('0x20')](handleEntityNotFound(_0x3050ca,null))[_0x803c('0x20')](function(_0x2a247a){if(_0x2a247a){return _0x2a247a['removeDispositions'](_0x3a3eb7[_0x803c('0x44')][_0x803c('0x6b')]);}})[_0x803c('0x20')](respondWithStatusCode(_0x3050ca,null))[_0x803c('0x62')](handleError(_0x3050ca,null));};exports[_0x803c('0x6c')]=function(_0x20fe2d,_0x57f2f6,_0x4f20b8){if(_0x20fe2d['body']['id']){delete _0x20fe2d['body']['id'];}return db[_0x803c('0x54')][_0x803c('0x5f')]({'where':{'id':_0x20fe2d['params']['id']}})[_0x803c('0x20')](handleEntityNotFound(_0x57f2f6,null))[_0x803c('0x20')](function(_0x2e7c77){if(_0x2e7c77){_0x20fe2d[_0x803c('0x5b')][_0x803c('0x6d')]=_0x2e7c77['id'];return db[_0x803c('0x6e')][_0x803c('0x5a')](_0x20fe2d['body']);}})[_0x803c('0x20')](respondWithResult(_0x57f2f6,null))['catch'](handleError(_0x57f2f6,null));};exports['getAnswers']=function(_0x51ac9f,_0x5a3652,_0x2d2ffc){var _0x393ea4={'raw':![],'where':{}};var _0x328fc1={};var _0x2f4ae1={'count':0x0,'rows':[]};return db[_0x803c('0x54')][_0x803c('0x68')]({'where':{'id':_0x51ac9f[_0x803c('0x64')]['id']}})[_0x803c('0x20')](handleEntityNotFound(_0x5a3652,null))[_0x803c('0x20')](function(_0x5c5c2b){if(_0x5c5c2b){_0x328fc1[_0x803c('0x43')]=_[_0x803c('0x45')](db[_0x803c('0x6e')]['rawAttributes']);_0x328fc1[_0x803c('0x44')]=_[_0x803c('0x45')](_0x51ac9f[_0x803c('0x44')]);_0x328fc1[_0x803c('0x46')]=_['intersection'](_0x328fc1[_0x803c('0x43')],_0x328fc1[_0x803c('0x44')]);_0x393ea4[_0x803c('0x48')]=_[_0x803c('0x47')](_0x328fc1[_0x803c('0x43')],qs['fields'](_0x51ac9f[_0x803c('0x44')][_0x803c('0x49')]));_0x393ea4['attributes']=_0x393ea4[_0x803c('0x48')][_0x803c('0x4a')]?_0x393ea4['attributes']:_0x328fc1[_0x803c('0x43')];if(!_0x51ac9f[_0x803c('0x44')][_0x803c('0x4b')]('nolimit')){_0x393ea4[_0x803c('0x2f')]=qs[_0x803c('0x2f')](_0x51ac9f[_0x803c('0x44')]['limit']);_0x393ea4[_0x803c('0x2d')]=qs[_0x803c('0x2d')](_0x51ac9f[_0x803c('0x44')][_0x803c('0x2d')]);}_0x393ea4[_0x803c('0x4d')]=qs['sort'](_0x51ac9f['query']['sort']);_0x393ea4[_0x803c('0x4f')]=qs[_0x803c('0x46')](_[_0x803c('0x50')](_0x51ac9f[_0x803c('0x44')],_0x328fc1[_0x803c('0x46')]));_0x393ea4['where']['SmsAccountId']=_0x5c5c2b['id'];if(_0x51ac9f[_0x803c('0x44')]['filter']){_0x393ea4[_0x803c('0x4f')]=_[_0x803c('0x52')](_0x393ea4['where'],{'$or':_[_0x803c('0x3e')](_0x393ea4[_0x803c('0x48')],function(_0x233211){var _0x4bf507={};_0x4bf507[_0x233211]={'$like':'%'+_0x51ac9f['query'][_0x803c('0x51')]+'%'};return _0x4bf507;})});}_0x393ea4=_[_0x803c('0x52')]({},_0x393ea4,_0x51ac9f[_0x803c('0x6f')]);return db[_0x803c('0x6e')]['count']({'where':_0x393ea4[_0x803c('0x4f')]})[_0x803c('0x20')](function(_0x513b9d){_0x2f4ae1[_0x803c('0x55')]=_0x513b9d;if(_0x51ac9f['query'][_0x803c('0x56')]){_0x393ea4[_0x803c('0x57')]=[{'all':!![]}];}return db['CannedAnswer'][_0x803c('0x58')](_0x393ea4);})[_0x803c('0x20')](function(_0x401162){_0x2f4ae1[_0x803c('0x69')]=_0x401162;return _0x2f4ae1;});}})['then'](respondWithFilteredResult(_0x5a3652,_0x393ea4))[_0x803c('0x62')](handleError(_0x5a3652,null));};exports[_0x803c('0x70')]=function(_0x262c35,_0x1162b9,_0x1d3448){return db[_0x803c('0x54')][_0x803c('0x5f')]({'where':{'id':_0x262c35[_0x803c('0x64')]['id']}})['then'](handleEntityNotFound(_0x1162b9,null))[_0x803c('0x20')](function(_0xe58f55){if(_0xe58f55){return _0xe58f55[_0x803c('0x70')](_0x262c35[_0x803c('0x44')]['ids']);}})['then'](respondWithStatusCode(_0x1162b9,null))[_0x803c('0x62')](handleError(_0x1162b9,null));};exports[_0x803c('0x71')]=function(_0x4e7ec3,_0x4b1c3c,_0x362ac6){var _0x3ab8e2={'channel':_0x803c('0x72')};var _0x5d37c2=[];var _0x5535e9=[];var _0x5643f4={};return db['SmsAccount']['find']({'where':{'id':_0x4e7ec3['params']['id']},'include':[{'model':db['SmsApplication'],'as':_0x803c('0x73')}]})['then'](handleEntityNotFound(_0x4b1c3c,null))['then'](function(_0x4cf435){_0x3ab8e2[_0x803c('0x74')]=_0x4cf435;_0x3ab8e2[_0x803c('0x75')]=_[_0x803c('0x76')](_0x4cf435[_0x803c('0x73')],['priority'],[_0x803c('0x77')]);if(_0x3ab8e2['account']['Applications']){delete _0x3ab8e2[_0x803c('0x74')]['Applications'];}return db['CmContact'][_0x803c('0x65')]();})[_0x803c('0x20')](function(_0x30853a){if(!_0x30853a){throw new db[(_0x803c('0x78'))][(_0x803c('0x79'))](_0x803c('0x7a'));}_0x5d37c2=_[_0x803c('0x7b')](_['keys'](_0x30853a),[_0x803c('0x7c'),_0x803c('0x7d')]);_0x5535e9=_[_0x803c('0x7b')](_[_0x803c('0x45')](_0x30853a),[_0x803c('0x7c'),_0x803c('0x7d'),'CompanyId',_0x803c('0x7e')]);_0x3ab8e2[_0x803c('0x5b')]={'mapKey':_0x803c('0x7f')};if(_0x3ab8e2[_0x803c('0x74')][_0x803c('0x41')]){switch(_0x3ab8e2[_0x803c('0x74')][_0x803c('0x41')]){case _0x803c('0x80'):_0x3ab8e2[_0x803c('0x5b')][_0x803c('0x81')]=_0x4e7ec3[_0x803c('0x5b')][_0x803c('0x82')];_0x3ab8e2['body'][_0x803c('0x5b')]=_0x4e7ec3[_0x803c('0x5b')][_0x803c('0x83')];_0x3ab8e2[_0x803c('0x5b')][_0x803c('0x84')]=_0x4e7ec3['body'][_0x803c('0x85')];break;case'skebby':_0x3ab8e2['body'][_0x803c('0x81')]='+'+_0x4e7ec3[_0x803c('0x5b')]['sender'];_0x3ab8e2[_0x803c('0x5b')]['body']=_0x4e7ec3[_0x803c('0x5b')][_0x803c('0x86')];break;case _0x803c('0x87'):_0x3ab8e2['body'][_0x803c('0x81')]=_0x4e7ec3[_0x803c('0x5b')][_0x803c('0x81')];_0x3ab8e2[_0x803c('0x5b')][_0x803c('0x5b')]=_0x4e7ec3[_0x803c('0x5b')]['message'];break;case'clicksend':_0x3ab8e2[_0x803c('0x5b')][_0x803c('0x81')]=_0x4e7ec3[_0x803c('0x5b')][_0x803c('0x81')];_0x3ab8e2[_0x803c('0x5b')][_0x803c('0x5b')]=_0x4e7ec3[_0x803c('0x5b')][_0x803c('0x5b')];_0x3ab8e2[_0x803c('0x5b')][_0x803c('0x84')]=_0x4e7ec3['body'][_0x803c('0x88')];break;case _0x803c('0x89'):_0x3ab8e2[_0x803c('0x5b')][_0x803c('0x81')]=_0x4e7ec3['body'][_0x803c('0x82')];_0x3ab8e2['body'][_0x803c('0x5b')]=_0x4e7ec3['body'][_0x803c('0x8a')];_0x3ab8e2[_0x803c('0x5b')][_0x803c('0x84')]=_0x4e7ec3['body']['MessageUUID'];break;case'infobip':_0x3ab8e2[_0x803c('0x5b')][_0x803c('0x81')]='+'+_0x4e7ec3[_0x803c('0x5b')][_0x803c('0x8b')][0x0][_0x803c('0x81')];_0x3ab8e2['body'][_0x803c('0x5b')]=_0x4e7ec3[_0x803c('0x5b')][_0x803c('0x8b')][0x0]['text'];_0x3ab8e2[_0x803c('0x5b')][_0x803c('0x84')]=_0x4e7ec3['body'][_0x803c('0x8b')][0x0][_0x803c('0x84')];break;case _0x803c('0x8c'):_0x3ab8e2[_0x803c('0x5b')][_0x803c('0x81')]=_0x4e7ec3['body']['originatingAddress'];_0x3ab8e2[_0x803c('0x5b')][_0x803c('0x5b')]=_0x4e7ec3[_0x803c('0x5b')][_0x803c('0x8d')][_0x803c('0x29')];break;case _0x803c('0x8e'):_0x3ab8e2[_0x803c('0x5b')][_0x803c('0x81')]=_0x4e7ec3[_0x803c('0x5b')]['fromNumber'];_0x3ab8e2[_0x803c('0x5b')]['body']=_0x4e7ec3[_0x803c('0x5b')][_0x803c('0x86')];_0x3ab8e2[_0x803c('0x5b')][_0x803c('0x84')]=_0x4e7ec3[_0x803c('0x5b')][_0x803c('0x8f')];break;case _0x803c('0x90'):_0x3ab8e2[_0x803c('0x5b')][_0x803c('0x84')]=_0x4e7ec3[_0x803c('0x5b')][0x0][_0x803c('0x29')]['id'];_0x3ab8e2[_0x803c('0x5b')][_0x803c('0x81')]=_0x4e7ec3[_0x803c('0x5b')][0x0]['message'][_0x803c('0x81')];_0x3ab8e2['body']['body']=_0x4e7ec3['body'][0x0][_0x803c('0x29')][_0x803c('0x86')];break;case _0x803c('0x91'):_0x3ab8e2[_0x803c('0x5b')][_0x803c('0x81')]=_0x4e7ec3[_0x803c('0x5b')][_0x803c('0x81')];_0x3ab8e2['body'][_0x803c('0x5b')]=_0x4e7ec3['body'][_0x803c('0x29')];_0x3ab8e2['body'][_0x803c('0x84')]=_0x4e7ec3[_0x803c('0x5b')]['refid'];break;}}if(_0x3ab8e2[_0x803c('0x5b')]['id']){delete _0x3ab8e2[_0x803c('0x5b')]['id'];}if(_[_0x803c('0x92')](_0x3ab8e2[_0x803c('0x5b')][_0x803c('0x81')])){throw new db[(_0x803c('0x78'))]['ValidationError'](_0x803c('0x93'));}if(_[_0x803c('0x92')](_0x3ab8e2['body'][_0x803c('0x5b')])||_0x3ab8e2[_0x803c('0x5b')]['body']===''){throw new db[(_0x803c('0x78'))][(_0x803c('0x79'))](_0x803c('0x94'));}if(_[_0x803c('0x92')](_0x3ab8e2[_0x803c('0x5b')][_0x803c('0x95')])){throw new db[(_0x803c('0x78'))]['ValidationError']('mapKey\x20is\x20mandatory,\x20please\x20use\x20one\x20of\x20these:\x20'+_0x5535e9);}if(!_['includes'](_0x5535e9,_0x3ab8e2[_0x803c('0x5b')][_0x803c('0x95')])){throw new db[(_0x803c('0x78'))][(_0x803c('0x79'))](_0x803c('0x96')+_0x5535e9);}_0x5643f4[_0x3ab8e2[_0x803c('0x5b')][_0x803c('0x95')]]=_0x3ab8e2[_0x803c('0x5b')]['from'];return db['CmList'][_0x803c('0x5f')]({'where':{'id':_0x3ab8e2['account'][_0x803c('0x7e')]},'include':[{'model':db[_0x803c('0x97')],'as':_0x803c('0x98'),'where':_0x5643f4,'limit':0x1,'order':[[_0x803c('0x7d'),_0x803c('0x99')]]}]});})[_0x803c('0x20')](handleEntityNotFound(_0x4b1c3c,null))[_0x803c('0x20')](function(_0x2bf847){if(_0x2bf847){_0x3ab8e2[_0x803c('0x9a')]=_[_0x803c('0x9b')](_0x2bf847,[_0x803c('0x98')]);if(_0x2bf847[_0x803c('0x98')][_0x803c('0x4a')]){return _0x2bf847[_0x803c('0x98')][0x0];}var _0x1f908e=_[_0x803c('0x18')](_0x3ab8e2[_0x803c('0x5b')],{'firstName':_0x3ab8e2[_0x803c('0x5b')][_0x803c('0x81')],'ListId':_0x2bf847['id']});_0x1f908e[_0x3ab8e2[_0x803c('0x5b')][_0x803c('0x95')]]=_0x3ab8e2[_0x803c('0x5b')][_0x803c('0x81')];return db['CmContact'][_0x803c('0x5a')](_0x1f908e,{'fields':_0x5d37c2,'raw':!![]});}})['then'](handleEntityNotFound(_0x4b1c3c,null))[_0x803c('0x20')](function(_0x20cf44){if(_0x20cf44){_0x3ab8e2['contact']=_0x20cf44;var _0x3fc18a={'ContactId':_0x20cf44['id'],'phone':_0x3ab8e2[_0x803c('0x5b')][_0x803c('0x81')],'SmsAccountId':_0x4e7ec3['params']['id']};var _0x421e59={'ContactId':_0x20cf44['id'],'SmsAccountId':_0x4e7ec3[_0x803c('0x64')]['id'],'closed':![]};return db[_0x803c('0x9c')][_0x803c('0x5f')]({'where':_0x421e59})[_0x803c('0x20')](function(_0xc467a3){if(_0xc467a3){return[_0xc467a3,![]];}return db['SmsInteraction'][_0x803c('0x5a')](_0x3fc18a)[_0x803c('0x20')](function(_0x25262c){return[_0x25262c,!![]];});});}})[_0x803c('0x9d')](function(_0x415d68,_0x59395d){_0x3ab8e2[_0x803c('0x9e')]=_0x415d68[_0x803c('0x37')]({'plain':!![]});_0x3ab8e2[_0x803c('0x9e')]['created']=![];if(_0x59395d){if(_0x3ab8e2[_0x803c('0x74')][_0x803c('0x9f')]){_0x3ab8e2[_0x803c('0x75')][_0x803c('0xa0')]({'id':0x0,'priority':_0x3ab8e2[_0x803c('0x75')][_0x803c('0x4a')]+0x1,'app':_0x803c('0xa1'),'appdata':'unmanaged','interval':_0x803c('0xa2')});}_0x3ab8e2[_0x803c('0x9e')]['created']=!![];}return db['SmsMessage'][_0x803c('0x5a')]({'phone':_0x3ab8e2['body'][_0x803c('0x81')],'messageId':_0x3ab8e2[_0x803c('0x5b')][_0x803c('0x84')],'body':_0x3ab8e2['body']['body'],'SmsAccountId':_0x4e7ec3[_0x803c('0x64')]['id'],'SmsInteractionId':_0x415d68['id'],'direction':'in','ContactId':_0x415d68['ContactId'],'AttachmentId':_0x3ab8e2[_0x803c('0x5b')]['AttachmentId']});})[_0x803c('0x20')](function(_0x72eaac){_0x3ab8e2[_0x803c('0x29')]=_0x72eaac;if(!_0x3ab8e2['interaction'][_0x803c('0xa3')])return;return db[_0x803c('0xa4')][_0x803c('0x5f')]({'attributes':['id','name'],'where':{'id':_0x3ab8e2['interaction'][_0x803c('0xa3')]}});})[_0x803c('0x20')](function(_0x5ee6d5){if(_0x5ee6d5){_0x3ab8e2[_0x803c('0x75')]['unshift']({'id':0x0,'priority':0x0,'app':'agent','appdata':_0x5ee6d5[_0x803c('0x3a')]+','+(_0x3ab8e2[_0x803c('0x74')][_0x803c('0xa5')]||0xa),'interval':_0x803c('0xa2')});}if(!_0x3ab8e2[_0x803c('0x9e')][_0x803c('0xa6')])return;return db[_0x803c('0xa7')][_0x803c('0x5f')]({'attributes':['id','name'],'where':{'id':_0x3ab8e2['interaction']['queueId']}});})[_0x803c('0x20')](function(_0x1a5f70){if(_0x1a5f70){_0x3ab8e2[_0x803c('0x75')]['unshift']({'id':0x0,'priority':0x1,'app':_0x803c('0xa8'),'appdata':_0x1a5f70[_0x803c('0x3a')]+','+(_0x3ab8e2[_0x803c('0x74')][_0x803c('0xa9')]||0x12c),'interval':'*,*,*,*'});}return respondWithRpcPromise(_0x803c('0xaa'),'startRouting',_0x3ab8e2);})['then'](function(_0x4330e5){if(_0x4330e5){var _0xa2f4c9=0xc8;var _0x5cfefa=_0x803c('0xab');logger[_0x803c('0x21')](_0x803c('0x25'),_0x5cfefa,_0xa2f4c9,'entity\x20found');logger[_0x803c('0x24')](_0x803c('0xac'),_0x5cfefa,_0xa2f4c9,_0x803c('0xad'),JSON[_0x803c('0x26')](_0x4330e5));if(_0x3ab8e2[_0x803c('0x74')][_0x803c('0x41')]===_0x803c('0x80')){return _0x4b1c3c[_0x803c('0x30')](_0xa2f4c9)['set'](_0x803c('0xae'),_0x803c('0xaf'))['send'](_0x803c('0xb0'));}else{return _0x4b1c3c[_0x803c('0x30')](_0xa2f4c9)[_0x803c('0x2c')](_0x4330e5);}}})['catch'](handleError(_0x4b1c3c,null));};exports[_0x803c('0xb1')]=function(_0x51ec6d,_0x17712a){var _0x22cac3=_0x51ec6d['params']['id'];var _0x58f6c0=_0x51ec6d['body'];var _0x1e6e61=0xc8;var _0x3cf3d5=null;return db[_0x803c('0xb2')]['transaction']({'isolationLevel':db[_0x803c('0xb2')][_0x803c('0xb3')]['ISOLATION_LEVELS'][_0x803c('0xb4')]},function(_0x60a74f){return db['SmsAccount']['findOne']({'where':{'id':_0x22cac3},'transaction':_0x60a74f})[_0x803c('0x20')](function(_0x39cff7){if(_0x39cff7){return db[_0x803c('0xb5')][_0x803c('0x36')]({'where':{'SmsAccountId':_0x22cac3},'transaction':_0x60a74f})[_0x803c('0x20')](function(){var _0xc5874b=_[_0x803c('0x3e')](_0x58f6c0,function(_0x2ba41a){_0x2ba41a[_0x803c('0x6d')]=_0x22cac3;return _0x2ba41a;});return db[_0x803c('0xb5')]['bulkCreate'](_0xc5874b,{'transaction':_0x60a74f});});}else{_0x1e6e61=0x194;_0x3cf3d5=[];}});})[_0x803c('0x20')](function(){if(_0x1e6e61!==0x194){return db['SmsApplication'][_0x803c('0xb6')]({'where':{'SmsAccountId':_0x22cac3},'order':'priority'})[_0x803c('0x20')](function(_0x4715e5){_0x3cf3d5=_0x4715e5;});}})[_0x803c('0x62')](function(_0x4e7056){_0x1e6e61=0x1f4;logger[_0x803c('0x27')](_0x4e7056[_0x803c('0x39')]);if(_0x4e7056['name']){delete _0x4e7056['name'];}_0x3cf3d5=_0x4e7056;})['finally'](function(){if(_0x3cf3d5===null){_0x17712a[_0x803c('0x2a')](_0x1e6e61);}else{if(_0x1e6e61===0x1f4){_0x17712a['status'](_0x1e6e61)[_0x803c('0xb7')](_0x3cf3d5);}else{_0x17712a[_0x803c('0x30')](_0x1e6e61)[_0x803c('0x2c')](_0x3cf3d5);}}});};exports[_0x803c('0xb8')]=function(_0x123136,_0x139eaa,_0x56a961){var _0x2a0e9b={};var _0x2ce9f4={};var _0x35e249;var _0x47d94f;return db[_0x803c('0x54')][_0x803c('0x68')]({'where':{'id':_0x123136[_0x803c('0x64')]['id']}})[_0x803c('0x20')](handleEntityNotFound(_0x139eaa,null))[_0x803c('0x20')](function(_0x44466f){if(_0x44466f){_0x35e249=_0x44466f;_0x2ce9f4[_0x803c('0x43')]=_[_0x803c('0x45')](db[_0x803c('0xb5')]['rawAttributes']);_0x2ce9f4[_0x803c('0x44')]=_[_0x803c('0x45')](_0x123136['query']);_0x2ce9f4[_0x803c('0x46')]=_[_0x803c('0x47')](_0x2ce9f4[_0x803c('0x43')],_0x2ce9f4[_0x803c('0x44')]);_0x2a0e9b['attributes']=_[_0x803c('0x47')](_0x2ce9f4[_0x803c('0x43')],qs[_0x803c('0x49')](_0x123136[_0x803c('0x44')]['fields']));_0x2a0e9b['attributes']=_0x2a0e9b[_0x803c('0x48')][_0x803c('0x4a')]?_0x2a0e9b['attributes']:_0x2ce9f4[_0x803c('0x43')];_0x2a0e9b[_0x803c('0x4d')]=qs['sort'](_0x123136[_0x803c('0x44')][_0x803c('0x4e')]);_0x2a0e9b['where']=qs['filters'](_[_0x803c('0x50')](_0x123136[_0x803c('0x44')],_0x2ce9f4[_0x803c('0x46')]));if(_0x123136[_0x803c('0x44')][_0x803c('0x51')]){_0x2a0e9b[_0x803c('0x4f')]=_[_0x803c('0x52')](_0x2a0e9b[_0x803c('0x4f')],{'$or':_['map'](_0x2a0e9b[_0x803c('0x48')],function(_0xabb3a4){var _0x4349d9={};_0x4349d9[_0xabb3a4]={'$like':'%'+_0x123136[_0x803c('0x44')][_0x803c('0x51')]+'%'};return _0x4349d9;})});}_0x2a0e9b=_[_0x803c('0x52')]({},_0x2a0e9b,_0x123136[_0x803c('0x6f')]);return _0x35e249[_0x803c('0xb8')](_0x2a0e9b);}})['then'](function(_0x29a301){if(_0x29a301){_0x47d94f=_0x29a301[_0x803c('0x4a')];if(!_0x123136[_0x803c('0x44')]['hasOwnProperty'](_0x803c('0x4c'))){_0x2a0e9b[_0x803c('0x2f')]=qs['limit'](_0x123136[_0x803c('0x44')][_0x803c('0x2f')]);_0x2a0e9b[_0x803c('0x2d')]=qs[_0x803c('0x2d')](_0x123136[_0x803c('0x44')]['offset']);}return _0x35e249[_0x803c('0xb8')](_0x2a0e9b);}})[_0x803c('0x20')](function(_0x539b3e){if(_0x539b3e){return _0x539b3e?{'count':_0x47d94f,'rows':_0x539b3e}:null;}})[_0x803c('0x20')](respondWithResult(_0x139eaa,null))['catch'](handleError(_0x139eaa,null));};exports[_0x803c('0xb9')]=function(_0x1c9eed,_0x4a7c8d,_0x2aebec){var _0x3a7c5a={'raw':![],'where':{}};var _0x47c2eb={};var _0x1d4618={'count':0x0,'rows':[]};return db[_0x803c('0x54')]['findOne']({'where':{'id':_0x1c9eed['params']['id']}})['then'](handleEntityNotFound(_0x4a7c8d,null))['then'](function(_0x4c0eea){if(_0x4c0eea){_0x47c2eb[_0x803c('0x43')]=_['keys'](db[_0x803c('0x9c')][_0x803c('0x3f')]);_0x47c2eb[_0x803c('0x44')]=_[_0x803c('0x45')](_0x1c9eed[_0x803c('0x44')]);_0x47c2eb[_0x803c('0x46')]=_['intersection'](_0x47c2eb[_0x803c('0x43')],_0x47c2eb[_0x803c('0x44')]);_0x3a7c5a['attributes']=_[_0x803c('0x47')](_0x47c2eb['model'],qs[_0x803c('0x49')](_0x1c9eed['query'][_0x803c('0x49')]));_0x3a7c5a[_0x803c('0x48')]=_0x3a7c5a['attributes']['length']?_0x3a7c5a[_0x803c('0x48')]:_0x47c2eb['model'];if(!_0x1c9eed[_0x803c('0x44')][_0x803c('0x4b')](_0x803c('0x4c'))){_0x3a7c5a[_0x803c('0x2f')]=qs['limit'](_0x1c9eed['query']['limit']);_0x3a7c5a['offset']=qs[_0x803c('0x2d')](_0x1c9eed['query'][_0x803c('0x2d')]);}_0x3a7c5a[_0x803c('0x4d')]=qs[_0x803c('0x4e')](_0x1c9eed[_0x803c('0x44')]['sort']);_0x3a7c5a[_0x803c('0x4f')]=qs[_0x803c('0x46')](_[_0x803c('0x50')](_0x1c9eed[_0x803c('0x44')],_0x47c2eb[_0x803c('0x46')]));_0x3a7c5a[_0x803c('0x4f')][_0x803c('0x6d')]=_0x4c0eea['id'];if(_0x1c9eed['query']['filter']){_0x3a7c5a[_0x803c('0x4f')]=_[_0x803c('0x52')](_0x3a7c5a[_0x803c('0x4f')],{'$or':_['map'](_0x3a7c5a[_0x803c('0x48')],function(_0x5c413e){var _0x459ff4={};_0x459ff4[_0x5c413e]={'$like':'%'+_0x1c9eed['query'][_0x803c('0x51')]+'%'};return _0x459ff4;})});}_0x3a7c5a=_[_0x803c('0x52')]({},_0x3a7c5a,_0x1c9eed[_0x803c('0x6f')]);return db[_0x803c('0x9c')]['count']({'where':_0x3a7c5a[_0x803c('0x4f')]})['then'](function(_0x4d9d02){_0x1d4618[_0x803c('0x55')]=_0x4d9d02;if(_0x1c9eed[_0x803c('0x44')][_0x803c('0x56')]){_0x3a7c5a['include']=[{'model':db[_0x803c('0x97')],'as':'Contact','required':![]},{'model':db[_0x803c('0xa4')],'as':'Owner','attributes':[_0x803c('0x3a'),_0x803c('0xba'),'internal'],'required':![]},{'model':db[_0x803c('0xbb')],'as':'Tags','attributes':['id',_0x803c('0x3a'),_0x803c('0xbc')],'where':_0x1c9eed[_0x803c('0x44')]['tag']?{'id':_0x1c9eed[_0x803c('0x44')][_0x803c('0xbd')]}:undefined,'required':_0x1c9eed[_0x803c('0x44')][_0x803c('0xbd')]?!![]:![]}];}return db[_0x803c('0x9c')][_0x803c('0x58')](_0x3a7c5a);})[_0x803c('0x20')](function(_0xef9c37){_0x1d4618[_0x803c('0x69')]=_0xef9c37;return _0x1d4618;});}})[_0x803c('0x20')](respondWithFilteredResult(_0x4a7c8d,_0x3a7c5a))[_0x803c('0x62')](handleError(_0x4a7c8d,null));};exports[_0x803c('0xb7')]=function(_0x1d1a86,_0x2a0ad3,_0x249bb3){var _0x2cf0a1,_0x552279,_0x47b937;if(_[_0x803c('0x92')](_0x1d1a86['body'][_0x803c('0x5b')])||_0x1d1a86[_0x803c('0x5b')]['body']===''){throw new db[(_0x803c('0x78'))]['ValidationError'](_0x803c('0x94'));}if(_['isNil'](_0x1d1a86[_0x803c('0x5b')]['to'])){throw new db[(_0x803c('0x78'))][(_0x803c('0x79'))]('to\x20is\x20mandatory');}_0x2cf0a1=_0x1d1a86['body']['to'];return db[_0x803c('0x54')]['find']({'where':{'id':_0x1d1a86[_0x803c('0x64')]['id']},'include':[{'model':db['CmList'],'as':_0x803c('0xbe'),'include':[{'model':db[_0x803c('0x97')],'as':_0x803c('0x98'),'where':{'mobile':_0x2cf0a1},'limit':0x1,'order':[[_0x803c('0x7d'),_0x803c('0x99')]]}]}]})[_0x803c('0x20')](handleEntityNotFound(_0x2a0ad3,null))[_0x803c('0x20')](function(_0x1d60b5){if(_0x1d60b5&&_0x1d60b5[_0x803c('0xbe')]){_0x552279=_0x1d60b5[_0x803c('0x37')]({'plain':!![]});if(_0x552279[_0x803c('0xbe')]&&_0x552279[_0x803c('0xbe')][_0x803c('0x98')][_0x803c('0x4a')]){return _0x552279['List'][_0x803c('0x98')][0x0];}return db[_0x803c('0x97')][_0x803c('0x5a')](_[_0x803c('0x18')](_0x1d1a86[_0x803c('0x5b')],{'firstName':_0x2cf0a1,'mobile':_0x2cf0a1,'phone':_0x2cf0a1,'ListId':_0x552279[_0x803c('0x7e')]}));}})['then'](handleEntityNotFound(_0x2a0ad3,null))[_0x803c('0x20')](function(_0x30d922){if(_0x30d922){_0x47b937=_0x30d922;return db[_0x803c('0x9c')]['find']({'where':{'ContactId':_0x47b937['id'],'closed':![],'SmsAccountId':_0x552279['id']}})[_0x803c('0x20')](function(_0x1995cc){if(_0x1995cc){return[_0x1995cc,![]];}return db['SmsInteraction']['create']({'UserId':_0x1d1a86['user']['id'],'ContactId':_0x47b937['id'],'SmsAccountId':_0x552279['id'],'phone':_0x2cf0a1,'firstMsgDirection':_0x803c('0xbf'),'Messages':[_['merge'](_0x1d1a86['body'],{'read':![],'body':_0x1d1a86[_0x803c('0x5b')]['body'],'phone':_0x2cf0a1,'SmsAccountId':_0x552279['id'],'UserId':_0x1d1a86[_0x803c('0x5c')]['id'],'ContactId':_0x47b937['id']})]},{'include':[{'model':db[_0x803c('0xc0')],'as':_0x803c('0xc1')}]})[_0x803c('0x20')](function(_0x566c2b){return[_0x566c2b,!![]];});});}})['spread'](function(_0x377f53,_0x525917){if(_0x525917){return _0x377f53;}return db[_0x803c('0xc0')][_0x803c('0x5a')](_[_0x803c('0x52')](_0x1d1a86[_0x803c('0x5b')],{'read':![],'body':_0x1d1a86[_0x803c('0x5b')][_0x803c('0x5b')],'phone':_0x2cf0a1,'SmsAccountId':_0x552279['id'],'SmsInteractionId':_0x377f53['id'],'UserId':_0x1d1a86['user']['id'],'ContactId':_0x47b937['id']}))[_0x803c('0x20')](function(_0x32c846){_0x377f53['dataValues'][_0x803c('0xc1')]=[];_0x377f53[_0x803c('0xc2')][_0x803c('0xc1')]['push'](_0x32c846[_0x803c('0xc2')]);return _0x377f53;});})[_0x803c('0x20')](respondWithResult(_0x2a0ad3,null))[_0x803c('0x62')](handleError(_0x2a0ad3,null));};exports['status']=function(_0x16d5a2,_0x20ae9a,_0x584688){if(_0x16d5a2[_0x803c('0x5b')]['id']){delete _0x16d5a2[_0x803c('0x5b')]['id'];}var _0x542220,_0x28547f,_0x23711c;return db[_0x803c('0x54')]['find']({'where':{'id':_0x16d5a2[_0x803c('0x64')]['id']}})[_0x803c('0x20')](handleEntityNotFound(_0x20ae9a,null))['then'](function(_0x33d168){if(_0x33d168){_0x23711c=_0x33d168;logger[_0x803c('0x24')](_0x803c('0x25'),_0x803c('0x30'),'received\x20delivery\x20report\x20from',_0x33d168[_0x803c('0x41')],util[_0x803c('0xc3')](_0x16d5a2['body'],{'showHidden':![],'depth':null}));switch(_0x33d168[_0x803c('0x41')]){case _0x803c('0xc4'):if(_0x16d5a2[_0x803c('0x5b')]['skebby_dispatch_id']&&_0x16d5a2[_0x803c('0x5b')][_0x803c('0x30')]){_0x28547f=_0x16d5a2[_0x803c('0x5b')][_0x803c('0x30')];return db[_0x803c('0xc0')][_0x803c('0x5f')]({'where':{'messageId':_0x16d5a2[_0x803c('0x5b')][_0x803c('0xc5')]}});}break;case _0x803c('0x87'):if(_0x16d5a2[_0x803c('0x5b')]['requestid']&&_0x16d5a2[_0x803c('0x5b')][_0x803c('0xc6')]){_0x28547f=_0x16d5a2['body'][_0x803c('0xc6')];return db[_0x803c('0xc0')]['find']({'where':{'messageId':_0x16d5a2[_0x803c('0x5b')]['requestid']}});}break;case _0x803c('0xc7'):if(_0x16d5a2[_0x803c('0x5b')][_0x803c('0x88')]&&_0x16d5a2[_0x803c('0x5b')][_0x803c('0xc8')]){_0x28547f=_0x16d5a2['body'][_0x803c('0xc8')];return db[_0x803c('0xc0')]['find']({'where':{'messageId':_0x16d5a2[_0x803c('0x5b')][_0x803c('0x88')]}});}break;case _0x803c('0xc9'):var _0x384433=_0x16d5a2['body'][_0x803c('0x8b')][0x0];if(_0x384433[_0x803c('0x84')]&&_0x384433['status'][_0x803c('0xca')]==='DELIVERED'){_0x28547f=_0x384433[_0x803c('0x30')][_0x803c('0xca')];return db[_0x803c('0xc0')][_0x803c('0x5f')]({'where':{'messageId':_0x384433['messageId']}});}break;case _0x803c('0x8e'):if(_0x16d5a2[_0x803c('0x5b')]['messageId']&&_0x16d5a2[_0x803c('0x5b')][_0x803c('0x30')]){_0x28547f=_0x16d5a2[_0x803c('0x5b')][_0x803c('0x30')];return db[_0x803c('0xc0')][_0x803c('0x5f')]({'where':{'messageId':_0x16d5a2[_0x803c('0x5b')]['messageId']}});}break;case'bandwidth':if(_0x16d5a2[_0x803c('0x5b')][0x0][_0x803c('0x29')]['id']){_0x28547f=_0x16d5a2['body'][0x0][_0x803c('0x41')];return db['SmsMessage'][_0x803c('0x5f')]({'where':{'messageId':_0x16d5a2[_0x803c('0x5b')][0x0]['message']['id']}});}break;case _0x803c('0x91'):if(_0x16d5a2[_0x803c('0x5b')][_0x803c('0xcb')]&&_0x16d5a2[_0x803c('0x5b')][_0x803c('0x30')]){_0x28547f=_0x16d5a2[_0x803c('0x5b')][_0x803c('0x30')];return db[_0x803c('0xc0')][_0x803c('0x5f')]({'where':{'messageId':_0x16d5a2['body'][_0x803c('0xcb')]}});}break;}}})['then'](handleEntityNotFound(_0x20ae9a,null))[_0x803c('0x20')](function(_0x2b9392){if(_0x2b9392){_0x542220=_0x2b9392;switch(_0x23711c[_0x803c('0x41')]){case'skebby':if(_0x28547f===_0x803c('0xcc')){return _0x542220[_0x803c('0x35')]({'read':!![]});}else{logger[_0x803c('0x27')](_0x803c('0x25'),_0x803c('0x30'),_0x803c('0xc4'),util['inspect'](_0x16d5a2[_0x803c('0x5b')],{'showHidden':![],'depth':null}));}break;case _0x803c('0x87'):if(_0x28547f==='1'){return _0x542220[_0x803c('0x35')]({'read':!![]});}else{logger[_0x803c('0x27')](_0x803c('0x25'),_0x803c('0x30'),_0x803c('0xc4'),util[_0x803c('0xc3')](_0x16d5a2['body'],{'showHidden':![],'depth':null}));}break;case'clicksend':if(!_0x16d5a2['body'][_0x803c('0xcd')]&&_0x28547f>=0xc8&&_0x28547f<=0xce){return _0x542220[_0x803c('0x35')]({'read':!![]});}else{logger['error']('SmsAccount,\x20%s,\x20%s,\x20%s','status',_0x803c('0xc7'),util[_0x803c('0xc3')](_0x16d5a2[_0x803c('0x5b')],{'showHidden':![],'depth':null}));}break;case _0x803c('0xc9'):var _0x4d1670=_0x16d5a2[_0x803c('0x5b')]['results'][0x0];if(_0x4d1670[_0x803c('0x30')][_0x803c('0xca')]===_0x803c('0xcc')){return _0x542220[_0x803c('0x35')]({'read':!![]});}else{logger['error'](_0x803c('0x25'),'status',_0x803c('0xc9'),util[_0x803c('0xc3')](_0x16d5a2[_0x803c('0x5b')],{'showHidden':![],'depth':null}));}break;case _0x803c('0x8e'):if(_0x28547f==_0x803c('0xce')||_0x28547f==_0x803c('0xcf')){return _0x542220['update']({'read':!![]});}else{logger[_0x803c('0x27')](_0x803c('0x25'),_0x803c('0x30'),'clickatell',util[_0x803c('0xc3')](_0x16d5a2[_0x803c('0x5b')],{'showHidden':![],'depth':null}));}break;case _0x803c('0x90'):if(_0x28547f==_0x803c('0xd0')){return _0x542220[_0x803c('0x35')]({'read':!![]});}else{logger['error']('SmsAccount,\x20%s,\x20%s,\x20%s','status','bandwidth',util['inspect'](_0x16d5a2[_0x803c('0x5b')],{'showHidden':![],'depth':null}));}break;case _0x803c('0x91'):if(_0x28547f==='DELIVRD'||_0x28547f==='ACCEPTD'){return _0x542220[_0x803c('0x35')]({'read':!![]});}else{logger[_0x803c('0x27')](_0x803c('0x25'),_0x803c('0x30'),'intelepeer',util[_0x803c('0xc3')](_0x16d5a2[_0x803c('0x5b')],{'showHidden':![],'depth':null}));}break;}return _0x542220;}})[_0x803c('0x20')](respondWithResult(_0x20ae9a,null))['catch'](handleError(_0x20ae9a,null));};exports['statusGet']=function(_0x4b6264,_0x3a9c37,_0x4026aa){var _0x53b6dd,_0x85de4e,_0x59aa1d;return db['SmsAccount'][_0x803c('0x5f')]({'where':{'id':_0x4b6264[_0x803c('0x64')]['id']}})[_0x803c('0x20')](handleEntityNotFound(_0x3a9c37,null))[_0x803c('0x20')](function(_0x268abd){if(_0x268abd){_0x59aa1d=_0x268abd;logger[_0x803c('0x24')]('SmsAccount,\x20%s,\x20%s,\x20%s','status',_0x803c('0xd1'),_0x268abd[_0x803c('0x41')],util[_0x803c('0xc3')](_0x4b6264[_0x803c('0x44')],{'showHidden':![],'depth':null}));switch(_0x268abd[_0x803c('0x41')]){case'csc':if(_0x4b6264[_0x803c('0x44')][_0x803c('0xd2')]&&_0x4b6264[_0x803c('0x44')][_0x803c('0xd3')]){_0x85de4e=_0x4b6264[_0x803c('0x44')][_0x803c('0xd3')];return db[_0x803c('0xc0')][_0x803c('0x5f')]({'where':{'messageId':_0x4b6264['query'][_0x803c('0xd2')]}});}break;}}})[_0x803c('0x20')](handleEntityNotFound(_0x3a9c37,null))[_0x803c('0x20')](function(_0x143d38){if(_0x143d38){_0x53b6dd=_0x143d38;switch(_0x59aa1d['type']){case'csc':if(_0x85de4e==='2'||_0x85de4e==='6'){return _0x53b6dd['update']({'read':!![]});}else{logger[_0x803c('0x27')](_0x803c('0x25'),_0x803c('0x30'),_0x803c('0x8c'),util[_0x803c('0xc3')](_0x4b6264['query'],{'showHidden':![],'depth':null}));};break;}return _0x53b6dd;}})[_0x803c('0x20')](respondWithResult(_0x3a9c37,null))[_0x803c('0x62')](handleError(_0x3a9c37,null));};exports[_0x803c('0xd4')]=function(_0x20d0e1,_0x46ddbf,_0xa4e595){return db[_0x803c('0x54')][_0x803c('0x5f')]({'where':{'id':_0x20d0e1['params']['id']}})[_0x803c('0x20')](handleEntityNotFound(_0x46ddbf,null))[_0x803c('0x20')](function(_0x3d905d){if(_0x3d905d){return _0x3d905d['addAgents'](_0x20d0e1['body'][_0x803c('0x6b')],_[_0x803c('0x9b')](_0x20d0e1[_0x803c('0x5b')],[_0x803c('0x6b'),'id'])||{})[_0x803c('0x9d')](function(_0x43ece1){for(var _0x29cddc=0x0;_0x29cddc<_0x20d0e1[_0x803c('0x5b')][_0x803c('0x6b')][_0x803c('0x4a')];_0x29cddc+=0x1){socket[_0x803c('0xd5')](_0x803c('0xd6'),{'UserId':Number(_0x20d0e1[_0x803c('0x5b')][_0x803c('0x6b')][_0x29cddc]),'SmsAccountId':Number(_0x20d0e1['params']['id'])});}return _0x43ece1;});}})['then'](respondWithResult(_0x46ddbf,null))[_0x803c('0x62')](handleError(_0x46ddbf,null));};exports[_0x803c('0xd7')]=function(_0x2d4c62,_0x46b8cb,_0x4dc4b0){return db[_0x803c('0x54')]['find']({'where':{'id':_0x2d4c62[_0x803c('0x64')]['id']}})[_0x803c('0x20')](handleEntityNotFound(_0x46b8cb,null))[_0x803c('0x20')](function(_0x5b4121){if(_0x5b4121){return _0x5b4121[_0x803c('0xd7')](_0x2d4c62['query'][_0x803c('0x6b')])['then'](function(){if(_['isArray'](_0x2d4c62[_0x803c('0x44')][_0x803c('0x6b')])){for(var _0x2dae59=0x0;_0x2dae59<_0x2d4c62[_0x803c('0x44')]['ids'][_0x803c('0x4a')];_0x2dae59+=0x1){socket[_0x803c('0xd5')](_0x803c('0xd8'),{'UserId':Number(_0x2d4c62[_0x803c('0x44')][_0x803c('0x6b')][_0x2dae59]),'SmsAccountId':Number(_0x2d4c62['params']['id'])});}}else{socket[_0x803c('0xd5')]('userSmsAccount:remove',{'UserId':Number(_0x2d4c62[_0x803c('0x44')]['ids']),'SmsAccountId':Number(_0x2d4c62[_0x803c('0x64')]['id'])});}});}})[_0x803c('0x20')](respondWithStatusCode(_0x46b8cb,null))['catch'](handleError(_0x46b8cb,null));};exports[_0x803c('0xd9')]=function(_0xb1a199,_0x47b706,_0x23aa1b){var _0x3491d8={};var _0x3df97f={};var _0x166e12;var _0xaa3685;return db[_0x803c('0x54')][_0x803c('0x68')]({'where':{'id':_0xb1a199[_0x803c('0x64')]['id']}})[_0x803c('0x20')](handleEntityNotFound(_0x47b706,null))[_0x803c('0x20')](function(_0x54fc58){if(_0x54fc58){_0x166e12=_0x54fc58;_0x3df97f[_0x803c('0x43')]=_[_0x803c('0x45')](db[_0x803c('0xa4')][_0x803c('0x3f')]);_0x3df97f[_0x803c('0x44')]=_[_0x803c('0x45')](_0xb1a199[_0x803c('0x44')]);_0x3df97f[_0x803c('0x46')]=_[_0x803c('0x47')](_0x3df97f[_0x803c('0x43')],_0x3df97f['query']);_0x3491d8[_0x803c('0x48')]=_[_0x803c('0x47')](_0x3df97f[_0x803c('0x43')],qs[_0x803c('0x49')](_0xb1a199[_0x803c('0x44')][_0x803c('0x49')]));_0x3491d8['attributes']=_0x3491d8[_0x803c('0x48')][_0x803c('0x4a')]?_0x3491d8[_0x803c('0x48')]:_0x3df97f[_0x803c('0x43')];_0x3491d8[_0x803c('0x4d')]=qs[_0x803c('0x4e')](_0xb1a199['query']['sort']);_0x3491d8[_0x803c('0x4f')]=qs[_0x803c('0x46')](_[_0x803c('0x50')](_0xb1a199[_0x803c('0x44')],_0x3df97f[_0x803c('0x46')]));if(_0xb1a199[_0x803c('0x44')][_0x803c('0x51')]){_0x3491d8[_0x803c('0x4f')]=_['merge'](_0x3491d8[_0x803c('0x4f')],{'$or':_['map'](_0x3491d8[_0x803c('0x48')],function(_0x2ecc02){var _0x3bcb54={};_0x3bcb54[_0x2ecc02]={'$like':'%'+_0xb1a199[_0x803c('0x44')][_0x803c('0x51')]+'%'};return _0x3bcb54;})});}_0x3491d8=_[_0x803c('0x52')]({},_0x3491d8,_0xb1a199[_0x803c('0x6f')]);return _0x166e12['getAgents'](_0x3491d8);}})['then'](function(_0x4355f3){if(_0x4355f3){_0xaa3685=_0x4355f3['length'];if(!_0xb1a199['query']['hasOwnProperty'](_0x803c('0x4c'))){_0x3491d8[_0x803c('0x2f')]=qs['limit'](_0xb1a199[_0x803c('0x44')][_0x803c('0x2f')]);_0x3491d8['offset']=qs[_0x803c('0x2d')](_0xb1a199[_0x803c('0x44')][_0x803c('0x2d')]);}return _0x166e12[_0x803c('0xd9')](_0x3491d8);}})[_0x803c('0x20')](function(_0x449421){if(_0x449421){return _0x449421?{'count':_0xaa3685,'rows':_0x449421}:null;}})[_0x803c('0x20')](respondWithResult(_0x47b706,null))[_0x803c('0x62')](handleError(_0x47b706,null));};