1fef6a60e9233eb8ca3751560151d2b2d0acac4d
[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 _0x5c34=['SmsQueue','unshift','queue','waitForTheAssignedQueue','Start','startRouting','receiveMessage','entity\x20found','SmsAccount,\x20%s,\x20%s,\x20%s,\x20%s','Content-Type','<?xml\x20version=\x221.0\x22\x20encoding=\x22UTF-8\x22?>\x0a<Response></Response>','sequelize','transaction','Transaction','READ_COMMITTED','SmsApplication','finally','getApplications','getInteractions','SmsInteraction','User','Owner','fullname','Tag','Tags','tag','List','out','spread','dataValues','Messages','skebby_dispatch_id','connectel','requestid','statusInt','message_id','status_code','groupName','redif','DELIVERED','inspect','error_code','DELIVRD','ACCEPTD','received\x20delivery\x20report\x20from','state','message-id','emit','userSmsAccount:save','removeAgents','isArray','userSmsAccount:remove','getAgents','rimraf','request-promise','moment','mustache','util','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./smsAccount.socket','client','then','info','SmsAccount,\x20%s,\x20%s','request\x20sent','debug','SmsAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','update','destroy','get','SmsAccounts','UserProfileResource','stack','name','send','Pause','mandatoryDispositionPause','map','SmsAccount','rawAttributes','fieldName','type','key','model','query','filters','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','merge','filter','options','includeAll','findAll','rows','show','intersection','include','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','find','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','describe','addDisposition','Disposition','keys','SmsAccountId','removeDispositions','ids','addAnswer','findOne','CannedAnswer','removeAnswers','notify','account','applications','Applications','CmContact','ValidationError','no\x20available\x20attributes','difference','createdAt','updatedAt','mobile','twilio','From','messageId','skebby','sender','text','from','clicksend','plivo','Text','MessageUUID','infobip','results','csc','segmentedMessage','clickatell','fromNumber','replyMessageId','bandwidth','intelepeer','refid','isNil','Sequelize','from\x20is\x20mandatory','body\x20is\x20mandatory\x20and\x20not\x20empty','mapKey\x20is\x20mandatory,\x20please\x20use\x20one\x20of\x20these:\x20','mapKey','CmList','ListId','DESC','list','omit','Contacts','contact','push','close','unmanaged','*,*,*,*','interaction','created','SmsMessage','ContactId','AttachmentId','UserId','waitForTheAssignedAgent','queueId'];(function(_0x3c950f,_0x1a9e4b){var _0x23df1c=function(_0xdef971){while(--_0xdef971){_0x3c950f['push'](_0x3c950f['shift']());}};_0x23df1c(++_0x1a9e4b);}(_0x5c34,0x113));var _0x45c3=function(_0xcd9943,_0x4cad04){_0xcd9943=_0xcd9943-0x0;var _0x19a773=_0x5c34[_0xcd9943];return _0x19a773;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x45c3('0x0'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x45c3('0x1'));var moment=require(_0x45c3('0x2'));var BPromise=require('bluebird');var Mustache=require(_0x45c3('0x3'));var util=require(_0x45c3('0x4'));var path=require('path');var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x45c3('0x5'));var fs=require('fs');var fs_extra=require(_0x45c3('0x6'));var _=require(_0x45c3('0x7'));var squel=require(_0x45c3('0x8'));var crypto=require(_0x45c3('0x9'));var jsforce=require(_0x45c3('0xa'));var deskjs=require(_0x45c3('0xb'));var toCsv=require(_0x45c3('0xc'));var querystring=require(_0x45c3('0xd'));var Papa=require(_0x45c3('0xe'));var Redis=require(_0x45c3('0xf'));var authService=require(_0x45c3('0x10'));var qs=require(_0x45c3('0x11'));var as=require(_0x45c3('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x45c3('0x13'))(_0x45c3('0x14'));var utils=require(_0x45c3('0x15'));var config=require(_0x45c3('0x16'));var licenseUtil=require(_0x45c3('0x17'));var db=require(_0x45c3('0x18'))['db'];config[_0x45c3('0x19')]=_[_0x45c3('0x1a')](config[_0x45c3('0x19')],{'host':_0x45c3('0x1b'),'port':0x18eb});var socket=require(_0x45c3('0x1c'))(new Redis(config[_0x45c3('0x19')]));require(_0x45c3('0x1d'))['register'](socket);var jayson=require('jayson/promise');var client=jayson[_0x45c3('0x1e')]['http']({'port':0x232c});function respondWithRpcPromise(_0x5e2b34,_0x3c4cae,_0x239dd6,_0xa9eeaf){return new BPromise(function(_0x50ebb7,_0x44643a){var _0x30e705=_0xa9eeaf||client;return _0x30e705['request'](_0x5e2b34,_0x239dd6)[_0x45c3('0x1f')](function(_0x528ade){logger[_0x45c3('0x20')](_0x45c3('0x21'),_0x3c4cae,_0x45c3('0x22'));logger[_0x45c3('0x23')](_0x45c3('0x24'),_0x3c4cae,_0x45c3('0x22'),JSON[_0x45c3('0x25')](_0x528ade));if(_0x528ade[_0x45c3('0x26')]){if(_0x528ade[_0x45c3('0x26')][_0x45c3('0x27')]===0x1f4){logger['error']('SmsAccount,\x20%s,\x20%s',_0x3c4cae,_0x528ade[_0x45c3('0x26')][_0x45c3('0x28')]);return _0x44643a(_0x528ade[_0x45c3('0x26')][_0x45c3('0x28')]);}logger[_0x45c3('0x26')](_0x45c3('0x21'),_0x3c4cae,_0x528ade[_0x45c3('0x26')]['message']);return _0x50ebb7(_0x528ade[_0x45c3('0x26')][_0x45c3('0x28')]);}else{logger[_0x45c3('0x20')](_0x45c3('0x21'),_0x3c4cae,'request\x20sent');_0x50ebb7(_0x528ade[_0x45c3('0x29')][_0x45c3('0x28')]);}})[_0x45c3('0x2a')](function(_0x292d22){logger[_0x45c3('0x26')](_0x45c3('0x21'),_0x3c4cae,_0x292d22);_0x44643a(_0x292d22);});});}function respondWithStatusCode(_0x1460de,_0x1dc6ee){_0x1dc6ee=_0x1dc6ee||0xcc;return function(_0x45ad9d){if(_0x45ad9d){return _0x1460de[_0x45c3('0x2b')](_0x1dc6ee);}return _0x1460de[_0x45c3('0x2c')](_0x1dc6ee)[_0x45c3('0x2d')]();};}function respondWithResult(_0x3c0ce7,_0x23628d){_0x23628d=_0x23628d||0xc8;return function(_0x473ecc){if(_0x473ecc){return _0x3c0ce7[_0x45c3('0x2c')](_0x23628d)[_0x45c3('0x2e')](_0x473ecc);}};}function respondWithFilteredResult(_0x38d57b,_0x3b2163){return function(_0x1c0a12){if(_0x1c0a12){var _0x452dde=typeof _0x3b2163[_0x45c3('0x2f')]===_0x45c3('0x30')&&typeof _0x3b2163[_0x45c3('0x31')]===_0x45c3('0x30');var _0x1c941f=_0x1c0a12['count'];var _0x39059c=_0x452dde?0x0:_0x3b2163[_0x45c3('0x2f')];var _0x2e332b=_0x452dde?_0x1c0a12[_0x45c3('0x32')]:_0x3b2163[_0x45c3('0x2f')]+_0x3b2163[_0x45c3('0x31')];var _0x9fec13;if(_0x2e332b>=_0x1c941f){_0x2e332b=_0x1c941f;_0x9fec13=0xc8;}else{_0x9fec13=0xce;}_0x38d57b['status'](_0x9fec13);return _0x38d57b[_0x45c3('0x33')](_0x45c3('0x34'),_0x39059c+'-'+_0x2e332b+'/'+_0x1c941f)[_0x45c3('0x2e')](_0x1c0a12);}return null;};}function patchUpdates(_0x221ea7){return function(_0x1633ee){try{jsonpatch[_0x45c3('0x35')](_0x1633ee,_0x221ea7,!![]);}catch(_0x274d51){return BPromise[_0x45c3('0x36')](_0x274d51);}return _0x1633ee['save']();};}function saveUpdates(_0x4b7125,_0x3fc66a){return function(_0x3e7e98){if(_0x3e7e98){return _0x3e7e98[_0x45c3('0x37')](_0x4b7125)[_0x45c3('0x1f')](function(_0x167049){return _0x167049;});}return null;};}function removeEntity(_0x5be2ff,_0x3340b7){return function(_0x5838b0){if(_0x5838b0){return _0x5838b0[_0x45c3('0x38')]()[_0x45c3('0x1f')](function(){var _0x394784=_0x5838b0[_0x45c3('0x39')]({'plain':!![]});var _0x817a08=_0x45c3('0x3a');return db[_0x45c3('0x3b')]['destroy']({'where':{'type':_0x817a08,'resourceId':_0x394784['id']}})['then'](function(){return _0x5838b0;});})[_0x45c3('0x1f')](function(){_0x5be2ff[_0x45c3('0x2c')](0xcc)['end']();});}};}function handleEntityNotFound(_0x3b4384,_0x15c07c){return function(_0x28775a){if(!_0x28775a){_0x3b4384[_0x45c3('0x2b')](0x194);}return _0x28775a;};}function handleError(_0x1e1dd2,_0x566e27){_0x566e27=_0x566e27||0x1f4;return function(_0x274bb2){logger['error'](_0x274bb2[_0x45c3('0x3c')]);if(_0x274bb2['name']){delete _0x274bb2[_0x45c3('0x3d')];}_0x1e1dd2[_0x45c3('0x2c')](_0x566e27)[_0x45c3('0x3e')](_0x274bb2);};}exports['index']=function(_0x1d9f9b,_0xe3a695){var _0x561f57={'include':[{'model':db[_0x45c3('0x3f')],'as':_0x45c3('0x40')}]},_0x2e671a={},_0x44e554={'count':0x0,'rows':[]};var _0x5a9a5=_[_0x45c3('0x41')](db[_0x45c3('0x42')][_0x45c3('0x43')],function(_0x289691){return{'name':_0x289691[_0x45c3('0x44')],'type':_0x289691[_0x45c3('0x45')][_0x45c3('0x46')]};});_0x2e671a[_0x45c3('0x47')]=_[_0x45c3('0x41')](_0x5a9a5,_0x45c3('0x3d'));_0x2e671a[_0x45c3('0x48')]=_['keys'](_0x1d9f9b['query']);_0x2e671a[_0x45c3('0x49')]=_['intersection'](_0x2e671a[_0x45c3('0x47')],_0x2e671a[_0x45c3('0x48')]);_0x561f57[_0x45c3('0x4a')]=_['intersection'](_0x2e671a[_0x45c3('0x47')],qs[_0x45c3('0x4b')](_0x1d9f9b[_0x45c3('0x48')][_0x45c3('0x4b')]));_0x561f57[_0x45c3('0x4a')]=_0x561f57[_0x45c3('0x4a')][_0x45c3('0x4c')]?_0x561f57['attributes']:_0x2e671a['model'];if(!_0x1d9f9b['query'][_0x45c3('0x4d')](_0x45c3('0x4e'))){_0x561f57['limit']=qs[_0x45c3('0x31')](_0x1d9f9b[_0x45c3('0x48')][_0x45c3('0x31')]);_0x561f57[_0x45c3('0x2f')]=qs[_0x45c3('0x2f')](_0x1d9f9b['query']['offset']);}_0x561f57[_0x45c3('0x4f')]=qs[_0x45c3('0x50')](_0x1d9f9b[_0x45c3('0x48')][_0x45c3('0x50')]);_0x561f57[_0x45c3('0x51')]=qs['filters'](_[_0x45c3('0x52')](_0x1d9f9b[_0x45c3('0x48')],_0x2e671a[_0x45c3('0x49')]),_0x5a9a5);if(_0x1d9f9b[_0x45c3('0x48')]['filter']){_0x561f57[_0x45c3('0x51')]=_[_0x45c3('0x53')](_0x561f57[_0x45c3('0x51')],{'$or':_['map'](_0x5a9a5,function(_0x599428){if(_0x599428[_0x45c3('0x45')]!=='VIRTUAL'){var _0x149dbc={};_0x149dbc[_0x599428['name']]={'$like':'%'+_0x1d9f9b[_0x45c3('0x48')][_0x45c3('0x54')]+'%'};return _0x149dbc;}})});}_0x561f57=_[_0x45c3('0x53')]({},_0x561f57,_0x1d9f9b[_0x45c3('0x55')]);var _0xa6533b={'where':_0x561f57['where']};return db['SmsAccount']['count'](_0xa6533b)[_0x45c3('0x1f')](function(_0x587dad){_0x44e554['count']=_0x587dad;if(_0x1d9f9b['query'][_0x45c3('0x56')]){_0x561f57['include']=[{'all':!![]}];}return db[_0x45c3('0x42')][_0x45c3('0x57')](_0x561f57);})['then'](function(_0x1a62b4){_0x44e554[_0x45c3('0x58')]=_0x1a62b4;return _0x44e554;})[_0x45c3('0x1f')](respondWithFilteredResult(_0xe3a695,_0x561f57))[_0x45c3('0x2a')](handleError(_0xe3a695,null));};exports[_0x45c3('0x59')]=function(_0x2fcc0c,_0xbae89){var _0x4b756d={'raw':![],'where':{'id':_0x2fcc0c['params']['id']},'include':[{'model':db[_0x45c3('0x3f')],'as':_0x45c3('0x40')}]},_0x3dc989={};_0x3dc989[_0x45c3('0x47')]=_['keys'](db[_0x45c3('0x42')][_0x45c3('0x43')]);_0x3dc989['query']=_['keys'](_0x2fcc0c['query']);_0x3dc989[_0x45c3('0x49')]=_[_0x45c3('0x5a')](_0x3dc989[_0x45c3('0x47')],_0x3dc989[_0x45c3('0x48')]);_0x4b756d[_0x45c3('0x4a')]=_['intersection'](_0x3dc989[_0x45c3('0x47')],qs[_0x45c3('0x4b')](_0x2fcc0c[_0x45c3('0x48')]['fields']));_0x4b756d[_0x45c3('0x4a')]=_0x4b756d[_0x45c3('0x4a')][_0x45c3('0x4c')]?_0x4b756d[_0x45c3('0x4a')]:_0x3dc989[_0x45c3('0x47')];if(_0x2fcc0c[_0x45c3('0x48')]['includeAll']){_0x4b756d[_0x45c3('0x5b')]=[{'all':!![]}];}_0x4b756d=_[_0x45c3('0x53')]({},_0x4b756d,_0x2fcc0c[_0x45c3('0x55')]);return db[_0x45c3('0x42')]['find'](_0x4b756d)[_0x45c3('0x1f')](handleEntityNotFound(_0xbae89,null))[_0x45c3('0x1f')](respondWithResult(_0xbae89,null))['catch'](handleError(_0xbae89,null));};exports['create']=function(_0x38e58c,_0x35a935){return db[_0x45c3('0x42')][_0x45c3('0x5c')](_0x38e58c[_0x45c3('0x5d')],{})['then'](function(_0xc19193){var _0x4a6610=_0x38e58c[_0x45c3('0x5e')][_0x45c3('0x39')]({'plain':!![]});if(!_0x4a6610)throw new Error(_0x45c3('0x5f'));if(_0x4a6610[_0x45c3('0x60')]===_0x45c3('0x5e')){var _0x6a0296=_0xc19193[_0x45c3('0x39')]({'plain':!![]});var _0x3fc284=_0x45c3('0x3a');return db['UserProfileSection'][_0x45c3('0x61')]({'where':{'name':_0x3fc284,'userProfileId':_0x4a6610[_0x45c3('0x62')]},'raw':!![]})[_0x45c3('0x1f')](function(_0x53713e){if(_0x53713e&&_0x53713e['autoAssociation']===0x0){return db[_0x45c3('0x3b')][_0x45c3('0x5c')]({'name':_0x6a0296[_0x45c3('0x3d')],'resourceId':_0x6a0296['id'],'type':_0x53713e[_0x45c3('0x3d')],'sectionId':_0x53713e['id']},{})[_0x45c3('0x1f')](function(){return _0xc19193;});}else{return _0xc19193;}})['catch'](function(_0x438ed6){logger['error'](_0x45c3('0x63'),_0x438ed6);throw _0x438ed6;});}return _0xc19193;})[_0x45c3('0x1f')](respondWithResult(_0x35a935,0xc9))['catch'](handleError(_0x35a935,null));};exports[_0x45c3('0x37')]=function(_0x527f53,_0xf3a5d7){if(_0x527f53[_0x45c3('0x5d')]['id']){delete _0x527f53[_0x45c3('0x5d')]['id'];}return db[_0x45c3('0x42')]['find']({'where':{'id':_0x527f53[_0x45c3('0x64')]['id']},'include':[{'model':db[_0x45c3('0x3f')],'as':_0x45c3('0x40')}]})[_0x45c3('0x1f')](handleEntityNotFound(_0xf3a5d7,null))[_0x45c3('0x1f')](saveUpdates(_0x527f53[_0x45c3('0x5d')],null))[_0x45c3('0x1f')](respondWithResult(_0xf3a5d7,null))[_0x45c3('0x2a')](handleError(_0xf3a5d7,null));};exports[_0x45c3('0x38')]=function(_0x267845,_0xb67cee){return db[_0x45c3('0x42')]['find']({'where':{'id':_0x267845[_0x45c3('0x64')]['id']}})[_0x45c3('0x1f')](handleEntityNotFound(_0xb67cee,null))[_0x45c3('0x1f')](removeEntity(_0xb67cee,null))[_0x45c3('0x2a')](handleError(_0xb67cee,null));};exports[_0x45c3('0x65')]=function(_0x2b9c92,_0x41aaac){return db[_0x45c3('0x42')][_0x45c3('0x65')]()[_0x45c3('0x1f')](respondWithResult(_0x41aaac,null))[_0x45c3('0x2a')](handleError(_0x41aaac,null));};exports[_0x45c3('0x66')]=function(_0x53a96f,_0x400453,_0x4448c0){if(_0x53a96f['body']['id']){delete _0x53a96f['body']['id'];}return db[_0x45c3('0x42')][_0x45c3('0x61')]({'where':{'id':_0x53a96f[_0x45c3('0x64')]['id']}})[_0x45c3('0x1f')](handleEntityNotFound(_0x400453,null))['then'](function(_0x678dfa){if(_0x678dfa){_0x53a96f['body']['SmsAccountId']=_0x678dfa['id'];return db[_0x45c3('0x67')][_0x45c3('0x5c')](_0x53a96f[_0x45c3('0x5d')]);}})['then'](respondWithResult(_0x400453,null))[_0x45c3('0x2a')](handleError(_0x400453,null));};exports['getDispositions']=function(_0x33247d,_0x121e05,_0x579213){var _0x517cdc={'raw':![],'where':{}};var _0x277044={};var _0x51346f={'count':0x0,'rows':[]};return db[_0x45c3('0x42')]['findOne']({'where':{'id':_0x33247d[_0x45c3('0x64')]['id']}})['then'](handleEntityNotFound(_0x121e05,null))['then'](function(_0x250baf){if(_0x250baf){_0x277044[_0x45c3('0x47')]=_['keys'](db[_0x45c3('0x67')]['rawAttributes']);_0x277044['query']=_[_0x45c3('0x68')](_0x33247d[_0x45c3('0x48')]);_0x277044[_0x45c3('0x49')]=_['intersection'](_0x277044[_0x45c3('0x47')],_0x277044[_0x45c3('0x48')]);_0x517cdc['attributes']=_[_0x45c3('0x5a')](_0x277044['model'],qs['fields'](_0x33247d[_0x45c3('0x48')][_0x45c3('0x4b')]));_0x517cdc[_0x45c3('0x4a')]=_0x517cdc[_0x45c3('0x4a')][_0x45c3('0x4c')]?_0x517cdc[_0x45c3('0x4a')]:_0x277044[_0x45c3('0x47')];if(!_0x33247d[_0x45c3('0x48')]['hasOwnProperty'](_0x45c3('0x4e'))){_0x517cdc[_0x45c3('0x31')]=qs['limit'](_0x33247d[_0x45c3('0x48')][_0x45c3('0x31')]);_0x517cdc['offset']=qs[_0x45c3('0x2f')](_0x33247d[_0x45c3('0x48')]['offset']);}_0x517cdc[_0x45c3('0x4f')]=qs[_0x45c3('0x50')](_0x33247d[_0x45c3('0x48')]['sort']);_0x517cdc[_0x45c3('0x51')]=qs[_0x45c3('0x49')](_['pick'](_0x33247d[_0x45c3('0x48')],_0x277044[_0x45c3('0x49')]));_0x517cdc[_0x45c3('0x51')][_0x45c3('0x69')]=_0x250baf['id'];if(_0x33247d['query'][_0x45c3('0x54')]){_0x517cdc[_0x45c3('0x51')]=_[_0x45c3('0x53')](_0x517cdc['where'],{'$or':_['map'](_0x517cdc[_0x45c3('0x4a')],function(_0x83fbd){var _0x5a1536={};_0x5a1536[_0x83fbd]={'$like':'%'+_0x33247d[_0x45c3('0x48')][_0x45c3('0x54')]+'%'};return _0x5a1536;})});}_0x517cdc=_[_0x45c3('0x53')]({},_0x517cdc,_0x33247d[_0x45c3('0x55')]);return db[_0x45c3('0x67')]['count']({'where':_0x517cdc['where']})['then'](function(_0x5e7b41){_0x51346f['count']=_0x5e7b41;if(_0x33247d[_0x45c3('0x48')][_0x45c3('0x56')]){_0x517cdc[_0x45c3('0x5b')]=[{'all':!![]}];}return db[_0x45c3('0x67')][_0x45c3('0x57')](_0x517cdc);})[_0x45c3('0x1f')](function(_0x5c4ac5){_0x51346f[_0x45c3('0x58')]=_0x5c4ac5;return _0x51346f;});}})[_0x45c3('0x1f')](respondWithFilteredResult(_0x121e05,_0x517cdc))[_0x45c3('0x2a')](handleError(_0x121e05,null));};exports[_0x45c3('0x6a')]=function(_0x4f6a05,_0x4c84c1,_0x210d53){return db['SmsAccount'][_0x45c3('0x61')]({'where':{'id':_0x4f6a05[_0x45c3('0x64')]['id']}})[_0x45c3('0x1f')](handleEntityNotFound(_0x4c84c1,null))[_0x45c3('0x1f')](function(_0x256a3e){if(_0x256a3e){return _0x256a3e[_0x45c3('0x6a')](_0x4f6a05[_0x45c3('0x48')][_0x45c3('0x6b')]);}})['then'](respondWithStatusCode(_0x4c84c1,null))[_0x45c3('0x2a')](handleError(_0x4c84c1,null));};exports[_0x45c3('0x6c')]=function(_0xadbab6,_0x3721d2,_0x4faec9){if(_0xadbab6['body']['id']){delete _0xadbab6[_0x45c3('0x5d')]['id'];}return db[_0x45c3('0x42')]['find']({'where':{'id':_0xadbab6[_0x45c3('0x64')]['id']}})['then'](handleEntityNotFound(_0x3721d2,null))[_0x45c3('0x1f')](function(_0x137843){if(_0x137843){_0xadbab6[_0x45c3('0x5d')][_0x45c3('0x69')]=_0x137843['id'];return db['CannedAnswer'][_0x45c3('0x5c')](_0xadbab6['body']);}})[_0x45c3('0x1f')](respondWithResult(_0x3721d2,null))[_0x45c3('0x2a')](handleError(_0x3721d2,null));};exports['getAnswers']=function(_0x91b709,_0x34b8ab,_0x367b6b){var _0x327145={'raw':![],'where':{}};var _0x4c27e9={};var _0x317ebd={'count':0x0,'rows':[]};return db['SmsAccount'][_0x45c3('0x6d')]({'where':{'id':_0x91b709[_0x45c3('0x64')]['id']}})[_0x45c3('0x1f')](handleEntityNotFound(_0x34b8ab,null))[_0x45c3('0x1f')](function(_0x166293){if(_0x166293){_0x4c27e9[_0x45c3('0x47')]=_[_0x45c3('0x68')](db[_0x45c3('0x6e')][_0x45c3('0x43')]);_0x4c27e9[_0x45c3('0x48')]=_['keys'](_0x91b709[_0x45c3('0x48')]);_0x4c27e9[_0x45c3('0x49')]=_[_0x45c3('0x5a')](_0x4c27e9['model'],_0x4c27e9[_0x45c3('0x48')]);_0x327145[_0x45c3('0x4a')]=_[_0x45c3('0x5a')](_0x4c27e9[_0x45c3('0x47')],qs['fields'](_0x91b709[_0x45c3('0x48')][_0x45c3('0x4b')]));_0x327145[_0x45c3('0x4a')]=_0x327145[_0x45c3('0x4a')][_0x45c3('0x4c')]?_0x327145[_0x45c3('0x4a')]:_0x4c27e9['model'];if(!_0x91b709[_0x45c3('0x48')][_0x45c3('0x4d')](_0x45c3('0x4e'))){_0x327145[_0x45c3('0x31')]=qs['limit'](_0x91b709[_0x45c3('0x48')][_0x45c3('0x31')]);_0x327145['offset']=qs[_0x45c3('0x2f')](_0x91b709['query'][_0x45c3('0x2f')]);}_0x327145[_0x45c3('0x4f')]=qs[_0x45c3('0x50')](_0x91b709[_0x45c3('0x48')][_0x45c3('0x50')]);_0x327145[_0x45c3('0x51')]=qs[_0x45c3('0x49')](_[_0x45c3('0x52')](_0x91b709[_0x45c3('0x48')],_0x4c27e9[_0x45c3('0x49')]));_0x327145['where'][_0x45c3('0x69')]=_0x166293['id'];if(_0x91b709['query'][_0x45c3('0x54')]){_0x327145[_0x45c3('0x51')]=_[_0x45c3('0x53')](_0x327145[_0x45c3('0x51')],{'$or':_[_0x45c3('0x41')](_0x327145[_0x45c3('0x4a')],function(_0x45b1ae){var _0x1ff5b1={};_0x1ff5b1[_0x45b1ae]={'$like':'%'+_0x91b709[_0x45c3('0x48')][_0x45c3('0x54')]+'%'};return _0x1ff5b1;})});}_0x327145=_[_0x45c3('0x53')]({},_0x327145,_0x91b709[_0x45c3('0x55')]);return db[_0x45c3('0x6e')][_0x45c3('0x32')]({'where':_0x327145[_0x45c3('0x51')]})['then'](function(_0x55e281){_0x317ebd['count']=_0x55e281;if(_0x91b709[_0x45c3('0x48')]['includeAll']){_0x327145[_0x45c3('0x5b')]=[{'all':!![]}];}return db[_0x45c3('0x6e')][_0x45c3('0x57')](_0x327145);})[_0x45c3('0x1f')](function(_0x5f5ae0){_0x317ebd[_0x45c3('0x58')]=_0x5f5ae0;return _0x317ebd;});}})[_0x45c3('0x1f')](respondWithFilteredResult(_0x34b8ab,_0x327145))[_0x45c3('0x2a')](handleError(_0x34b8ab,null));};exports[_0x45c3('0x6f')]=function(_0x49ca25,_0xaaa3f7,_0x12440d){return db[_0x45c3('0x42')][_0x45c3('0x61')]({'where':{'id':_0x49ca25[_0x45c3('0x64')]['id']}})[_0x45c3('0x1f')](handleEntityNotFound(_0xaaa3f7,null))[_0x45c3('0x1f')](function(_0x7ee757){if(_0x7ee757){return _0x7ee757['removeAnswers'](_0x49ca25[_0x45c3('0x48')][_0x45c3('0x6b')]);}})['then'](respondWithStatusCode(_0xaaa3f7,null))[_0x45c3('0x2a')](handleError(_0xaaa3f7,null));};exports[_0x45c3('0x70')]=function(_0x2a78db,_0x31b5e7,_0x373f24){var _0xfa5e8b={'channel':'sms'};var _0x537d60=[];var _0x49dbfa=[];var _0x328fe0={};return db['SmsAccount'][_0x45c3('0x61')]({'where':{'id':_0x2a78db[_0x45c3('0x64')]['id']},'include':[{'model':db['SmsApplication'],'as':'Applications'}]})[_0x45c3('0x1f')](handleEntityNotFound(_0x31b5e7,null))[_0x45c3('0x1f')](function(_0xf9b0a3){_0xfa5e8b[_0x45c3('0x71')]=_0xf9b0a3;_0xfa5e8b[_0x45c3('0x72')]=_['orderBy'](_0xf9b0a3[_0x45c3('0x73')],['priority'],['asc']);if(_0xfa5e8b['account'][_0x45c3('0x73')]){delete _0xfa5e8b['account'][_0x45c3('0x73')];}return db[_0x45c3('0x74')][_0x45c3('0x65')]();})['then'](function(_0x1efb5f){if(!_0x1efb5f){throw new db['Sequelize'][(_0x45c3('0x75'))](_0x45c3('0x76'));}_0x537d60=_[_0x45c3('0x77')](_[_0x45c3('0x68')](_0x1efb5f),[_0x45c3('0x78'),_0x45c3('0x79')]);_0x49dbfa=_[_0x45c3('0x77')](_[_0x45c3('0x68')](_0x1efb5f),[_0x45c3('0x78'),_0x45c3('0x79'),'CompanyId','ListId']);_0xfa5e8b[_0x45c3('0x5d')]={'mapKey':_0x45c3('0x7a')};if(_0xfa5e8b['account'][_0x45c3('0x45')]){switch(_0xfa5e8b[_0x45c3('0x71')][_0x45c3('0x45')]){case _0x45c3('0x7b'):_0xfa5e8b[_0x45c3('0x5d')]['from']=_0x2a78db[_0x45c3('0x5d')][_0x45c3('0x7c')];_0xfa5e8b['body'][_0x45c3('0x5d')]=_0x2a78db['body']['Body'];_0xfa5e8b['body'][_0x45c3('0x7d')]=_0x2a78db[_0x45c3('0x5d')]['MessageSid'];break;case _0x45c3('0x7e'):_0xfa5e8b['body']['from']='+'+_0x2a78db['body'][_0x45c3('0x7f')];_0xfa5e8b[_0x45c3('0x5d')][_0x45c3('0x5d')]=_0x2a78db[_0x45c3('0x5d')][_0x45c3('0x80')];break;case'connectel':_0xfa5e8b[_0x45c3('0x5d')][_0x45c3('0x81')]=_0x2a78db[_0x45c3('0x5d')][_0x45c3('0x81')];_0xfa5e8b['body']['body']=_0x2a78db[_0x45c3('0x5d')][_0x45c3('0x28')];break;case _0x45c3('0x82'):_0xfa5e8b['body'][_0x45c3('0x81')]=_0x2a78db[_0x45c3('0x5d')][_0x45c3('0x81')];_0xfa5e8b[_0x45c3('0x5d')][_0x45c3('0x5d')]=_0x2a78db[_0x45c3('0x5d')][_0x45c3('0x5d')];_0xfa5e8b[_0x45c3('0x5d')][_0x45c3('0x7d')]=_0x2a78db[_0x45c3('0x5d')]['message_id'];break;case _0x45c3('0x83'):_0xfa5e8b[_0x45c3('0x5d')][_0x45c3('0x81')]=_0x2a78db[_0x45c3('0x5d')][_0x45c3('0x7c')];_0xfa5e8b[_0x45c3('0x5d')][_0x45c3('0x5d')]=_0x2a78db[_0x45c3('0x5d')][_0x45c3('0x84')];_0xfa5e8b[_0x45c3('0x5d')]['messageId']=_0x2a78db[_0x45c3('0x5d')][_0x45c3('0x85')];break;case _0x45c3('0x86'):_0xfa5e8b[_0x45c3('0x5d')][_0x45c3('0x81')]='+'+_0x2a78db[_0x45c3('0x5d')][_0x45c3('0x87')][0x0][_0x45c3('0x81')];_0xfa5e8b['body'][_0x45c3('0x5d')]=_0x2a78db[_0x45c3('0x5d')][_0x45c3('0x87')][0x0][_0x45c3('0x80')];_0xfa5e8b[_0x45c3('0x5d')]['messageId']=_0x2a78db[_0x45c3('0x5d')]['results'][0x0][_0x45c3('0x7d')];break;case _0x45c3('0x88'):_0xfa5e8b['body']['from']=_0x2a78db['body']['originatingAddress'];_0xfa5e8b[_0x45c3('0x5d')][_0x45c3('0x5d')]=_0x2a78db[_0x45c3('0x5d')][_0x45c3('0x89')][_0x45c3('0x28')];break;case _0x45c3('0x8a'):_0xfa5e8b[_0x45c3('0x5d')][_0x45c3('0x81')]=_0x2a78db[_0x45c3('0x5d')][_0x45c3('0x8b')];_0xfa5e8b[_0x45c3('0x5d')][_0x45c3('0x5d')]=_0x2a78db[_0x45c3('0x5d')]['text'];_0xfa5e8b[_0x45c3('0x5d')][_0x45c3('0x7d')]=_0x2a78db[_0x45c3('0x5d')][_0x45c3('0x8c')];break;case _0x45c3('0x8d'):_0xfa5e8b[_0x45c3('0x5d')]['messageId']=_0x2a78db[_0x45c3('0x5d')][0x0][_0x45c3('0x28')]['id'];_0xfa5e8b[_0x45c3('0x5d')][_0x45c3('0x81')]=_0x2a78db[_0x45c3('0x5d')][0x0][_0x45c3('0x28')][_0x45c3('0x81')];_0xfa5e8b[_0x45c3('0x5d')][_0x45c3('0x5d')]=_0x2a78db[_0x45c3('0x5d')][0x0]['message'][_0x45c3('0x80')];break;case _0x45c3('0x8e'):_0xfa5e8b[_0x45c3('0x5d')][_0x45c3('0x81')]=_0x2a78db[_0x45c3('0x5d')][_0x45c3('0x81')];_0xfa5e8b[_0x45c3('0x5d')][_0x45c3('0x5d')]=_0x2a78db[_0x45c3('0x5d')][_0x45c3('0x28')];_0xfa5e8b[_0x45c3('0x5d')][_0x45c3('0x7d')]=_0x2a78db['body'][_0x45c3('0x8f')];break;}}if(_0xfa5e8b['body']['id']){delete _0xfa5e8b['body']['id'];}if(_[_0x45c3('0x90')](_0xfa5e8b['body']['from'])){throw new db[(_0x45c3('0x91'))][(_0x45c3('0x75'))](_0x45c3('0x92'));}if(_[_0x45c3('0x90')](_0xfa5e8b['body'][_0x45c3('0x5d')])||_0xfa5e8b[_0x45c3('0x5d')][_0x45c3('0x5d')]===''){throw new db[(_0x45c3('0x91'))]['ValidationError'](_0x45c3('0x93'));}if(_[_0x45c3('0x90')](_0xfa5e8b['body']['mapKey'])){throw new db[(_0x45c3('0x91'))]['ValidationError'](_0x45c3('0x94')+_0x49dbfa);}if(!_['includes'](_0x49dbfa,_0xfa5e8b[_0x45c3('0x5d')][_0x45c3('0x95')])){throw new db[(_0x45c3('0x91'))][(_0x45c3('0x75'))]('mapKey\x20invalid,\x20please\x20use\x20one\x20of\x20these:\x20'+_0x49dbfa);}_0x328fe0[_0xfa5e8b[_0x45c3('0x5d')][_0x45c3('0x95')]]=_0xfa5e8b[_0x45c3('0x5d')][_0x45c3('0x81')];return db[_0x45c3('0x96')][_0x45c3('0x61')]({'where':{'id':_0xfa5e8b[_0x45c3('0x71')][_0x45c3('0x97')]},'include':[{'model':db[_0x45c3('0x74')],'as':'Contacts','where':_0x328fe0,'limit':0x1,'order':[[_0x45c3('0x79'),_0x45c3('0x98')]]}]});})[_0x45c3('0x1f')](handleEntityNotFound(_0x31b5e7,null))[_0x45c3('0x1f')](function(_0x22b7cf){if(_0x22b7cf){_0xfa5e8b[_0x45c3('0x99')]=_[_0x45c3('0x9a')](_0x22b7cf,['Contacts']);if(_0x22b7cf[_0x45c3('0x9b')][_0x45c3('0x4c')]){return _0x22b7cf[_0x45c3('0x9b')][0x0];}var _0x1c29b0=_[_0x45c3('0x1a')](_0xfa5e8b[_0x45c3('0x5d')],{'firstName':_0xfa5e8b['body'][_0x45c3('0x81')],'ListId':_0x22b7cf['id']});_0x1c29b0[_0xfa5e8b[_0x45c3('0x5d')][_0x45c3('0x95')]]=_0xfa5e8b['body'][_0x45c3('0x81')];return db['CmContact'][_0x45c3('0x5c')](_0x1c29b0,{'fields':_0x537d60,'raw':!![]});}})['then'](handleEntityNotFound(_0x31b5e7,null))['then'](function(_0x154d5d){if(_0x154d5d){_0xfa5e8b[_0x45c3('0x9c')]=_0x154d5d;var _0x5d9b98={'ContactId':_0x154d5d['id'],'phone':_0xfa5e8b[_0x45c3('0x5d')][_0x45c3('0x81')],'SmsAccountId':_0x2a78db[_0x45c3('0x64')]['id']};var _0x36e980={'ContactId':_0x154d5d['id'],'SmsAccountId':_0x2a78db[_0x45c3('0x64')]['id'],'closed':![]};return db['SmsInteraction'][_0x45c3('0x61')]({'where':_0x36e980})[_0x45c3('0x1f')](function(_0x6d729b){if(_0x6d729b){return[_0x6d729b,![]];}return db['SmsInteraction']['create'](_0x5d9b98)[_0x45c3('0x1f')](function(_0x127777){return[_0x127777,!![]];});});}})['spread'](function(_0x5df608,_0x29081a){_0xfa5e8b['interaction']=_0x5df608['get']({'plain':!![]});_0xfa5e8b['interaction']['created']=![];if(_0x29081a){if(_0xfa5e8b[_0x45c3('0x71')]['autoclose']){_0xfa5e8b[_0x45c3('0x72')][_0x45c3('0x9d')]({'id':0x0,'priority':_0xfa5e8b[_0x45c3('0x72')][_0x45c3('0x4c')]+0x1,'app':_0x45c3('0x9e'),'appdata':_0x45c3('0x9f'),'interval':_0x45c3('0xa0')});}_0xfa5e8b[_0x45c3('0xa1')][_0x45c3('0xa2')]=!![];}return db[_0x45c3('0xa3')][_0x45c3('0x5c')]({'phone':_0xfa5e8b['body']['from'],'messageId':_0xfa5e8b[_0x45c3('0x5d')][_0x45c3('0x7d')],'body':_0xfa5e8b['body'][_0x45c3('0x5d')],'SmsAccountId':_0x2a78db['params']['id'],'SmsInteractionId':_0x5df608['id'],'direction':'in','ContactId':_0x5df608[_0x45c3('0xa4')],'AttachmentId':_0xfa5e8b[_0x45c3('0x5d')][_0x45c3('0xa5')]});})[_0x45c3('0x1f')](function(_0x55918e){_0xfa5e8b[_0x45c3('0x28')]=_0x55918e;if(!_0xfa5e8b[_0x45c3('0xa1')]['UserId'])return;return db['User']['find']({'attributes':['id',_0x45c3('0x3d')],'where':{'id':_0xfa5e8b[_0x45c3('0xa1')][_0x45c3('0xa6')]}});})[_0x45c3('0x1f')](function(_0x431c5e){if(_0x431c5e){_0xfa5e8b[_0x45c3('0x72')]['unshift']({'id':0x0,'priority':0x0,'app':'agent','appdata':_0x431c5e['name']+','+(_0xfa5e8b[_0x45c3('0x71')][_0x45c3('0xa7')]||0xa),'interval':'*,*,*,*'});}if(!_0xfa5e8b[_0x45c3('0xa1')][_0x45c3('0xa8')])return;return db[_0x45c3('0xa9')][_0x45c3('0x61')]({'attributes':['id',_0x45c3('0x3d')],'where':{'id':_0xfa5e8b[_0x45c3('0xa1')]['queueId']}});})[_0x45c3('0x1f')](function(_0x50cf78){if(_0x50cf78){_0xfa5e8b[_0x45c3('0x72')][_0x45c3('0xaa')]({'id':0x0,'priority':0x1,'app':_0x45c3('0xab'),'appdata':_0x50cf78[_0x45c3('0x3d')]+','+(_0xfa5e8b['account'][_0x45c3('0xac')]||0x12c),'interval':_0x45c3('0xa0')});}return respondWithRpcPromise(_0x45c3('0xad'),_0x45c3('0xae'),_0xfa5e8b);})[_0x45c3('0x1f')](function(_0x2d15ea){if(_0x2d15ea){var _0x513632=0xc8;var _0x230753=_0x45c3('0xaf');logger[_0x45c3('0x20')](_0x45c3('0x24'),_0x230753,_0x513632,_0x45c3('0xb0'));logger[_0x45c3('0x23')](_0x45c3('0xb1'),_0x230753,_0x513632,_0x45c3('0xb0'),JSON[_0x45c3('0x25')](_0x2d15ea));if(_0xfa5e8b[_0x45c3('0x71')][_0x45c3('0x45')]===_0x45c3('0x7b')){return _0x31b5e7[_0x45c3('0x2c')](_0x513632)[_0x45c3('0x33')](_0x45c3('0xb2'),'text/xml')['send'](_0x45c3('0xb3'));}else{return _0x31b5e7[_0x45c3('0x2c')](_0x513632)[_0x45c3('0x2e')](_0x2d15ea);}}})[_0x45c3('0x2a')](handleError(_0x31b5e7,null));};exports['addApplications']=function(_0x3211a1,_0x4a6d09){var _0x15912d=_0x3211a1[_0x45c3('0x64')]['id'];var _0x3bcfdf=_0x3211a1[_0x45c3('0x5d')];var _0x5c342b=0xc8;var _0x571577=null;return db[_0x45c3('0xb4')][_0x45c3('0xb5')]({'isolationLevel':db[_0x45c3('0xb4')][_0x45c3('0xb6')]['ISOLATION_LEVELS'][_0x45c3('0xb7')]},function(_0x5c42d5){return db[_0x45c3('0x42')][_0x45c3('0x6d')]({'where':{'id':_0x15912d},'transaction':_0x5c42d5})[_0x45c3('0x1f')](function(_0x5d9311){if(_0x5d9311){return db[_0x45c3('0xb8')][_0x45c3('0x38')]({'where':{'SmsAccountId':_0x15912d},'transaction':_0x5c42d5})[_0x45c3('0x1f')](function(){var _0x379e74=_[_0x45c3('0x41')](_0x3bcfdf,function(_0xbbfd41){_0xbbfd41[_0x45c3('0x69')]=_0x15912d;return _0xbbfd41;});return db[_0x45c3('0xb8')]['bulkCreate'](_0x379e74,{'transaction':_0x5c42d5});});}else{_0x5c342b=0x194;_0x571577=[];}});})[_0x45c3('0x1f')](function(){if(_0x5c342b!==0x194){return db[_0x45c3('0xb8')]['findAndCountAll']({'where':{'SmsAccountId':_0x15912d},'order':'priority'})[_0x45c3('0x1f')](function(_0x325871){_0x571577=_0x325871;});}})[_0x45c3('0x2a')](function(_0x4e9771){_0x5c342b=0x1f4;logger[_0x45c3('0x26')](_0x4e9771[_0x45c3('0x3c')]);if(_0x4e9771[_0x45c3('0x3d')]){delete _0x4e9771[_0x45c3('0x3d')];}_0x571577=_0x4e9771;})[_0x45c3('0xb9')](function(){if(_0x571577===null){_0x4a6d09[_0x45c3('0x2b')](_0x5c342b);}else{if(_0x5c342b===0x1f4){_0x4a6d09[_0x45c3('0x2c')](_0x5c342b)[_0x45c3('0x3e')](_0x571577);}else{_0x4a6d09['status'](_0x5c342b)[_0x45c3('0x2e')](_0x571577);}}});};exports[_0x45c3('0xba')]=function(_0x4f56eb,_0x370e40,_0x98d612){var _0x19a24f={};var _0xfe7208={};var _0x1ab6af;var _0x37d465;return db[_0x45c3('0x42')][_0x45c3('0x6d')]({'where':{'id':_0x4f56eb['params']['id']}})['then'](handleEntityNotFound(_0x370e40,null))[_0x45c3('0x1f')](function(_0xa40973){if(_0xa40973){_0x1ab6af=_0xa40973;_0xfe7208[_0x45c3('0x47')]=_[_0x45c3('0x68')](db[_0x45c3('0xb8')][_0x45c3('0x43')]);_0xfe7208[_0x45c3('0x48')]=_[_0x45c3('0x68')](_0x4f56eb['query']);_0xfe7208[_0x45c3('0x49')]=_['intersection'](_0xfe7208[_0x45c3('0x47')],_0xfe7208[_0x45c3('0x48')]);_0x19a24f[_0x45c3('0x4a')]=_[_0x45c3('0x5a')](_0xfe7208[_0x45c3('0x47')],qs['fields'](_0x4f56eb[_0x45c3('0x48')]['fields']));_0x19a24f[_0x45c3('0x4a')]=_0x19a24f[_0x45c3('0x4a')][_0x45c3('0x4c')]?_0x19a24f[_0x45c3('0x4a')]:_0xfe7208[_0x45c3('0x47')];_0x19a24f[_0x45c3('0x4f')]=qs[_0x45c3('0x50')](_0x4f56eb['query'][_0x45c3('0x50')]);_0x19a24f['where']=qs[_0x45c3('0x49')](_[_0x45c3('0x52')](_0x4f56eb[_0x45c3('0x48')],_0xfe7208[_0x45c3('0x49')]));if(_0x4f56eb[_0x45c3('0x48')][_0x45c3('0x54')]){_0x19a24f[_0x45c3('0x51')]=_[_0x45c3('0x53')](_0x19a24f['where'],{'$or':_[_0x45c3('0x41')](_0x19a24f['attributes'],function(_0x40ac3f){var _0x1b2537={};_0x1b2537[_0x40ac3f]={'$like':'%'+_0x4f56eb[_0x45c3('0x48')][_0x45c3('0x54')]+'%'};return _0x1b2537;})});}_0x19a24f=_['merge']({},_0x19a24f,_0x4f56eb[_0x45c3('0x55')]);return _0x1ab6af[_0x45c3('0xba')](_0x19a24f);}})[_0x45c3('0x1f')](function(_0xc6c741){if(_0xc6c741){_0x37d465=_0xc6c741[_0x45c3('0x4c')];if(!_0x4f56eb['query']['hasOwnProperty'](_0x45c3('0x4e'))){_0x19a24f[_0x45c3('0x31')]=qs['limit'](_0x4f56eb[_0x45c3('0x48')][_0x45c3('0x31')]);_0x19a24f['offset']=qs[_0x45c3('0x2f')](_0x4f56eb[_0x45c3('0x48')][_0x45c3('0x2f')]);}return _0x1ab6af[_0x45c3('0xba')](_0x19a24f);}})['then'](function(_0x5b2956){if(_0x5b2956){return _0x5b2956?{'count':_0x37d465,'rows':_0x5b2956}:null;}})[_0x45c3('0x1f')](respondWithResult(_0x370e40,null))['catch'](handleError(_0x370e40,null));};exports[_0x45c3('0xbb')]=function(_0x36818e,_0x49f576,_0x47206c){var _0x50c50a={'raw':![],'where':{}};var _0x2ce177={};var _0xc5d509={'count':0x0,'rows':[]};return db[_0x45c3('0x42')][_0x45c3('0x6d')]({'where':{'id':_0x36818e[_0x45c3('0x64')]['id']}})['then'](handleEntityNotFound(_0x49f576,null))[_0x45c3('0x1f')](function(_0x4d6e84){if(_0x4d6e84){_0x2ce177[_0x45c3('0x47')]=_[_0x45c3('0x68')](db[_0x45c3('0xbc')][_0x45c3('0x43')]);_0x2ce177[_0x45c3('0x48')]=_[_0x45c3('0x68')](_0x36818e['query']);_0x2ce177['filters']=_[_0x45c3('0x5a')](_0x2ce177[_0x45c3('0x47')],_0x2ce177['query']);_0x50c50a[_0x45c3('0x4a')]=_[_0x45c3('0x5a')](_0x2ce177['model'],qs[_0x45c3('0x4b')](_0x36818e[_0x45c3('0x48')]['fields']));_0x50c50a[_0x45c3('0x4a')]=_0x50c50a[_0x45c3('0x4a')][_0x45c3('0x4c')]?_0x50c50a[_0x45c3('0x4a')]:_0x2ce177[_0x45c3('0x47')];if(!_0x36818e[_0x45c3('0x48')][_0x45c3('0x4d')](_0x45c3('0x4e'))){_0x50c50a['limit']=qs[_0x45c3('0x31')](_0x36818e[_0x45c3('0x48')][_0x45c3('0x31')]);_0x50c50a[_0x45c3('0x2f')]=qs[_0x45c3('0x2f')](_0x36818e['query'][_0x45c3('0x2f')]);}_0x50c50a[_0x45c3('0x4f')]=qs[_0x45c3('0x50')](_0x36818e['query'][_0x45c3('0x50')]);_0x50c50a[_0x45c3('0x51')]=qs[_0x45c3('0x49')](_['pick'](_0x36818e[_0x45c3('0x48')],_0x2ce177[_0x45c3('0x49')]));_0x50c50a[_0x45c3('0x51')][_0x45c3('0x69')]=_0x4d6e84['id'];if(_0x36818e[_0x45c3('0x48')][_0x45c3('0x54')]){_0x50c50a[_0x45c3('0x51')]=_[_0x45c3('0x53')](_0x50c50a[_0x45c3('0x51')],{'$or':_[_0x45c3('0x41')](_0x50c50a[_0x45c3('0x4a')],function(_0x4cf659){var _0x5623ef={};_0x5623ef[_0x4cf659]={'$like':'%'+_0x36818e[_0x45c3('0x48')][_0x45c3('0x54')]+'%'};return _0x5623ef;})});}_0x50c50a=_[_0x45c3('0x53')]({},_0x50c50a,_0x36818e[_0x45c3('0x55')]);return db[_0x45c3('0xbc')][_0x45c3('0x32')]({'where':_0x50c50a[_0x45c3('0x51')]})['then'](function(_0x43b61f){_0xc5d509['count']=_0x43b61f;if(_0x36818e[_0x45c3('0x48')][_0x45c3('0x56')]){_0x50c50a[_0x45c3('0x5b')]=[{'model':db[_0x45c3('0x74')],'as':'Contact','required':![]},{'model':db[_0x45c3('0xbd')],'as':_0x45c3('0xbe'),'attributes':['name',_0x45c3('0xbf'),'internal'],'required':![]},{'model':db[_0x45c3('0xc0')],'as':_0x45c3('0xc1'),'attributes':['id',_0x45c3('0x3d'),'color'],'where':_0x36818e[_0x45c3('0x48')][_0x45c3('0xc2')]?{'id':_0x36818e[_0x45c3('0x48')][_0x45c3('0xc2')]}:undefined,'required':_0x36818e[_0x45c3('0x48')]['tag']?!![]:![]}];}return db['SmsInteraction'][_0x45c3('0x57')](_0x50c50a);})[_0x45c3('0x1f')](function(_0x2899b4){_0xc5d509['rows']=_0x2899b4;return _0xc5d509;});}})[_0x45c3('0x1f')](respondWithFilteredResult(_0x49f576,_0x50c50a))[_0x45c3('0x2a')](handleError(_0x49f576,null));};exports[_0x45c3('0x3e')]=function(_0x11fb45,_0x960ce8,_0x1893de){var _0x1341a0,_0x4a1df4,_0x51c015;if(_[_0x45c3('0x90')](_0x11fb45[_0x45c3('0x5d')][_0x45c3('0x5d')])||_0x11fb45[_0x45c3('0x5d')][_0x45c3('0x5d')]===''){throw new db[(_0x45c3('0x91'))][(_0x45c3('0x75'))](_0x45c3('0x93'));}if(_['isNil'](_0x11fb45[_0x45c3('0x5d')]['to'])){throw new db['Sequelize'][(_0x45c3('0x75'))]('to\x20is\x20mandatory');}_0x1341a0=_0x11fb45[_0x45c3('0x5d')]['to'];return db[_0x45c3('0x42')][_0x45c3('0x61')]({'where':{'id':_0x11fb45['params']['id']},'include':[{'model':db['CmList'],'as':_0x45c3('0xc3'),'include':[{'model':db[_0x45c3('0x74')],'as':'Contacts','where':{'mobile':_0x1341a0},'limit':0x1,'order':[[_0x45c3('0x79'),_0x45c3('0x98')]]}]}]})[_0x45c3('0x1f')](handleEntityNotFound(_0x960ce8,null))[_0x45c3('0x1f')](function(_0x24c0a9){if(_0x24c0a9&&_0x24c0a9[_0x45c3('0xc3')]){_0x4a1df4=_0x24c0a9[_0x45c3('0x39')]({'plain':!![]});if(_0x4a1df4['List']&&_0x4a1df4[_0x45c3('0xc3')][_0x45c3('0x9b')][_0x45c3('0x4c')]){return _0x4a1df4[_0x45c3('0xc3')][_0x45c3('0x9b')][0x0];}return db[_0x45c3('0x74')]['create'](_['defaults'](_0x11fb45[_0x45c3('0x5d')],{'firstName':_0x1341a0,'mobile':_0x1341a0,'phone':_0x1341a0,'ListId':_0x4a1df4[_0x45c3('0x97')]}));}})['then'](handleEntityNotFound(_0x960ce8,null))[_0x45c3('0x1f')](function(_0x256de6){if(_0x256de6){_0x51c015=_0x256de6;return db[_0x45c3('0xbc')][_0x45c3('0x61')]({'where':{'ContactId':_0x51c015['id'],'closed':![],'SmsAccountId':_0x4a1df4['id']}})[_0x45c3('0x1f')](function(_0x31fb95){if(_0x31fb95){return[_0x31fb95,![]];}return db['SmsInteraction']['create']({'UserId':_0x11fb45['user']['id'],'ContactId':_0x51c015['id'],'SmsAccountId':_0x4a1df4['id'],'phone':_0x1341a0,'firstMsgDirection':_0x45c3('0xc4'),'Messages':[_[_0x45c3('0x53')](_0x11fb45[_0x45c3('0x5d')],{'read':![],'body':_0x11fb45[_0x45c3('0x5d')][_0x45c3('0x5d')],'phone':_0x1341a0,'SmsAccountId':_0x4a1df4['id'],'UserId':_0x11fb45[_0x45c3('0x5e')]['id'],'ContactId':_0x51c015['id']})]},{'include':[{'model':db[_0x45c3('0xa3')],'as':'Messages'}]})[_0x45c3('0x1f')](function(_0x3245fc){return[_0x3245fc,!![]];});});}})[_0x45c3('0xc5')](function(_0x1e27b9,_0x5c0c49){if(_0x5c0c49){return _0x1e27b9;}return db[_0x45c3('0xa3')][_0x45c3('0x5c')](_[_0x45c3('0x53')](_0x11fb45[_0x45c3('0x5d')],{'read':![],'body':_0x11fb45['body'][_0x45c3('0x5d')],'phone':_0x1341a0,'SmsAccountId':_0x4a1df4['id'],'SmsInteractionId':_0x1e27b9['id'],'UserId':_0x11fb45['user']['id'],'ContactId':_0x51c015['id']}))[_0x45c3('0x1f')](function(_0x50aeba){_0x1e27b9[_0x45c3('0xc6')][_0x45c3('0xc7')]=[];_0x1e27b9[_0x45c3('0xc6')][_0x45c3('0xc7')]['push'](_0x50aeba[_0x45c3('0xc6')]);return _0x1e27b9;});})['then'](respondWithResult(_0x960ce8,null))[_0x45c3('0x2a')](handleError(_0x960ce8,null));};exports[_0x45c3('0x2c')]=function(_0x1af54f,_0xbcf91a,_0x91029a){if(_0x1af54f[_0x45c3('0x5d')]['id']){delete _0x1af54f[_0x45c3('0x5d')]['id'];}var _0x5e47bd,_0x5e57cb,_0xab3c11;return db['SmsAccount'][_0x45c3('0x61')]({'where':{'id':_0x1af54f[_0x45c3('0x64')]['id']}})[_0x45c3('0x1f')](handleEntityNotFound(_0xbcf91a,null))[_0x45c3('0x1f')](function(_0x525838){if(_0x525838){_0xab3c11=_0x525838;logger[_0x45c3('0x23')](_0x45c3('0x24'),_0x45c3('0x2c'),'received\x20delivery\x20report\x20from',_0x525838['type'],util['inspect'](_0x1af54f['body'],{'showHidden':![],'depth':null}));switch(_0x525838[_0x45c3('0x45')]){case _0x45c3('0x7e'):if(_0x1af54f[_0x45c3('0x5d')][_0x45c3('0xc8')]&&_0x1af54f[_0x45c3('0x5d')][_0x45c3('0x2c')]){_0x5e57cb=_0x1af54f[_0x45c3('0x5d')][_0x45c3('0x2c')];return db[_0x45c3('0xa3')][_0x45c3('0x61')]({'where':{'messageId':_0x1af54f[_0x45c3('0x5d')][_0x45c3('0xc8')]}});}break;case _0x45c3('0xc9'):if(_0x1af54f[_0x45c3('0x5d')][_0x45c3('0xca')]&&_0x1af54f[_0x45c3('0x5d')][_0x45c3('0xcb')]){_0x5e57cb=_0x1af54f[_0x45c3('0x5d')][_0x45c3('0xcb')];return db[_0x45c3('0xa3')][_0x45c3('0x61')]({'where':{'messageId':_0x1af54f[_0x45c3('0x5d')][_0x45c3('0xca')]}});}break;case _0x45c3('0x82'):if(_0x1af54f[_0x45c3('0x5d')][_0x45c3('0xcc')]&&_0x1af54f[_0x45c3('0x5d')][_0x45c3('0xcd')]){_0x5e57cb=_0x1af54f['body'][_0x45c3('0xcd')];return db[_0x45c3('0xa3')][_0x45c3('0x61')]({'where':{'messageId':_0x1af54f[_0x45c3('0x5d')][_0x45c3('0xcc')]}});}break;case _0x45c3('0x86'):var _0x2de327=_0x1af54f[_0x45c3('0x5d')][_0x45c3('0x87')][0x0];if(_0x2de327[_0x45c3('0x7d')]&&_0x2de327[_0x45c3('0x2c')][_0x45c3('0xce')]==='DELIVERED'){_0x5e57cb=_0x2de327[_0x45c3('0x2c')][_0x45c3('0xce')];return db[_0x45c3('0xa3')][_0x45c3('0x61')]({'where':{'messageId':_0x2de327[_0x45c3('0x7d')]}});}break;case _0x45c3('0x8a'):if(_0x1af54f['body'][_0x45c3('0x7d')]&&_0x1af54f[_0x45c3('0x5d')]['status']){_0x5e57cb=_0x1af54f[_0x45c3('0x5d')]['status'];return db[_0x45c3('0xa3')][_0x45c3('0x61')]({'where':{'messageId':_0x1af54f[_0x45c3('0x5d')][_0x45c3('0x7d')]}});}break;case'bandwidth':if(_0x1af54f['body'][0x0]['message']['id']){_0x5e57cb=_0x1af54f[_0x45c3('0x5d')][0x0][_0x45c3('0x45')];return db[_0x45c3('0xa3')][_0x45c3('0x61')]({'where':{'messageId':_0x1af54f['body'][0x0][_0x45c3('0x28')]['id']}});}break;case _0x45c3('0x8e'):if(_0x1af54f[_0x45c3('0x5d')][_0x45c3('0xcf')]&&_0x1af54f['body']['status']){_0x5e57cb=_0x1af54f[_0x45c3('0x5d')][_0x45c3('0x2c')];return db[_0x45c3('0xa3')][_0x45c3('0x61')]({'where':{'messageId':_0x1af54f[_0x45c3('0x5d')]['redif']}});}break;}}})['then'](handleEntityNotFound(_0xbcf91a,null))[_0x45c3('0x1f')](function(_0x2e5160){if(_0x2e5160){_0x5e47bd=_0x2e5160;switch(_0xab3c11[_0x45c3('0x45')]){case _0x45c3('0x7e'):if(_0x5e57cb===_0x45c3('0xd0')){return _0x5e47bd[_0x45c3('0x37')]({'read':!![]});}else{logger['error'](_0x45c3('0x24'),_0x45c3('0x2c'),_0x45c3('0x7e'),util['inspect'](_0x1af54f[_0x45c3('0x5d')],{'showHidden':![],'depth':null}));}break;case _0x45c3('0xc9'):if(_0x5e57cb==='1'){return _0x5e47bd[_0x45c3('0x37')]({'read':!![]});}else{logger[_0x45c3('0x26')](_0x45c3('0x24'),'status',_0x45c3('0x7e'),util[_0x45c3('0xd1')](_0x1af54f[_0x45c3('0x5d')],{'showHidden':![],'depth':null}));}break;case _0x45c3('0x82'):if(!_0x1af54f[_0x45c3('0x5d')][_0x45c3('0xd2')]&&_0x5e57cb>=0xc8&&_0x5e57cb<=0xce){return _0x5e47bd[_0x45c3('0x37')]({'read':!![]});}else{logger[_0x45c3('0x26')](_0x45c3('0x24'),_0x45c3('0x2c'),_0x45c3('0x82'),util[_0x45c3('0xd1')](_0x1af54f['body'],{'showHidden':![],'depth':null}));}break;case _0x45c3('0x86'):var _0x55e19f=_0x1af54f['body'][_0x45c3('0x87')][0x0];if(_0x55e19f[_0x45c3('0x2c')][_0x45c3('0xce')]===_0x45c3('0xd0')){return _0x5e47bd[_0x45c3('0x37')]({'read':!![]});}else{logger[_0x45c3('0x26')](_0x45c3('0x24'),_0x45c3('0x2c'),_0x45c3('0x86'),util[_0x45c3('0xd1')](_0x1af54f[_0x45c3('0x5d')],{'showHidden':![],'depth':null}));}break;case _0x45c3('0x8a'):if(_0x5e57cb=='DELIVERED_TO_GATEWAY'||_0x5e57cb=='RECEIVED_BY_RECIPIENT'){return _0x5e47bd[_0x45c3('0x37')]({'read':!![]});}else{logger[_0x45c3('0x26')](_0x45c3('0x24'),_0x45c3('0x2c'),_0x45c3('0x8a'),util[_0x45c3('0xd1')](_0x1af54f[_0x45c3('0x5d')],{'showHidden':![],'depth':null}));}break;case _0x45c3('0x8d'):if(_0x5e57cb=='message-delivered'){return _0x5e47bd[_0x45c3('0x37')]({'read':!![]});}else{logger['error']('SmsAccount,\x20%s,\x20%s,\x20%s',_0x45c3('0x2c'),'bandwidth',util[_0x45c3('0xd1')](_0x1af54f[_0x45c3('0x5d')],{'showHidden':![],'depth':null}));}break;case _0x45c3('0x8e'):if(_0x5e57cb===_0x45c3('0xd3')||_0x5e57cb===_0x45c3('0xd4')){return _0x5e47bd[_0x45c3('0x37')]({'read':!![]});}else{logger[_0x45c3('0x26')](_0x45c3('0x24'),_0x45c3('0x2c'),_0x45c3('0x8e'),util[_0x45c3('0xd1')](_0x1af54f[_0x45c3('0x5d')],{'showHidden':![],'depth':null}));}break;}return _0x5e47bd;}})['then'](respondWithResult(_0xbcf91a,null))[_0x45c3('0x2a')](handleError(_0xbcf91a,null));};exports['statusGet']=function(_0xea6a9f,_0x3503a4,_0x225dfc){var _0x524855,_0x602388,_0xafcbf7;return db[_0x45c3('0x42')][_0x45c3('0x61')]({'where':{'id':_0xea6a9f[_0x45c3('0x64')]['id']}})['then'](handleEntityNotFound(_0x3503a4,null))[_0x45c3('0x1f')](function(_0x4ca837){if(_0x4ca837){_0xafcbf7=_0x4ca837;logger[_0x45c3('0x23')](_0x45c3('0x24'),'status',_0x45c3('0xd5'),_0x4ca837[_0x45c3('0x45')],util[_0x45c3('0xd1')](_0xea6a9f[_0x45c3('0x48')],{'showHidden':![],'depth':null}));switch(_0x4ca837['type']){case _0x45c3('0x88'):if(_0xea6a9f[_0x45c3('0x48')]['message-id']&&_0xea6a9f[_0x45c3('0x48')][_0x45c3('0xd6')]){_0x602388=_0xea6a9f[_0x45c3('0x48')][_0x45c3('0xd6')];return db[_0x45c3('0xa3')][_0x45c3('0x61')]({'where':{'messageId':_0xea6a9f[_0x45c3('0x48')][_0x45c3('0xd7')]}});}break;}}})[_0x45c3('0x1f')](handleEntityNotFound(_0x3503a4,null))['then'](function(_0x19e358){if(_0x19e358){_0x524855=_0x19e358;switch(_0xafcbf7[_0x45c3('0x45')]){case _0x45c3('0x88'):if(_0x602388==='2'||_0x602388==='6'){return _0x524855[_0x45c3('0x37')]({'read':!![]});}else{logger['error'](_0x45c3('0x24'),'status',_0x45c3('0x88'),util[_0x45c3('0xd1')](_0xea6a9f[_0x45c3('0x48')],{'showHidden':![],'depth':null}));};break;}return _0x524855;}})[_0x45c3('0x1f')](respondWithResult(_0x3503a4,null))['catch'](handleError(_0x3503a4,null));};exports['addAgents']=function(_0x2890a9,_0x580a32,_0x3386d4){return db['SmsAccount'][_0x45c3('0x61')]({'where':{'id':_0x2890a9[_0x45c3('0x64')]['id']}})['then'](handleEntityNotFound(_0x580a32,null))['then'](function(_0x35a737){if(_0x35a737){return _0x35a737['addAgents'](_0x2890a9[_0x45c3('0x5d')][_0x45c3('0x6b')],_[_0x45c3('0x9a')](_0x2890a9[_0x45c3('0x5d')],['ids','id'])||{})[_0x45c3('0xc5')](function(_0xe9999){for(var _0x2a3ec4=0x0;_0x2a3ec4<_0x2890a9[_0x45c3('0x5d')][_0x45c3('0x6b')][_0x45c3('0x4c')];_0x2a3ec4+=0x1){socket[_0x45c3('0xd8')](_0x45c3('0xd9'),{'UserId':Number(_0x2890a9[_0x45c3('0x5d')][_0x45c3('0x6b')][_0x2a3ec4]),'SmsAccountId':Number(_0x2890a9[_0x45c3('0x64')]['id'])});}return _0xe9999;});}})[_0x45c3('0x1f')](respondWithResult(_0x580a32,null))['catch'](handleError(_0x580a32,null));};exports[_0x45c3('0xda')]=function(_0x43e3e0,_0x1dd206,_0x10a961){return db[_0x45c3('0x42')][_0x45c3('0x61')]({'where':{'id':_0x43e3e0[_0x45c3('0x64')]['id']}})['then'](handleEntityNotFound(_0x1dd206,null))[_0x45c3('0x1f')](function(_0x5cab98){if(_0x5cab98){return _0x5cab98['removeAgents'](_0x43e3e0[_0x45c3('0x48')]['ids'])[_0x45c3('0x1f')](function(){if(_[_0x45c3('0xdb')](_0x43e3e0[_0x45c3('0x48')][_0x45c3('0x6b')])){for(var _0x429565=0x0;_0x429565<_0x43e3e0[_0x45c3('0x48')][_0x45c3('0x6b')]['length'];_0x429565+=0x1){socket[_0x45c3('0xd8')](_0x45c3('0xdc'),{'UserId':Number(_0x43e3e0[_0x45c3('0x48')][_0x45c3('0x6b')][_0x429565]),'SmsAccountId':Number(_0x43e3e0['params']['id'])});}}else{socket[_0x45c3('0xd8')](_0x45c3('0xdc'),{'UserId':Number(_0x43e3e0[_0x45c3('0x48')]['ids']),'SmsAccountId':Number(_0x43e3e0[_0x45c3('0x64')]['id'])});}});}})['then'](respondWithStatusCode(_0x1dd206,null))[_0x45c3('0x2a')](handleError(_0x1dd206,null));};exports[_0x45c3('0xdd')]=function(_0xe55c3b,_0x5c8032,_0x2474fb){var _0x32aa01={};var _0x2bc71b={};var _0x48e02f;var _0x342f2b;return db[_0x45c3('0x42')][_0x45c3('0x6d')]({'where':{'id':_0xe55c3b[_0x45c3('0x64')]['id']}})[_0x45c3('0x1f')](handleEntityNotFound(_0x5c8032,null))[_0x45c3('0x1f')](function(_0x122aec){if(_0x122aec){_0x48e02f=_0x122aec;_0x2bc71b[_0x45c3('0x47')]=_['keys'](db['User'][_0x45c3('0x43')]);_0x2bc71b[_0x45c3('0x48')]=_['keys'](_0xe55c3b[_0x45c3('0x48')]);_0x2bc71b[_0x45c3('0x49')]=_['intersection'](_0x2bc71b[_0x45c3('0x47')],_0x2bc71b[_0x45c3('0x48')]);_0x32aa01['attributes']=_['intersection'](_0x2bc71b[_0x45c3('0x47')],qs[_0x45c3('0x4b')](_0xe55c3b[_0x45c3('0x48')][_0x45c3('0x4b')]));_0x32aa01['attributes']=_0x32aa01['attributes']['length']?_0x32aa01[_0x45c3('0x4a')]:_0x2bc71b[_0x45c3('0x47')];_0x32aa01[_0x45c3('0x4f')]=qs['sort'](_0xe55c3b[_0x45c3('0x48')]['sort']);_0x32aa01[_0x45c3('0x51')]=qs[_0x45c3('0x49')](_[_0x45c3('0x52')](_0xe55c3b[_0x45c3('0x48')],_0x2bc71b[_0x45c3('0x49')]));if(_0xe55c3b[_0x45c3('0x48')][_0x45c3('0x54')]){_0x32aa01[_0x45c3('0x51')]=_[_0x45c3('0x53')](_0x32aa01['where'],{'$or':_[_0x45c3('0x41')](_0x32aa01[_0x45c3('0x4a')],function(_0x40415f){var _0x207af2={};_0x207af2[_0x40415f]={'$like':'%'+_0xe55c3b[_0x45c3('0x48')][_0x45c3('0x54')]+'%'};return _0x207af2;})});}_0x32aa01=_[_0x45c3('0x53')]({},_0x32aa01,_0xe55c3b[_0x45c3('0x55')]);return _0x48e02f[_0x45c3('0xdd')](_0x32aa01);}})[_0x45c3('0x1f')](function(_0x1aca29){if(_0x1aca29){_0x342f2b=_0x1aca29['length'];if(!_0xe55c3b[_0x45c3('0x48')][_0x45c3('0x4d')]('nolimit')){_0x32aa01[_0x45c3('0x31')]=qs[_0x45c3('0x31')](_0xe55c3b['query'][_0x45c3('0x31')]);_0x32aa01[_0x45c3('0x2f')]=qs[_0x45c3('0x2f')](_0xe55c3b[_0x45c3('0x48')][_0x45c3('0x2f')]);}return _0x48e02f[_0x45c3('0xdd')](_0x32aa01);}})[_0x45c3('0x1f')](function(_0x330ce0){if(_0x330ce0){return _0x330ce0?{'count':_0x342f2b,'rows':_0x330ce0}:null;}})['then'](respondWithResult(_0x5c8032,null))['catch'](handleError(_0x5c8032,null));};