Built motion from commit da617fac.|2.6.6
[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 _0xc187=['request\x20sent','stringify','error','code','message','result','catch','status','end','json','undefined','count','offset','limit','Content-Range','apply','reject','update','SmsAccounts','UserProfileResource','destroy','sendStatus','stack','name','Pause','mandatoryDispositionPause','SmsAccount','rawAttributes','fieldName','type','key','model','map','query','keys','filters','intersection','fields','attributes','length','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','includeAll','findAll','params','include','options','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','get','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','describe','addDisposition','SmsAccountId','Disposition','getDispositions','findOne','rows','removeDispositions','ids','CannedAnswer','getAnswers','Applications','orderBy','priority','account','CmContact','Sequelize','ValidationError','no\x20available\x20attributes','updatedAt','createdAt','CompanyId','ListId','mobile','twilio','from','From','Body','messageId','skebby','sender','text','connectel','clicksend','message_id','plivo','MessageUUID','infobip','results','csc','originatingAddress','segmentedMessage','replyMessageId','intelepeer','refid','isNil','from\x20is\x20mandatory','body\x20is\x20mandatory\x20and\x20not\x20empty','mapKey','CmList','DESC','omit','Contacts','contact','interaction','autoclose','push','close','unmanaged','created','SmsMessage','UserId','User','unshift','agent','waitForTheAssignedAgent','*,*,*,*','startRouting','entity\x20found','SmsAccount,\x20%s,\x20%s,\x20%s,\x20%s','set','Content-Type','text/xml','send','addApplications','sequelize','transaction','Transaction','ISOLATION_LEVELS','READ_COMMITTED','SmsApplication','bulkCreate','findAndCountAll','finally','getApplications','hasOwnProperty','SmsInteraction','Contact','Owner','internal','Tag','Tags','color','tag','to\x20is\x20mandatory','List','Messages','dataValues','received\x20delivery\x20report\x20from','inspect','skebby_dispatch_id','requestid','statusInt','status_code','groupName','DELIVERED','clickatell','bandwidth','error_code','RECEIVED_BY_RECIPIENT','DELIVRD','ACCEPTD','statusGet','message-id','state','emit','userSmsAccount:save','isArray','userSmsAccount:remove','getAgents','rimraf','zip-dir','fast-json-patch','moment','mustache','util','sox','ejs','fs-extra','lodash','squel','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./smsAccount.socket','register','client','http','request','then','info','SmsAccount,\x20%s,\x20%s','debug','SmsAccount,\x20%s,\x20%s,\x20%s'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0xc187,0xb8));var _0x7c18=function(_0x126558,_0x143c9a){_0x126558=_0x126558-0x0;var _0x1f6d14=_0xc187[_0x126558];return _0x1f6d14;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x7c18('0x0'));var zipdir=require(_0x7c18('0x1'));var jsonpatch=require(_0x7c18('0x2'));var rp=require('request-promise');var moment=require(_0x7c18('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x7c18('0x4'));var util=require(_0x7c18('0x5'));var path=require('path');var sox=require(_0x7c18('0x6'));var csv=require('to-csv');var ejs=require(_0x7c18('0x7'));var fs=require('fs');var fs_extra=require(_0x7c18('0x8'));var _=require(_0x7c18('0x9'));var squel=require(_0x7c18('0xa'));var crypto=require('crypto');var jsforce=require(_0x7c18('0xb'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x7c18('0xc'));var Papa=require(_0x7c18('0xd'));var Redis=require(_0x7c18('0xe'));var authService=require(_0x7c18('0xf'));var qs=require(_0x7c18('0x10'));var as=require(_0x7c18('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x7c18('0x12'))('api');var utils=require(_0x7c18('0x13'));var config=require(_0x7c18('0x14'));var licenseUtil=require(_0x7c18('0x15'));var db=require(_0x7c18('0x16'))['db'];config[_0x7c18('0x17')]=_[_0x7c18('0x18')](config[_0x7c18('0x17')],{'host':_0x7c18('0x19'),'port':0x18eb});var socket=require(_0x7c18('0x1a'))(new Redis(config[_0x7c18('0x17')]));require(_0x7c18('0x1b'))[_0x7c18('0x1c')](socket);var jayson=require('jayson/promise');var client=jayson[_0x7c18('0x1d')][_0x7c18('0x1e')]({'port':0x232c});function respondWithRpcPromise(_0x4ae8d7,_0x5b9382,_0x7d93bc,_0x1c7c8c){return new BPromise(function(_0x574f7f,_0x1f5b9a){var _0x3ffce3=_0x1c7c8c||client;return _0x3ffce3[_0x7c18('0x1f')](_0x4ae8d7,_0x7d93bc)[_0x7c18('0x20')](function(_0x334761){logger[_0x7c18('0x21')](_0x7c18('0x22'),_0x5b9382,'request\x20sent');logger[_0x7c18('0x23')](_0x7c18('0x24'),_0x5b9382,_0x7c18('0x25'),JSON[_0x7c18('0x26')](_0x334761));if(_0x334761['error']){if(_0x334761[_0x7c18('0x27')][_0x7c18('0x28')]===0x1f4){logger['error'](_0x7c18('0x22'),_0x5b9382,_0x334761[_0x7c18('0x27')][_0x7c18('0x29')]);return _0x1f5b9a(_0x334761[_0x7c18('0x27')][_0x7c18('0x29')]);}logger[_0x7c18('0x27')](_0x7c18('0x22'),_0x5b9382,_0x334761['error'][_0x7c18('0x29')]);return _0x574f7f(_0x334761['error'][_0x7c18('0x29')]);}else{logger[_0x7c18('0x21')]('SmsAccount,\x20%s,\x20%s',_0x5b9382,_0x7c18('0x25'));_0x574f7f(_0x334761[_0x7c18('0x2a')]['message']);}})[_0x7c18('0x2b')](function(_0x11ca4e){logger[_0x7c18('0x27')](_0x7c18('0x22'),_0x5b9382,_0x11ca4e);_0x1f5b9a(_0x11ca4e);});});}function respondWithStatusCode(_0x39cf8d,_0x43d411){_0x43d411=_0x43d411||0xcc;return function(_0x4a9a22){if(_0x4a9a22){return _0x39cf8d['sendStatus'](_0x43d411);}return _0x39cf8d[_0x7c18('0x2c')](_0x43d411)[_0x7c18('0x2d')]();};}function respondWithResult(_0x12ddb3,_0x32d165){_0x32d165=_0x32d165||0xc8;return function(_0xe64f5d){if(_0xe64f5d){return _0x12ddb3[_0x7c18('0x2c')](_0x32d165)[_0x7c18('0x2e')](_0xe64f5d);}};}function respondWithFilteredResult(_0xf13e7b,_0x3bc3f8){return function(_0x217422){if(_0x217422){var _0x13c66f=typeof _0x3bc3f8['offset']===_0x7c18('0x2f')&&typeof _0x3bc3f8['limit']===_0x7c18('0x2f');var _0x58034a=_0x217422[_0x7c18('0x30')];var _0x8f538d=_0x13c66f?0x0:_0x3bc3f8[_0x7c18('0x31')];var _0x33e3d2=_0x13c66f?_0x217422[_0x7c18('0x30')]:_0x3bc3f8[_0x7c18('0x31')]+_0x3bc3f8[_0x7c18('0x32')];var _0x2664c1;if(_0x33e3d2>=_0x58034a){_0x33e3d2=_0x58034a;_0x2664c1=0xc8;}else{_0x2664c1=0xce;}_0xf13e7b[_0x7c18('0x2c')](_0x2664c1);return _0xf13e7b['set'](_0x7c18('0x33'),_0x8f538d+'-'+_0x33e3d2+'/'+_0x58034a)[_0x7c18('0x2e')](_0x217422);}return null;};}function patchUpdates(_0x3b0bd3){return function(_0xfc4c08){try{jsonpatch[_0x7c18('0x34')](_0xfc4c08,_0x3b0bd3,!![]);}catch(_0x4f3953){return BPromise[_0x7c18('0x35')](_0x4f3953);}return _0xfc4c08['save']();};}function saveUpdates(_0x4f0218,_0x4f1021){return function(_0x42d27b){if(_0x42d27b){return _0x42d27b[_0x7c18('0x36')](_0x4f0218)['then'](function(_0x5bec76){return _0x5bec76;});}return null;};}function removeEntity(_0x33ab42,_0x5b9af9){return function(_0x26312a){if(_0x26312a){return _0x26312a['destroy']()['then'](function(){var _0x1680dd=_0x26312a['get']({'plain':!![]});var _0x510f53=_0x7c18('0x37');return db[_0x7c18('0x38')][_0x7c18('0x39')]({'where':{'type':_0x510f53,'resourceId':_0x1680dd['id']}})['then'](function(){return _0x26312a;});})[_0x7c18('0x20')](function(){_0x33ab42['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x425263,_0xd047ea){return function(_0x31ff85){if(!_0x31ff85){_0x425263[_0x7c18('0x3a')](0x194);}return _0x31ff85;};}function handleError(_0x6918e5,_0x57f687){_0x57f687=_0x57f687||0x1f4;return function(_0x370f9f){logger[_0x7c18('0x27')](_0x370f9f[_0x7c18('0x3b')]);if(_0x370f9f[_0x7c18('0x3c')]){delete _0x370f9f[_0x7c18('0x3c')];}_0x6918e5[_0x7c18('0x2c')](_0x57f687)['send'](_0x370f9f);};}exports['index']=function(_0x5b4d08,_0x5bf0ed){var _0x561d48={'include':[{'model':db[_0x7c18('0x3d')],'as':_0x7c18('0x3e')}]},_0x5eb731={},_0x1e75e0={'count':0x0,'rows':[]};var _0x389292=_['map'](db[_0x7c18('0x3f')][_0x7c18('0x40')],function(_0x55f30c){return{'name':_0x55f30c[_0x7c18('0x41')],'type':_0x55f30c[_0x7c18('0x42')][_0x7c18('0x43')]};});_0x5eb731[_0x7c18('0x44')]=_[_0x7c18('0x45')](_0x389292,_0x7c18('0x3c'));_0x5eb731[_0x7c18('0x46')]=_[_0x7c18('0x47')](_0x5b4d08[_0x7c18('0x46')]);_0x5eb731[_0x7c18('0x48')]=_[_0x7c18('0x49')](_0x5eb731[_0x7c18('0x44')],_0x5eb731[_0x7c18('0x46')]);_0x561d48['attributes']=_[_0x7c18('0x49')](_0x5eb731['model'],qs[_0x7c18('0x4a')](_0x5b4d08[_0x7c18('0x46')][_0x7c18('0x4a')]));_0x561d48[_0x7c18('0x4b')]=_0x561d48['attributes'][_0x7c18('0x4c')]?_0x561d48[_0x7c18('0x4b')]:_0x5eb731[_0x7c18('0x44')];if(!_0x5b4d08[_0x7c18('0x46')]['hasOwnProperty'](_0x7c18('0x4d'))){_0x561d48[_0x7c18('0x32')]=qs[_0x7c18('0x32')](_0x5b4d08[_0x7c18('0x46')][_0x7c18('0x32')]);_0x561d48[_0x7c18('0x31')]=qs[_0x7c18('0x31')](_0x5b4d08[_0x7c18('0x46')][_0x7c18('0x31')]);}_0x561d48[_0x7c18('0x4e')]=qs[_0x7c18('0x4f')](_0x5b4d08[_0x7c18('0x46')][_0x7c18('0x4f')]);_0x561d48[_0x7c18('0x50')]=qs[_0x7c18('0x48')](_[_0x7c18('0x51')](_0x5b4d08[_0x7c18('0x46')],_0x5eb731[_0x7c18('0x48')]),_0x389292);if(_0x5b4d08[_0x7c18('0x46')][_0x7c18('0x52')]){_0x561d48[_0x7c18('0x50')]=_[_0x7c18('0x53')](_0x561d48[_0x7c18('0x50')],{'$or':_[_0x7c18('0x45')](_0x389292,function(_0x3b33ba){if(_0x3b33ba['type']!==_0x7c18('0x54')){var _0x48d4cc={};_0x48d4cc[_0x3b33ba['name']]={'$like':'%'+_0x5b4d08[_0x7c18('0x46')][_0x7c18('0x52')]+'%'};return _0x48d4cc;}})});}_0x561d48=_[_0x7c18('0x53')]({},_0x561d48,_0x5b4d08['options']);var _0x1bcf7c={'where':_0x561d48[_0x7c18('0x50')]};return db[_0x7c18('0x3f')]['count'](_0x1bcf7c)[_0x7c18('0x20')](function(_0x754f37){_0x1e75e0['count']=_0x754f37;if(_0x5b4d08[_0x7c18('0x46')][_0x7c18('0x55')]){_0x561d48['include']=[{'all':!![]}];}return db[_0x7c18('0x3f')][_0x7c18('0x56')](_0x561d48);})['then'](function(_0x257996){_0x1e75e0['rows']=_0x257996;return _0x1e75e0;})['then'](respondWithFilteredResult(_0x5bf0ed,_0x561d48))[_0x7c18('0x2b')](handleError(_0x5bf0ed,null));};exports['show']=function(_0x1ffb01,_0x49303f){var _0x1de27c={'raw':![],'where':{'id':_0x1ffb01[_0x7c18('0x57')]['id']},'include':[{'model':db[_0x7c18('0x3d')],'as':'mandatoryDispositionPause'}]},_0x762729={};_0x762729[_0x7c18('0x44')]=_[_0x7c18('0x47')](db[_0x7c18('0x3f')][_0x7c18('0x40')]);_0x762729[_0x7c18('0x46')]=_[_0x7c18('0x47')](_0x1ffb01[_0x7c18('0x46')]);_0x762729[_0x7c18('0x48')]=_[_0x7c18('0x49')](_0x762729[_0x7c18('0x44')],_0x762729['query']);_0x1de27c['attributes']=_[_0x7c18('0x49')](_0x762729['model'],qs[_0x7c18('0x4a')](_0x1ffb01[_0x7c18('0x46')][_0x7c18('0x4a')]));_0x1de27c[_0x7c18('0x4b')]=_0x1de27c[_0x7c18('0x4b')][_0x7c18('0x4c')]?_0x1de27c[_0x7c18('0x4b')]:_0x762729['model'];if(_0x1ffb01[_0x7c18('0x46')][_0x7c18('0x55')]){_0x1de27c[_0x7c18('0x58')]=[{'all':!![]}];}_0x1de27c=_[_0x7c18('0x53')]({},_0x1de27c,_0x1ffb01[_0x7c18('0x59')]);return db['SmsAccount'][_0x7c18('0x5a')](_0x1de27c)['then'](handleEntityNotFound(_0x49303f,null))[_0x7c18('0x20')](respondWithResult(_0x49303f,null))['catch'](handleError(_0x49303f,null));};exports[_0x7c18('0x5b')]=function(_0xe7d611,_0x5e9fb2){return db[_0x7c18('0x3f')]['create'](_0xe7d611[_0x7c18('0x5c')],{})[_0x7c18('0x20')](function(_0x55f4a1){var _0x465851=_0xe7d611[_0x7c18('0x5d')]['get']({'plain':!![]});if(!_0x465851)throw new Error(_0x7c18('0x5e'));if(_0x465851[_0x7c18('0x5f')]==='user'){var _0x3090cb=_0x55f4a1[_0x7c18('0x60')]({'plain':!![]});var _0x486c57=_0x7c18('0x37');return db[_0x7c18('0x61')]['find']({'where':{'name':_0x486c57,'userProfileId':_0x465851[_0x7c18('0x62')]},'raw':!![]})[_0x7c18('0x20')](function(_0x51e803){if(_0x51e803&&_0x51e803[_0x7c18('0x63')]===0x0){return db['UserProfileResource'][_0x7c18('0x5b')]({'name':_0x3090cb[_0x7c18('0x3c')],'resourceId':_0x3090cb['id'],'type':_0x51e803[_0x7c18('0x3c')],'sectionId':_0x51e803['id']},{})[_0x7c18('0x20')](function(){return _0x55f4a1;});}else{return _0x55f4a1;}})['catch'](function(_0x2d2775){logger[_0x7c18('0x27')](_0x7c18('0x64'),_0x2d2775);throw _0x2d2775;});}return _0x55f4a1;})[_0x7c18('0x20')](respondWithResult(_0x5e9fb2,0xc9))[_0x7c18('0x2b')](handleError(_0x5e9fb2,null));};exports['update']=function(_0x14333a,_0x3e07a0){if(_0x14333a['body']['id']){delete _0x14333a[_0x7c18('0x5c')]['id'];}return db[_0x7c18('0x3f')][_0x7c18('0x5a')]({'where':{'id':_0x14333a[_0x7c18('0x57')]['id']},'include':[{'model':db['Pause'],'as':'mandatoryDispositionPause'}]})[_0x7c18('0x20')](handleEntityNotFound(_0x3e07a0,null))[_0x7c18('0x20')](saveUpdates(_0x14333a[_0x7c18('0x5c')],null))[_0x7c18('0x20')](respondWithResult(_0x3e07a0,null))[_0x7c18('0x2b')](handleError(_0x3e07a0,null));};exports[_0x7c18('0x39')]=function(_0x2475f8,_0x1412d2){return db['SmsAccount'][_0x7c18('0x5a')]({'where':{'id':_0x2475f8['params']['id']}})['then'](handleEntityNotFound(_0x1412d2,null))[_0x7c18('0x20')](removeEntity(_0x1412d2,null))[_0x7c18('0x2b')](handleError(_0x1412d2,null));};exports[_0x7c18('0x65')]=function(_0x5c9278,_0x5ad530){return db[_0x7c18('0x3f')]['describe']()['then'](respondWithResult(_0x5ad530,null))[_0x7c18('0x2b')](handleError(_0x5ad530,null));};exports[_0x7c18('0x66')]=function(_0x45bcd2,_0x45a3b0,_0x13b812){if(_0x45bcd2[_0x7c18('0x5c')]['id']){delete _0x45bcd2[_0x7c18('0x5c')]['id'];}return db['SmsAccount'][_0x7c18('0x5a')]({'where':{'id':_0x45bcd2[_0x7c18('0x57')]['id']}})[_0x7c18('0x20')](handleEntityNotFound(_0x45a3b0,null))[_0x7c18('0x20')](function(_0x590fcc){if(_0x590fcc){_0x45bcd2[_0x7c18('0x5c')][_0x7c18('0x67')]=_0x590fcc['id'];return db[_0x7c18('0x68')][_0x7c18('0x5b')](_0x45bcd2[_0x7c18('0x5c')]);}})[_0x7c18('0x20')](respondWithResult(_0x45a3b0,null))[_0x7c18('0x2b')](handleError(_0x45a3b0,null));};exports[_0x7c18('0x69')]=function(_0x524d3f,_0x3df78d,_0xee1f1f){var _0x59e2ed={'raw':![],'where':{}};var _0x1b00c6={};var _0x1036a5={'count':0x0,'rows':[]};return db[_0x7c18('0x3f')][_0x7c18('0x6a')]({'where':{'id':_0x524d3f[_0x7c18('0x57')]['id']}})['then'](handleEntityNotFound(_0x3df78d,null))[_0x7c18('0x20')](function(_0x1ef77f){if(_0x1ef77f){_0x1b00c6[_0x7c18('0x44')]=_[_0x7c18('0x47')](db[_0x7c18('0x68')][_0x7c18('0x40')]);_0x1b00c6[_0x7c18('0x46')]=_[_0x7c18('0x47')](_0x524d3f['query']);_0x1b00c6['filters']=_[_0x7c18('0x49')](_0x1b00c6[_0x7c18('0x44')],_0x1b00c6[_0x7c18('0x46')]);_0x59e2ed[_0x7c18('0x4b')]=_['intersection'](_0x1b00c6[_0x7c18('0x44')],qs['fields'](_0x524d3f['query'][_0x7c18('0x4a')]));_0x59e2ed[_0x7c18('0x4b')]=_0x59e2ed['attributes'][_0x7c18('0x4c')]?_0x59e2ed[_0x7c18('0x4b')]:_0x1b00c6[_0x7c18('0x44')];if(!_0x524d3f['query']['hasOwnProperty'](_0x7c18('0x4d'))){_0x59e2ed[_0x7c18('0x32')]=qs['limit'](_0x524d3f['query'][_0x7c18('0x32')]);_0x59e2ed[_0x7c18('0x31')]=qs[_0x7c18('0x31')](_0x524d3f[_0x7c18('0x46')][_0x7c18('0x31')]);}_0x59e2ed[_0x7c18('0x4e')]=qs[_0x7c18('0x4f')](_0x524d3f[_0x7c18('0x46')][_0x7c18('0x4f')]);_0x59e2ed[_0x7c18('0x50')]=qs[_0x7c18('0x48')](_[_0x7c18('0x51')](_0x524d3f[_0x7c18('0x46')],_0x1b00c6[_0x7c18('0x48')]));_0x59e2ed[_0x7c18('0x50')]['SmsAccountId']=_0x1ef77f['id'];if(_0x524d3f[_0x7c18('0x46')]['filter']){_0x59e2ed[_0x7c18('0x50')]=_['merge'](_0x59e2ed[_0x7c18('0x50')],{'$or':_['map'](_0x59e2ed[_0x7c18('0x4b')],function(_0x128d84){var _0x3702d3={};_0x3702d3[_0x128d84]={'$like':'%'+_0x524d3f['query'][_0x7c18('0x52')]+'%'};return _0x3702d3;})});}_0x59e2ed=_[_0x7c18('0x53')]({},_0x59e2ed,_0x524d3f[_0x7c18('0x59')]);return db['Disposition'][_0x7c18('0x30')]({'where':_0x59e2ed[_0x7c18('0x50')]})['then'](function(_0x4c30a2){_0x1036a5[_0x7c18('0x30')]=_0x4c30a2;if(_0x524d3f[_0x7c18('0x46')][_0x7c18('0x55')]){_0x59e2ed['include']=[{'all':!![]}];}return db[_0x7c18('0x68')][_0x7c18('0x56')](_0x59e2ed);})['then'](function(_0xb722e5){_0x1036a5[_0x7c18('0x6b')]=_0xb722e5;return _0x1036a5;});}})[_0x7c18('0x20')](respondWithFilteredResult(_0x3df78d,_0x59e2ed))['catch'](handleError(_0x3df78d,null));};exports[_0x7c18('0x6c')]=function(_0x2197fa,_0xbd8e11,_0xc1cf51){return db[_0x7c18('0x3f')][_0x7c18('0x5a')]({'where':{'id':_0x2197fa[_0x7c18('0x57')]['id']}})[_0x7c18('0x20')](handleEntityNotFound(_0xbd8e11,null))[_0x7c18('0x20')](function(_0x492357){if(_0x492357){return _0x492357[_0x7c18('0x6c')](_0x2197fa[_0x7c18('0x46')][_0x7c18('0x6d')]);}})[_0x7c18('0x20')](respondWithStatusCode(_0xbd8e11,null))[_0x7c18('0x2b')](handleError(_0xbd8e11,null));};exports['addAnswer']=function(_0x3bd0a7,_0x72403f,_0x2eb4ee){if(_0x3bd0a7[_0x7c18('0x5c')]['id']){delete _0x3bd0a7[_0x7c18('0x5c')]['id'];}return db['SmsAccount'][_0x7c18('0x5a')]({'where':{'id':_0x3bd0a7[_0x7c18('0x57')]['id']}})[_0x7c18('0x20')](handleEntityNotFound(_0x72403f,null))[_0x7c18('0x20')](function(_0x3eba40){if(_0x3eba40){_0x3bd0a7[_0x7c18('0x5c')][_0x7c18('0x67')]=_0x3eba40['id'];return db[_0x7c18('0x6e')][_0x7c18('0x5b')](_0x3bd0a7['body']);}})[_0x7c18('0x20')](respondWithResult(_0x72403f,null))[_0x7c18('0x2b')](handleError(_0x72403f,null));};exports[_0x7c18('0x6f')]=function(_0x167e30,_0xb30dfc,_0x298abc){var _0x49af51={'raw':![],'where':{}};var _0x259cb6={};var _0x1c67a0={'count':0x0,'rows':[]};return db[_0x7c18('0x3f')][_0x7c18('0x6a')]({'where':{'id':_0x167e30['params']['id']}})['then'](handleEntityNotFound(_0xb30dfc,null))[_0x7c18('0x20')](function(_0x28bf21){if(_0x28bf21){_0x259cb6[_0x7c18('0x44')]=_[_0x7c18('0x47')](db['CannedAnswer'][_0x7c18('0x40')]);_0x259cb6[_0x7c18('0x46')]=_[_0x7c18('0x47')](_0x167e30['query']);_0x259cb6[_0x7c18('0x48')]=_[_0x7c18('0x49')](_0x259cb6[_0x7c18('0x44')],_0x259cb6[_0x7c18('0x46')]);_0x49af51['attributes']=_[_0x7c18('0x49')](_0x259cb6[_0x7c18('0x44')],qs['fields'](_0x167e30[_0x7c18('0x46')]['fields']));_0x49af51[_0x7c18('0x4b')]=_0x49af51['attributes'][_0x7c18('0x4c')]?_0x49af51[_0x7c18('0x4b')]:_0x259cb6['model'];if(!_0x167e30[_0x7c18('0x46')]['hasOwnProperty'](_0x7c18('0x4d'))){_0x49af51['limit']=qs[_0x7c18('0x32')](_0x167e30[_0x7c18('0x46')][_0x7c18('0x32')]);_0x49af51['offset']=qs['offset'](_0x167e30[_0x7c18('0x46')]['offset']);}_0x49af51[_0x7c18('0x4e')]=qs[_0x7c18('0x4f')](_0x167e30[_0x7c18('0x46')][_0x7c18('0x4f')]);_0x49af51['where']=qs[_0x7c18('0x48')](_['pick'](_0x167e30[_0x7c18('0x46')],_0x259cb6[_0x7c18('0x48')]));_0x49af51[_0x7c18('0x50')][_0x7c18('0x67')]=_0x28bf21['id'];if(_0x167e30[_0x7c18('0x46')][_0x7c18('0x52')]){_0x49af51['where']=_[_0x7c18('0x53')](_0x49af51[_0x7c18('0x50')],{'$or':_[_0x7c18('0x45')](_0x49af51[_0x7c18('0x4b')],function(_0x11bf85){var _0x256fc8={};_0x256fc8[_0x11bf85]={'$like':'%'+_0x167e30['query'][_0x7c18('0x52')]+'%'};return _0x256fc8;})});}_0x49af51=_[_0x7c18('0x53')]({},_0x49af51,_0x167e30[_0x7c18('0x59')]);return db['CannedAnswer']['count']({'where':_0x49af51[_0x7c18('0x50')]})['then'](function(_0x17bfeb){_0x1c67a0['count']=_0x17bfeb;if(_0x167e30['query']['includeAll']){_0x49af51['include']=[{'all':!![]}];}return db[_0x7c18('0x6e')][_0x7c18('0x56')](_0x49af51);})[_0x7c18('0x20')](function(_0x53fbe4){_0x1c67a0[_0x7c18('0x6b')]=_0x53fbe4;return _0x1c67a0;});}})['then'](respondWithFilteredResult(_0xb30dfc,_0x49af51))[_0x7c18('0x2b')](handleError(_0xb30dfc,null));};exports['removeAnswers']=function(_0x28a267,_0x55b0bd,_0x2fc1e4){return db[_0x7c18('0x3f')][_0x7c18('0x5a')]({'where':{'id':_0x28a267[_0x7c18('0x57')]['id']}})[_0x7c18('0x20')](handleEntityNotFound(_0x55b0bd,null))[_0x7c18('0x20')](function(_0x4df3c5){if(_0x4df3c5){return _0x4df3c5['removeAnswers'](_0x28a267[_0x7c18('0x46')][_0x7c18('0x6d')]);}})['then'](respondWithStatusCode(_0x55b0bd,null))[_0x7c18('0x2b')](handleError(_0x55b0bd,null));};exports['notify']=function(_0x3a23b1,_0x3ba2dd,_0x36d11c){var _0x2e1998={'channel':'sms'};var _0x2b673f=[];var _0x286f16=[];var _0x2417da={};return db['SmsAccount'][_0x7c18('0x5a')]({'where':{'id':_0x3a23b1[_0x7c18('0x57')]['id']},'include':[{'model':db['SmsApplication'],'as':_0x7c18('0x70')}]})[_0x7c18('0x20')](handleEntityNotFound(_0x3ba2dd,null))['then'](function(_0x4f0d2d){_0x2e1998['account']=_0x4f0d2d;_0x2e1998['applications']=_[_0x7c18('0x71')](_0x4f0d2d[_0x7c18('0x70')],[_0x7c18('0x72')],['asc']);if(_0x2e1998[_0x7c18('0x73')][_0x7c18('0x70')]){delete _0x2e1998[_0x7c18('0x73')][_0x7c18('0x70')];}return db[_0x7c18('0x74')][_0x7c18('0x65')]();})['then'](function(_0x16d8e6){if(!_0x16d8e6){throw new db[(_0x7c18('0x75'))][(_0x7c18('0x76'))](_0x7c18('0x77'));}_0x2b673f=_['difference'](_[_0x7c18('0x47')](_0x16d8e6),['createdAt',_0x7c18('0x78')]);_0x286f16=_['difference'](_[_0x7c18('0x47')](_0x16d8e6),[_0x7c18('0x79'),_0x7c18('0x78'),_0x7c18('0x7a'),_0x7c18('0x7b')]);_0x2e1998[_0x7c18('0x5c')]={'mapKey':_0x7c18('0x7c')};if(_0x2e1998[_0x7c18('0x73')][_0x7c18('0x42')]){switch(_0x2e1998['account'][_0x7c18('0x42')]){case _0x7c18('0x7d'):_0x2e1998['body'][_0x7c18('0x7e')]=_0x3a23b1[_0x7c18('0x5c')][_0x7c18('0x7f')];_0x2e1998['body'][_0x7c18('0x5c')]=_0x3a23b1[_0x7c18('0x5c')][_0x7c18('0x80')];_0x2e1998[_0x7c18('0x5c')][_0x7c18('0x81')]=_0x3a23b1['body']['MessageSid'];break;case _0x7c18('0x82'):_0x2e1998[_0x7c18('0x5c')][_0x7c18('0x7e')]='+'+_0x3a23b1['body'][_0x7c18('0x83')];_0x2e1998[_0x7c18('0x5c')][_0x7c18('0x5c')]=_0x3a23b1[_0x7c18('0x5c')][_0x7c18('0x84')];break;case _0x7c18('0x85'):_0x2e1998[_0x7c18('0x5c')][_0x7c18('0x7e')]=_0x3a23b1[_0x7c18('0x5c')][_0x7c18('0x7e')];_0x2e1998[_0x7c18('0x5c')][_0x7c18('0x5c')]=_0x3a23b1[_0x7c18('0x5c')]['message'];break;case _0x7c18('0x86'):_0x2e1998['body'][_0x7c18('0x7e')]=_0x3a23b1[_0x7c18('0x5c')][_0x7c18('0x7e')];_0x2e1998[_0x7c18('0x5c')][_0x7c18('0x5c')]=_0x3a23b1[_0x7c18('0x5c')][_0x7c18('0x5c')];_0x2e1998['body'][_0x7c18('0x81')]=_0x3a23b1['body'][_0x7c18('0x87')];break;case _0x7c18('0x88'):_0x2e1998[_0x7c18('0x5c')][_0x7c18('0x7e')]=_0x3a23b1[_0x7c18('0x5c')][_0x7c18('0x7f')];_0x2e1998['body'][_0x7c18('0x5c')]=_0x3a23b1[_0x7c18('0x5c')]['Text'];_0x2e1998[_0x7c18('0x5c')][_0x7c18('0x81')]=_0x3a23b1['body'][_0x7c18('0x89')];break;case _0x7c18('0x8a'):_0x2e1998[_0x7c18('0x5c')][_0x7c18('0x7e')]='+'+_0x3a23b1[_0x7c18('0x5c')]['results'][0x0][_0x7c18('0x7e')];_0x2e1998[_0x7c18('0x5c')]['body']=_0x3a23b1[_0x7c18('0x5c')][_0x7c18('0x8b')][0x0][_0x7c18('0x84')];_0x2e1998[_0x7c18('0x5c')]['messageId']=_0x3a23b1[_0x7c18('0x5c')][_0x7c18('0x8b')][0x0][_0x7c18('0x81')];break;case _0x7c18('0x8c'):_0x2e1998['body'][_0x7c18('0x7e')]=_0x3a23b1[_0x7c18('0x5c')][_0x7c18('0x8d')];_0x2e1998[_0x7c18('0x5c')][_0x7c18('0x5c')]=_0x3a23b1[_0x7c18('0x5c')][_0x7c18('0x8e')]['message'];break;case'clickatell':_0x2e1998[_0x7c18('0x5c')]['from']=_0x3a23b1['body']['fromNumber'];_0x2e1998[_0x7c18('0x5c')]['body']=_0x3a23b1[_0x7c18('0x5c')]['text'];_0x2e1998[_0x7c18('0x5c')][_0x7c18('0x81')]=_0x3a23b1[_0x7c18('0x5c')][_0x7c18('0x8f')];break;case'bandwidth':_0x2e1998['body'][_0x7c18('0x81')]=_0x3a23b1['body'][0x0][_0x7c18('0x29')]['id'];_0x2e1998[_0x7c18('0x5c')][_0x7c18('0x7e')]=_0x3a23b1['body'][0x0][_0x7c18('0x29')][_0x7c18('0x7e')];_0x2e1998[_0x7c18('0x5c')]['body']=_0x3a23b1[_0x7c18('0x5c')][0x0]['message'][_0x7c18('0x84')];break;case _0x7c18('0x90'):_0x2e1998[_0x7c18('0x5c')][_0x7c18('0x7e')]=_0x3a23b1[_0x7c18('0x5c')][_0x7c18('0x7e')];_0x2e1998[_0x7c18('0x5c')][_0x7c18('0x5c')]=_0x3a23b1[_0x7c18('0x5c')][_0x7c18('0x29')];_0x2e1998[_0x7c18('0x5c')][_0x7c18('0x81')]=_0x3a23b1[_0x7c18('0x5c')][_0x7c18('0x91')];break;}}if(_0x2e1998[_0x7c18('0x5c')]['id']){delete _0x2e1998[_0x7c18('0x5c')]['id'];}if(_[_0x7c18('0x92')](_0x2e1998['body'][_0x7c18('0x7e')])){throw new db[(_0x7c18('0x75'))][(_0x7c18('0x76'))](_0x7c18('0x93'));}if(_[_0x7c18('0x92')](_0x2e1998[_0x7c18('0x5c')][_0x7c18('0x5c')])||_0x2e1998[_0x7c18('0x5c')][_0x7c18('0x5c')]===''){throw new db[(_0x7c18('0x75'))][(_0x7c18('0x76'))](_0x7c18('0x94'));}if(_['isNil'](_0x2e1998[_0x7c18('0x5c')]['mapKey'])){throw new db[(_0x7c18('0x75'))]['ValidationError']('mapKey\x20is\x20mandatory,\x20please\x20use\x20one\x20of\x20these:\x20'+_0x286f16);}if(!_['includes'](_0x286f16,_0x2e1998[_0x7c18('0x5c')][_0x7c18('0x95')])){throw new db[(_0x7c18('0x75'))][(_0x7c18('0x76'))]('mapKey\x20invalid,\x20please\x20use\x20one\x20of\x20these:\x20'+_0x286f16);}_0x2417da[_0x2e1998['body']['mapKey']]=_0x2e1998[_0x7c18('0x5c')][_0x7c18('0x7e')];return db[_0x7c18('0x96')][_0x7c18('0x5a')]({'where':{'id':_0x2e1998[_0x7c18('0x73')][_0x7c18('0x7b')]},'include':[{'model':db[_0x7c18('0x74')],'as':'Contacts','where':_0x2417da,'limit':0x1,'order':[[_0x7c18('0x78'),_0x7c18('0x97')]]}]});})['then'](handleEntityNotFound(_0x3ba2dd,null))[_0x7c18('0x20')](function(_0x21a758){if(_0x21a758){_0x2e1998['list']=_[_0x7c18('0x98')](_0x21a758,[_0x7c18('0x99')]);if(_0x21a758[_0x7c18('0x99')][_0x7c18('0x4c')]){return _0x21a758[_0x7c18('0x99')][0x0];}var _0x171d46=_[_0x7c18('0x18')](_0x2e1998[_0x7c18('0x5c')],{'firstName':_0x2e1998[_0x7c18('0x5c')]['from'],'ListId':_0x21a758['id']});_0x171d46[_0x2e1998[_0x7c18('0x5c')]['mapKey']]=_0x2e1998[_0x7c18('0x5c')]['from'];return db[_0x7c18('0x74')][_0x7c18('0x5b')](_0x171d46,{'fields':_0x2b673f,'raw':!![]});}})['then'](handleEntityNotFound(_0x3ba2dd,null))[_0x7c18('0x20')](function(_0x56d259){if(_0x56d259){_0x2e1998[_0x7c18('0x9a')]=_0x56d259;var _0x27d5c1={'ContactId':_0x56d259['id'],'phone':_0x2e1998[_0x7c18('0x5c')][_0x7c18('0x7e')],'SmsAccountId':_0x3a23b1[_0x7c18('0x57')]['id']};var _0x593165={'ContactId':_0x56d259['id'],'SmsAccountId':_0x3a23b1[_0x7c18('0x57')]['id'],'closed':![]};return db['SmsInteraction'][_0x7c18('0x5a')]({'where':_0x593165})[_0x7c18('0x20')](function(_0x48c763){if(_0x48c763){return[_0x48c763,![]];}return db['SmsInteraction'][_0x7c18('0x5b')](_0x27d5c1)[_0x7c18('0x20')](function(_0x4fcad7){return[_0x4fcad7,!![]];});});}})['spread'](function(_0x3fb410,_0x4d51f0){_0x2e1998[_0x7c18('0x9b')]=_0x3fb410[_0x7c18('0x60')]({'plain':!![]});_0x2e1998[_0x7c18('0x9b')]['created']=![];if(_0x4d51f0){if(_0x2e1998[_0x7c18('0x73')][_0x7c18('0x9c')]){_0x2e1998['applications'][_0x7c18('0x9d')]({'id':0x0,'priority':_0x2e1998['applications']['length']+0x1,'app':_0x7c18('0x9e'),'appdata':_0x7c18('0x9f'),'interval':'*,*,*,*'});}_0x2e1998[_0x7c18('0x9b')][_0x7c18('0xa0')]=!![];}return db[_0x7c18('0xa1')][_0x7c18('0x5b')]({'phone':_0x2e1998[_0x7c18('0x5c')][_0x7c18('0x7e')],'messageId':_0x2e1998[_0x7c18('0x5c')]['messageId'],'body':_0x2e1998[_0x7c18('0x5c')][_0x7c18('0x5c')],'SmsAccountId':_0x3a23b1['params']['id'],'SmsInteractionId':_0x3fb410['id'],'direction':'in','ContactId':_0x3fb410['ContactId'],'AttachmentId':_0x2e1998['body']['AttachmentId']});})[_0x7c18('0x20')](function(_0x2e0aac){_0x2e1998[_0x7c18('0x29')]=_0x2e0aac;if(_0x2e1998[_0x7c18('0x9b')][_0x7c18('0xa2')]){return db[_0x7c18('0xa3')][_0x7c18('0x5a')]({'attributes':['id','name'],'where':{'id':_0x2e1998['interaction'][_0x7c18('0xa2')]}})[_0x7c18('0x20')](function(_0x33b059){if(_0x33b059){_0x2e1998['applications'][_0x7c18('0xa4')]({'id':0x0,'priority':0x0,'app':_0x7c18('0xa5'),'appdata':_0x33b059[_0x7c18('0x3c')]+','+(_0x2e1998[_0x7c18('0x73')][_0x7c18('0xa6')]||0xa),'interval':_0x7c18('0xa7')});}return respondWithRpcPromise('Start',_0x7c18('0xa8'),_0x2e1998);});}return respondWithRpcPromise('Start',_0x7c18('0xa8'),_0x2e1998);})['then'](function(_0x442a96){if(_0x442a96){var _0x12f0c3=0xc8;var _0xd4120e='receiveMessage';logger[_0x7c18('0x21')](_0x7c18('0x24'),_0xd4120e,_0x12f0c3,_0x7c18('0xa9'));logger[_0x7c18('0x23')](_0x7c18('0xaa'),_0xd4120e,_0x12f0c3,'entity\x20found',JSON[_0x7c18('0x26')](_0x442a96));if(_0x2e1998[_0x7c18('0x73')][_0x7c18('0x42')]===_0x7c18('0x7d')){return _0x3ba2dd[_0x7c18('0x2c')](_0x12f0c3)[_0x7c18('0xab')](_0x7c18('0xac'),_0x7c18('0xad'))[_0x7c18('0xae')]('<?xml\x20version=\x221.0\x22\x20encoding=\x22UTF-8\x22?>\x0a<Response></Response>');}else{return _0x3ba2dd['status'](_0x12f0c3)[_0x7c18('0x2e')](_0x442a96);}}})['catch'](handleError(_0x3ba2dd,null));};exports[_0x7c18('0xaf')]=function(_0x30b0af,_0x1db888){var _0xe6bff1=_0x30b0af['params']['id'];var _0x29d187=_0x30b0af[_0x7c18('0x5c')];var _0xce10a4=0xc8;var _0x45bc56=null;return db[_0x7c18('0xb0')][_0x7c18('0xb1')]({'isolationLevel':db[_0x7c18('0xb0')][_0x7c18('0xb2')][_0x7c18('0xb3')][_0x7c18('0xb4')]},function(_0x9c041a){return db[_0x7c18('0x3f')][_0x7c18('0x6a')]({'where':{'id':_0xe6bff1},'transaction':_0x9c041a})[_0x7c18('0x20')](function(_0xb5e290){if(_0xb5e290){return db[_0x7c18('0xb5')][_0x7c18('0x39')]({'where':{'SmsAccountId':_0xe6bff1},'transaction':_0x9c041a})[_0x7c18('0x20')](function(){var _0x46ae10=_[_0x7c18('0x45')](_0x29d187,function(_0x47b38a){_0x47b38a[_0x7c18('0x67')]=_0xe6bff1;return _0x47b38a;});return db[_0x7c18('0xb5')][_0x7c18('0xb6')](_0x46ae10,{'transaction':_0x9c041a});});}else{_0xce10a4=0x194;_0x45bc56=[];}});})[_0x7c18('0x20')](function(){if(_0xce10a4!==0x194){return db[_0x7c18('0xb5')][_0x7c18('0xb7')]({'where':{'SmsAccountId':_0xe6bff1},'order':_0x7c18('0x72')})[_0x7c18('0x20')](function(_0x4dd304){_0x45bc56=_0x4dd304;});}})[_0x7c18('0x2b')](function(_0x1b3a8a){_0xce10a4=0x1f4;logger[_0x7c18('0x27')](_0x1b3a8a['stack']);if(_0x1b3a8a[_0x7c18('0x3c')]){delete _0x1b3a8a[_0x7c18('0x3c')];}_0x45bc56=_0x1b3a8a;})[_0x7c18('0xb8')](function(){if(_0x45bc56===null){_0x1db888[_0x7c18('0x3a')](_0xce10a4);}else{if(_0xce10a4===0x1f4){_0x1db888[_0x7c18('0x2c')](_0xce10a4)[_0x7c18('0xae')](_0x45bc56);}else{_0x1db888[_0x7c18('0x2c')](_0xce10a4)['json'](_0x45bc56);}}});};exports[_0x7c18('0xb9')]=function(_0x29d806,_0x5bd608,_0x41a068){var _0x52a649={};var _0x1e605f={};var _0x73397;var _0x51279c;return db[_0x7c18('0x3f')]['findOne']({'where':{'id':_0x29d806[_0x7c18('0x57')]['id']}})[_0x7c18('0x20')](handleEntityNotFound(_0x5bd608,null))[_0x7c18('0x20')](function(_0x56b44c){if(_0x56b44c){_0x73397=_0x56b44c;_0x1e605f['model']=_[_0x7c18('0x47')](db[_0x7c18('0xb5')]['rawAttributes']);_0x1e605f[_0x7c18('0x46')]=_[_0x7c18('0x47')](_0x29d806[_0x7c18('0x46')]);_0x1e605f[_0x7c18('0x48')]=_['intersection'](_0x1e605f[_0x7c18('0x44')],_0x1e605f[_0x7c18('0x46')]);_0x52a649['attributes']=_['intersection'](_0x1e605f[_0x7c18('0x44')],qs[_0x7c18('0x4a')](_0x29d806[_0x7c18('0x46')]['fields']));_0x52a649[_0x7c18('0x4b')]=_0x52a649['attributes'][_0x7c18('0x4c')]?_0x52a649[_0x7c18('0x4b')]:_0x1e605f['model'];_0x52a649[_0x7c18('0x4e')]=qs['sort'](_0x29d806['query'][_0x7c18('0x4f')]);_0x52a649[_0x7c18('0x50')]=qs[_0x7c18('0x48')](_['pick'](_0x29d806['query'],_0x1e605f[_0x7c18('0x48')]));if(_0x29d806[_0x7c18('0x46')][_0x7c18('0x52')]){_0x52a649['where']=_['merge'](_0x52a649[_0x7c18('0x50')],{'$or':_[_0x7c18('0x45')](_0x52a649['attributes'],function(_0x5b0287){var _0x587acb={};_0x587acb[_0x5b0287]={'$like':'%'+_0x29d806[_0x7c18('0x46')][_0x7c18('0x52')]+'%'};return _0x587acb;})});}_0x52a649=_['merge']({},_0x52a649,_0x29d806[_0x7c18('0x59')]);return _0x73397[_0x7c18('0xb9')](_0x52a649);}})[_0x7c18('0x20')](function(_0x5f3bac){if(_0x5f3bac){_0x51279c=_0x5f3bac[_0x7c18('0x4c')];if(!_0x29d806[_0x7c18('0x46')][_0x7c18('0xba')](_0x7c18('0x4d'))){_0x52a649['limit']=qs['limit'](_0x29d806['query'][_0x7c18('0x32')]);_0x52a649[_0x7c18('0x31')]=qs[_0x7c18('0x31')](_0x29d806[_0x7c18('0x46')][_0x7c18('0x31')]);}return _0x73397['getApplications'](_0x52a649);}})[_0x7c18('0x20')](function(_0x409d4e){if(_0x409d4e){return _0x409d4e?{'count':_0x51279c,'rows':_0x409d4e}:null;}})[_0x7c18('0x20')](respondWithResult(_0x5bd608,null))[_0x7c18('0x2b')](handleError(_0x5bd608,null));};exports['getInteractions']=function(_0x44e45d,_0x12d652,_0x60ddd2){var _0xf27d02={'raw':![],'where':{}};var _0x413574={};var _0x1d0ce2={'count':0x0,'rows':[]};return db[_0x7c18('0x3f')][_0x7c18('0x6a')]({'where':{'id':_0x44e45d[_0x7c18('0x57')]['id']}})['then'](handleEntityNotFound(_0x12d652,null))['then'](function(_0x1d8e3a){if(_0x1d8e3a){_0x413574['model']=_['keys'](db[_0x7c18('0xbb')][_0x7c18('0x40')]);_0x413574[_0x7c18('0x46')]=_[_0x7c18('0x47')](_0x44e45d[_0x7c18('0x46')]);_0x413574['filters']=_[_0x7c18('0x49')](_0x413574['model'],_0x413574[_0x7c18('0x46')]);_0xf27d02['attributes']=_[_0x7c18('0x49')](_0x413574[_0x7c18('0x44')],qs['fields'](_0x44e45d[_0x7c18('0x46')]['fields']));_0xf27d02['attributes']=_0xf27d02[_0x7c18('0x4b')]['length']?_0xf27d02[_0x7c18('0x4b')]:_0x413574[_0x7c18('0x44')];if(!_0x44e45d[_0x7c18('0x46')][_0x7c18('0xba')](_0x7c18('0x4d'))){_0xf27d02['limit']=qs[_0x7c18('0x32')](_0x44e45d['query'][_0x7c18('0x32')]);_0xf27d02[_0x7c18('0x31')]=qs[_0x7c18('0x31')](_0x44e45d['query'][_0x7c18('0x31')]);}_0xf27d02[_0x7c18('0x4e')]=qs['sort'](_0x44e45d[_0x7c18('0x46')][_0x7c18('0x4f')]);_0xf27d02[_0x7c18('0x50')]=qs['filters'](_[_0x7c18('0x51')](_0x44e45d[_0x7c18('0x46')],_0x413574[_0x7c18('0x48')]));_0xf27d02[_0x7c18('0x50')][_0x7c18('0x67')]=_0x1d8e3a['id'];if(_0x44e45d[_0x7c18('0x46')][_0x7c18('0x52')]){_0xf27d02[_0x7c18('0x50')]=_[_0x7c18('0x53')](_0xf27d02[_0x7c18('0x50')],{'$or':_[_0x7c18('0x45')](_0xf27d02[_0x7c18('0x4b')],function(_0x137cdd){var _0x390f77={};_0x390f77[_0x137cdd]={'$like':'%'+_0x44e45d[_0x7c18('0x46')][_0x7c18('0x52')]+'%'};return _0x390f77;})});}_0xf27d02=_['merge']({},_0xf27d02,_0x44e45d[_0x7c18('0x59')]);return db[_0x7c18('0xbb')][_0x7c18('0x30')]({'where':_0xf27d02[_0x7c18('0x50')]})['then'](function(_0x6bf5af){_0x1d0ce2['count']=_0x6bf5af;if(_0x44e45d['query'][_0x7c18('0x55')]){_0xf27d02['include']=[{'model':db[_0x7c18('0x74')],'as':_0x7c18('0xbc'),'required':![]},{'model':db[_0x7c18('0xa3')],'as':_0x7c18('0xbd'),'attributes':['name','fullname',_0x7c18('0xbe')],'required':![]},{'model':db[_0x7c18('0xbf')],'as':_0x7c18('0xc0'),'attributes':['id',_0x7c18('0x3c'),_0x7c18('0xc1')],'where':_0x44e45d['query']['tag']?{'id':_0x44e45d[_0x7c18('0x46')][_0x7c18('0xc2')]}:undefined,'required':_0x44e45d['query'][_0x7c18('0xc2')]?!![]:![]}];}return db['SmsInteraction'][_0x7c18('0x56')](_0xf27d02);})['then'](function(_0x2ed688){_0x1d0ce2[_0x7c18('0x6b')]=_0x2ed688;return _0x1d0ce2;});}})[_0x7c18('0x20')](respondWithFilteredResult(_0x12d652,_0xf27d02))[_0x7c18('0x2b')](handleError(_0x12d652,null));};exports['send']=function(_0x4da01a,_0x367445,_0x1dc3c5){var _0xaa69fc,_0x1d826b,_0x4e8b3c;if(_['isNil'](_0x4da01a['body']['body'])||_0x4da01a[_0x7c18('0x5c')][_0x7c18('0x5c')]===''){throw new db[(_0x7c18('0x75'))]['ValidationError'](_0x7c18('0x94'));}if(_['isNil'](_0x4da01a[_0x7c18('0x5c')]['to'])){throw new db[(_0x7c18('0x75'))][(_0x7c18('0x76'))](_0x7c18('0xc3'));}_0xaa69fc=_0x4da01a['body']['to'];return db[_0x7c18('0x3f')][_0x7c18('0x5a')]({'where':{'id':_0x4da01a['params']['id']},'include':[{'model':db[_0x7c18('0x96')],'as':_0x7c18('0xc4'),'include':[{'model':db['CmContact'],'as':'Contacts','where':{'mobile':_0xaa69fc},'limit':0x1,'order':[['updatedAt','DESC']]}]}]})[_0x7c18('0x20')](handleEntityNotFound(_0x367445,null))[_0x7c18('0x20')](function(_0x299727){if(_0x299727&&_0x299727[_0x7c18('0xc4')]){_0x1d826b=_0x299727[_0x7c18('0x60')]({'plain':!![]});if(_0x1d826b['List']&&_0x1d826b[_0x7c18('0xc4')]['Contacts']['length']){return _0x1d826b[_0x7c18('0xc4')][_0x7c18('0x99')][0x0];}return db['CmContact'][_0x7c18('0x5b')](_['defaults'](_0x4da01a[_0x7c18('0x5c')],{'firstName':_0xaa69fc,'mobile':_0xaa69fc,'phone':_0xaa69fc,'ListId':_0x1d826b[_0x7c18('0x7b')]}));}})['then'](handleEntityNotFound(_0x367445,null))[_0x7c18('0x20')](function(_0x434096){if(_0x434096){_0x4e8b3c=_0x434096;return db['SmsInteraction'][_0x7c18('0x5a')]({'where':{'ContactId':_0x4e8b3c['id'],'closed':![],'SmsAccountId':_0x1d826b['id']}})[_0x7c18('0x20')](function(_0x42c1c2){if(_0x42c1c2){return[_0x42c1c2,![]];}return db[_0x7c18('0xbb')][_0x7c18('0x5b')]({'UserId':_0x4da01a[_0x7c18('0x5d')]['id'],'ContactId':_0x4e8b3c['id'],'SmsAccountId':_0x1d826b['id'],'phone':_0xaa69fc,'firstMsgDirection':'out','Messages':[_['merge'](_0x4da01a[_0x7c18('0x5c')],{'read':![],'body':_0x4da01a[_0x7c18('0x5c')][_0x7c18('0x5c')],'phone':_0xaa69fc,'SmsAccountId':_0x1d826b['id'],'UserId':_0x4da01a[_0x7c18('0x5d')]['id'],'ContactId':_0x4e8b3c['id']})]},{'include':[{'model':db[_0x7c18('0xa1')],'as':_0x7c18('0xc5')}]})[_0x7c18('0x20')](function(_0x1bcb1f){return[_0x1bcb1f,!![]];});});}})['spread'](function(_0x567d13,_0x11447e){if(_0x11447e){return _0x567d13;}return db['SmsMessage']['create'](_['merge'](_0x4da01a[_0x7c18('0x5c')],{'read':![],'body':_0x4da01a[_0x7c18('0x5c')][_0x7c18('0x5c')],'phone':_0xaa69fc,'SmsAccountId':_0x1d826b['id'],'SmsInteractionId':_0x567d13['id'],'UserId':_0x4da01a['user']['id'],'ContactId':_0x4e8b3c['id']}))[_0x7c18('0x20')](function(_0x279eae){_0x567d13[_0x7c18('0xc6')]['Messages']=[];_0x567d13['dataValues'][_0x7c18('0xc5')][_0x7c18('0x9d')](_0x279eae[_0x7c18('0xc6')]);return _0x567d13;});})[_0x7c18('0x20')](respondWithResult(_0x367445,null))[_0x7c18('0x2b')](handleError(_0x367445,null));};exports[_0x7c18('0x2c')]=function(_0x587a28,_0x2c0b7d,_0x19f7a0){if(_0x587a28['body']['id']){delete _0x587a28[_0x7c18('0x5c')]['id'];}var _0x4db0c2,_0x4f2e7b,_0x447dca;return db['SmsAccount'][_0x7c18('0x5a')]({'where':{'id':_0x587a28[_0x7c18('0x57')]['id']}})[_0x7c18('0x20')](handleEntityNotFound(_0x2c0b7d,null))[_0x7c18('0x20')](function(_0x4cde19){if(_0x4cde19){_0x447dca=_0x4cde19;logger[_0x7c18('0x23')](_0x7c18('0x24'),_0x7c18('0x2c'),_0x7c18('0xc7'),_0x4cde19[_0x7c18('0x42')],util[_0x7c18('0xc8')](_0x587a28[_0x7c18('0x5c')],{'showHidden':![],'depth':null}));switch(_0x4cde19['type']){case'skebby':if(_0x587a28[_0x7c18('0x5c')][_0x7c18('0xc9')]&&_0x587a28['body'][_0x7c18('0x2c')]){_0x4f2e7b=_0x587a28[_0x7c18('0x5c')]['status'];return db['SmsMessage'][_0x7c18('0x5a')]({'where':{'messageId':_0x587a28[_0x7c18('0x5c')][_0x7c18('0xc9')]}});}break;case'connectel':if(_0x587a28[_0x7c18('0x5c')][_0x7c18('0xca')]&&_0x587a28[_0x7c18('0x5c')][_0x7c18('0xcb')]){_0x4f2e7b=_0x587a28[_0x7c18('0x5c')]['statusInt'];return db[_0x7c18('0xa1')][_0x7c18('0x5a')]({'where':{'messageId':_0x587a28[_0x7c18('0x5c')][_0x7c18('0xca')]}});}break;case _0x7c18('0x86'):if(_0x587a28[_0x7c18('0x5c')]['message_id']&&_0x587a28[_0x7c18('0x5c')][_0x7c18('0xcc')]){_0x4f2e7b=_0x587a28[_0x7c18('0x5c')]['status_code'];return db['SmsMessage'][_0x7c18('0x5a')]({'where':{'messageId':_0x587a28['body'][_0x7c18('0x87')]}});}break;case _0x7c18('0x8a'):var _0x6a452e=_0x587a28[_0x7c18('0x5c')]['results'][0x0];if(_0x6a452e['messageId']&&_0x6a452e[_0x7c18('0x2c')][_0x7c18('0xcd')]===_0x7c18('0xce')){_0x4f2e7b=_0x6a452e[_0x7c18('0x2c')][_0x7c18('0xcd')];return db[_0x7c18('0xa1')][_0x7c18('0x5a')]({'where':{'messageId':_0x6a452e[_0x7c18('0x81')]}});}break;case _0x7c18('0xcf'):if(_0x587a28['body']['messageId']&&_0x587a28['body'][_0x7c18('0x2c')]){_0x4f2e7b=_0x587a28[_0x7c18('0x5c')][_0x7c18('0x2c')];return db['SmsMessage'][_0x7c18('0x5a')]({'where':{'messageId':_0x587a28['body'][_0x7c18('0x81')]}});}break;case _0x7c18('0xd0'):if(_0x587a28[_0x7c18('0x5c')][0x0][_0x7c18('0x29')]['id']){_0x4f2e7b=_0x587a28[_0x7c18('0x5c')][0x0][_0x7c18('0x42')];return db[_0x7c18('0xa1')][_0x7c18('0x5a')]({'where':{'messageId':_0x587a28['body'][0x0][_0x7c18('0x29')]['id']}});}break;case _0x7c18('0x90'):if(_0x587a28[_0x7c18('0x5c')]['redif']&&_0x587a28[_0x7c18('0x5c')][_0x7c18('0x2c')]){_0x4f2e7b=_0x587a28['body'][_0x7c18('0x2c')];return db[_0x7c18('0xa1')][_0x7c18('0x5a')]({'where':{'messageId':_0x587a28[_0x7c18('0x5c')]['redif']}});}break;}}})['then'](handleEntityNotFound(_0x2c0b7d,null))['then'](function(_0x416b66){if(_0x416b66){_0x4db0c2=_0x416b66;switch(_0x447dca[_0x7c18('0x42')]){case'skebby':if(_0x4f2e7b===_0x7c18('0xce')){return _0x4db0c2[_0x7c18('0x36')]({'read':!![]});}else{logger[_0x7c18('0x27')](_0x7c18('0x24'),_0x7c18('0x2c'),_0x7c18('0x82'),util['inspect'](_0x587a28[_0x7c18('0x5c')],{'showHidden':![],'depth':null}));}break;case _0x7c18('0x85'):if(_0x4f2e7b==='1'){return _0x4db0c2[_0x7c18('0x36')]({'read':!![]});}else{logger[_0x7c18('0x27')](_0x7c18('0x24'),_0x7c18('0x2c'),_0x7c18('0x82'),util['inspect'](_0x587a28[_0x7c18('0x5c')],{'showHidden':![],'depth':null}));}break;case'clicksend':if(!_0x587a28[_0x7c18('0x5c')][_0x7c18('0xd1')]&&_0x4f2e7b>=0xc8&&_0x4f2e7b<=0xce){return _0x4db0c2[_0x7c18('0x36')]({'read':!![]});}else{logger[_0x7c18('0x27')](_0x7c18('0x24'),_0x7c18('0x2c'),'clicksend',util[_0x7c18('0xc8')](_0x587a28[_0x7c18('0x5c')],{'showHidden':![],'depth':null}));}break;case _0x7c18('0x8a'):var _0x5d74d5=_0x587a28[_0x7c18('0x5c')][_0x7c18('0x8b')][0x0];if(_0x5d74d5[_0x7c18('0x2c')]['groupName']===_0x7c18('0xce')){return _0x4db0c2[_0x7c18('0x36')]({'read':!![]});}else{logger[_0x7c18('0x27')](_0x7c18('0x24'),'status',_0x7c18('0x8a'),util[_0x7c18('0xc8')](_0x587a28[_0x7c18('0x5c')],{'showHidden':![],'depth':null}));}break;case _0x7c18('0xcf'):if(_0x4f2e7b=='DELIVERED_TO_GATEWAY'||_0x4f2e7b==_0x7c18('0xd2')){return _0x4db0c2[_0x7c18('0x36')]({'read':!![]});}else{logger[_0x7c18('0x27')](_0x7c18('0x24'),'status','clickatell',util['inspect'](_0x587a28[_0x7c18('0x5c')],{'showHidden':![],'depth':null}));}break;case'bandwidth':if(_0x4f2e7b=='message-delivered'){return _0x4db0c2[_0x7c18('0x36')]({'read':!![]});}else{logger[_0x7c18('0x27')](_0x7c18('0x24'),_0x7c18('0x2c'),_0x7c18('0xd0'),util['inspect'](_0x587a28[_0x7c18('0x5c')],{'showHidden':![],'depth':null}));}break;case'intelepeer':if(_0x4f2e7b===_0x7c18('0xd3')||_0x4f2e7b===_0x7c18('0xd4')){return _0x4db0c2[_0x7c18('0x36')]({'read':!![]});}else{logger[_0x7c18('0x27')](_0x7c18('0x24'),_0x7c18('0x2c'),_0x7c18('0x90'),util[_0x7c18('0xc8')](_0x587a28['body'],{'showHidden':![],'depth':null}));}break;}return _0x4db0c2;}})[_0x7c18('0x20')](respondWithResult(_0x2c0b7d,null))[_0x7c18('0x2b')](handleError(_0x2c0b7d,null));};exports[_0x7c18('0xd5')]=function(_0x10c911,_0x1de22d,_0x3379ce){var _0x46475f,_0x2a511e,_0x2e7728;return db[_0x7c18('0x3f')]['find']({'where':{'id':_0x10c911['params']['id']}})['then'](handleEntityNotFound(_0x1de22d,null))[_0x7c18('0x20')](function(_0x2f877a){if(_0x2f877a){_0x2e7728=_0x2f877a;logger[_0x7c18('0x23')]('SmsAccount,\x20%s,\x20%s,\x20%s','status',_0x7c18('0xc7'),_0x2f877a[_0x7c18('0x42')],util[_0x7c18('0xc8')](_0x10c911['query'],{'showHidden':![],'depth':null}));switch(_0x2f877a[_0x7c18('0x42')]){case _0x7c18('0x8c'):if(_0x10c911[_0x7c18('0x46')][_0x7c18('0xd6')]&&_0x10c911['query'][_0x7c18('0xd7')]){_0x2a511e=_0x10c911[_0x7c18('0x46')][_0x7c18('0xd7')];return db[_0x7c18('0xa1')][_0x7c18('0x5a')]({'where':{'messageId':_0x10c911['query']['message-id']}});}break;}}})[_0x7c18('0x20')](handleEntityNotFound(_0x1de22d,null))[_0x7c18('0x20')](function(_0x1558b7){if(_0x1558b7){_0x46475f=_0x1558b7;switch(_0x2e7728[_0x7c18('0x42')]){case _0x7c18('0x8c'):if(_0x2a511e==='2'||_0x2a511e==='6'){return _0x46475f[_0x7c18('0x36')]({'read':!![]});}else{logger[_0x7c18('0x27')]('SmsAccount,\x20%s,\x20%s,\x20%s',_0x7c18('0x2c'),'csc',util[_0x7c18('0xc8')](_0x10c911[_0x7c18('0x46')],{'showHidden':![],'depth':null}));};break;}return _0x46475f;}})[_0x7c18('0x20')](respondWithResult(_0x1de22d,null))[_0x7c18('0x2b')](handleError(_0x1de22d,null));};exports['addAgents']=function(_0x2bbdec,_0x460845,_0x303fe0){return db[_0x7c18('0x3f')][_0x7c18('0x5a')]({'where':{'id':_0x2bbdec['params']['id']}})[_0x7c18('0x20')](handleEntityNotFound(_0x460845,null))[_0x7c18('0x20')](function(_0x5b2967){if(_0x5b2967){return _0x5b2967['addAgents'](_0x2bbdec[_0x7c18('0x5c')]['ids'],_['omit'](_0x2bbdec[_0x7c18('0x5c')],[_0x7c18('0x6d'),'id'])||{})['spread'](function(_0x29b804){for(var _0x349fed=0x0;_0x349fed<_0x2bbdec['body'][_0x7c18('0x6d')][_0x7c18('0x4c')];_0x349fed+=0x1){socket[_0x7c18('0xd8')](_0x7c18('0xd9'),{'UserId':Number(_0x2bbdec[_0x7c18('0x5c')]['ids'][_0x349fed]),'SmsAccountId':Number(_0x2bbdec[_0x7c18('0x57')]['id'])});}return _0x29b804;});}})[_0x7c18('0x20')](respondWithResult(_0x460845,null))['catch'](handleError(_0x460845,null));};exports['removeAgents']=function(_0x3f8324,_0x2fc528,_0x5f3f5f){return db['SmsAccount']['find']({'where':{'id':_0x3f8324[_0x7c18('0x57')]['id']}})['then'](handleEntityNotFound(_0x2fc528,null))[_0x7c18('0x20')](function(_0x3151c6){if(_0x3151c6){return _0x3151c6['removeAgents'](_0x3f8324[_0x7c18('0x46')][_0x7c18('0x6d')])[_0x7c18('0x20')](function(){if(_[_0x7c18('0xda')](_0x3f8324[_0x7c18('0x46')][_0x7c18('0x6d')])){for(var _0x38ac71=0x0;_0x38ac71<_0x3f8324[_0x7c18('0x46')][_0x7c18('0x6d')]['length'];_0x38ac71+=0x1){socket[_0x7c18('0xd8')](_0x7c18('0xdb'),{'UserId':Number(_0x3f8324[_0x7c18('0x46')][_0x7c18('0x6d')][_0x38ac71]),'SmsAccountId':Number(_0x3f8324[_0x7c18('0x57')]['id'])});}}else{socket[_0x7c18('0xd8')](_0x7c18('0xdb'),{'UserId':Number(_0x3f8324[_0x7c18('0x46')][_0x7c18('0x6d')]),'SmsAccountId':Number(_0x3f8324[_0x7c18('0x57')]['id'])});}});}})[_0x7c18('0x20')](respondWithStatusCode(_0x2fc528,null))['catch'](handleError(_0x2fc528,null));};exports[_0x7c18('0xdc')]=function(_0x14a645,_0x509e36,_0x38b943){var _0xbbeeb8={};var _0x2ad05f={};var _0x54ad7a;var _0x1c484d;return db[_0x7c18('0x3f')][_0x7c18('0x6a')]({'where':{'id':_0x14a645['params']['id']}})[_0x7c18('0x20')](handleEntityNotFound(_0x509e36,null))[_0x7c18('0x20')](function(_0x14ce8d){if(_0x14ce8d){_0x54ad7a=_0x14ce8d;_0x2ad05f[_0x7c18('0x44')]=_['keys'](db['User']['rawAttributes']);_0x2ad05f['query']=_['keys'](_0x14a645['query']);_0x2ad05f[_0x7c18('0x48')]=_['intersection'](_0x2ad05f[_0x7c18('0x44')],_0x2ad05f['query']);_0xbbeeb8[_0x7c18('0x4b')]=_[_0x7c18('0x49')](_0x2ad05f[_0x7c18('0x44')],qs['fields'](_0x14a645[_0x7c18('0x46')][_0x7c18('0x4a')]));_0xbbeeb8['attributes']=_0xbbeeb8[_0x7c18('0x4b')][_0x7c18('0x4c')]?_0xbbeeb8[_0x7c18('0x4b')]:_0x2ad05f[_0x7c18('0x44')];_0xbbeeb8['order']=qs['sort'](_0x14a645[_0x7c18('0x46')]['sort']);_0xbbeeb8[_0x7c18('0x50')]=qs['filters'](_[_0x7c18('0x51')](_0x14a645[_0x7c18('0x46')],_0x2ad05f[_0x7c18('0x48')]));if(_0x14a645[_0x7c18('0x46')][_0x7c18('0x52')]){_0xbbeeb8[_0x7c18('0x50')]=_[_0x7c18('0x53')](_0xbbeeb8[_0x7c18('0x50')],{'$or':_[_0x7c18('0x45')](_0xbbeeb8[_0x7c18('0x4b')],function(_0x5d61f8){var _0xbc237a={};_0xbc237a[_0x5d61f8]={'$like':'%'+_0x14a645[_0x7c18('0x46')][_0x7c18('0x52')]+'%'};return _0xbc237a;})});}_0xbbeeb8=_[_0x7c18('0x53')]({},_0xbbeeb8,_0x14a645[_0x7c18('0x59')]);return _0x54ad7a['getAgents'](_0xbbeeb8);}})[_0x7c18('0x20')](function(_0x40922a){if(_0x40922a){_0x1c484d=_0x40922a[_0x7c18('0x4c')];if(!_0x14a645[_0x7c18('0x46')]['hasOwnProperty'](_0x7c18('0x4d'))){_0xbbeeb8['limit']=qs[_0x7c18('0x32')](_0x14a645[_0x7c18('0x46')][_0x7c18('0x32')]);_0xbbeeb8[_0x7c18('0x31')]=qs[_0x7c18('0x31')](_0x14a645[_0x7c18('0x46')][_0x7c18('0x31')]);}return _0x54ad7a[_0x7c18('0xdc')](_0xbbeeb8);}})[_0x7c18('0x20')](function(_0x9d54d2){if(_0x9d54d2){return _0x9d54d2?{'count':_0x1c484d,'rows':_0x9d54d2}:null;}})[_0x7c18('0x20')](respondWithResult(_0x509e36,null))[_0x7c18('0x2b')](handleError(_0x509e36,null));};