Built motion from commit 9efc8423.|2.6.31
[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 _0x610c=['Pause','mandatoryDispositionPause','map','rawAttributes','fieldName','type','key','model','query','attributes','intersection','fields','nolimit','order','sort','where','merge','VIRTUAL','filter','SmsAccount','includeAll','include','rows','show','params','keys','filters','length','create','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','find','describe','addDisposition','Disposition','getDispositions','findOne','SmsAccountId','options','removeDispositions','ids','addAnswer','CannedAnswer','getAnswers','findAll','removeAnswers','notify','sms','SmsApplication','Applications','account','orderBy','asc','Sequelize','no\x20available\x20attributes','difference','createdAt','updatedAt','CompanyId','ListId','mobile','twilio','from','From','Body','messageId','text','connectel','clicksend','message_id','plivo','MessageUUID','infobip','results','csc','originatingAddress','segmentedMessage','fromNumber','replyMessageId','bandwidth','intelepeer','refid','isNil','from\x20is\x20mandatory','ValidationError','mapKey\x20is\x20mandatory,\x20please\x20use\x20one\x20of\x20these:\x20','includes','mapKey\x20invalid,\x20please\x20use\x20one\x20of\x20these:\x20','CmList','Contacts','DESC','list','mapKey','CmContact','contact','SmsInteraction','spread','interaction','created','autoclose','applications','push','unmanaged','*,*,*,*','SmsMessage','ContactId','UserId','unshift','agent','waitForTheAssignedAgent','SmsQueue','queueId','queue','Start','startRouting','receiveMessage','entity\x20found','SmsAccount,\x20%s,\x20%s,\x20%s,\x20%s','Content-Type','text/xml','addApplications','sequelize','Transaction','ISOLATION_LEVELS','READ_COMMITTED','bulkCreate','priority','stack','finally','getApplications','hasOwnProperty','pick','Contact','Owner','fullname','internal','Tag','Tags','color','tag','body\x20is\x20mandatory\x20and\x20not\x20empty','List','Messages','dataValues','received\x20delivery\x20report\x20from','inspect','skebby','skebby_dispatch_id','requestid','statusInt','status_code','DELIVERED','groupName','clickatell','redif','DELIVERED_TO_GATEWAY','RECEIVED_BY_RECIPIENT','message-delivered','DELIVRD','statusGet','state','addAgents','omit','emit','userSmsAccount:save','removeAgents','isArray','userSmsAccount:remove','getAgents','User','eml-format','rimraf','fast-json-patch','request-promise','mustache','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','redis','defaults','localhost','./smsAccount.socket','register','jayson/promise','client','then','info','SmsAccount,\x20%s,\x20%s','request\x20sent','SmsAccount,\x20%s,\x20%s,\x20%s','stringify','code','error','message','result','catch','sendStatus','status','json','undefined','limit','count','offset','set','Content-Range','apply','save','update','get','SmsAccounts','UserProfileResource','destroy','end','name','send'];(function(_0x35b87c,_0x166a8c){var _0x24795b=function(_0x2cb112){while(--_0x2cb112){_0x35b87c['push'](_0x35b87c['shift']());}};_0x24795b(++_0x166a8c);}(_0x610c,0x19c));var _0xc610=function(_0x434f80,_0x4c8ceb){_0x434f80=_0x434f80-0x0;var _0x2bb9fe=_0x610c[_0x434f80];return _0x2bb9fe;};'use strict';var emlformat=require(_0xc610('0x0'));var rimraf=require(_0xc610('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xc610('0x2'));var rp=require(_0xc610('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xc610('0x4'));var util=require('util');var path=require('path');var sox=require(_0xc610('0x5'));var csv=require(_0xc610('0x6'));var ejs=require(_0xc610('0x7'));var fs=require('fs');var fs_extra=require(_0xc610('0x8'));var _=require(_0xc610('0x9'));var squel=require(_0xc610('0xa'));var crypto=require(_0xc610('0xb'));var jsforce=require('jsforce');var deskjs=require(_0xc610('0xc'));var toCsv=require(_0xc610('0x6'));var querystring=require(_0xc610('0xd'));var Papa=require('papaparse');var Redis=require(_0xc610('0xe'));var authService=require(_0xc610('0xf'));var qs=require(_0xc610('0x10'));var as=require(_0xc610('0x11'));var hardwareService=require(_0xc610('0x12'));var logger=require(_0xc610('0x13'))(_0xc610('0x14'));var utils=require('../../config/utils');var config=require(_0xc610('0x15'));var licenseUtil=require(_0xc610('0x16'));var db=require('../../mysqldb')['db'];config[_0xc610('0x17')]=_[_0xc610('0x18')](config[_0xc610('0x17')],{'host':_0xc610('0x19'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xc610('0x17')]));require(_0xc610('0x1a'))[_0xc610('0x1b')](socket);var jayson=require(_0xc610('0x1c'));var client=jayson[_0xc610('0x1d')]['http']({'port':0x232c});function respondWithRpcPromise(_0x2b4dd9,_0x143bdd,_0x3d9da4,_0x4aae19){return new BPromise(function(_0x48cde6,_0x383415){var _0x3ef303=_0x4aae19||client;return _0x3ef303['request'](_0x2b4dd9,_0x3d9da4)[_0xc610('0x1e')](function(_0x4ccb50){logger[_0xc610('0x1f')](_0xc610('0x20'),_0x143bdd,_0xc610('0x21'));logger['debug'](_0xc610('0x22'),_0x143bdd,_0xc610('0x21'),JSON[_0xc610('0x23')](_0x4ccb50));if(_0x4ccb50['error']){if(_0x4ccb50['error'][_0xc610('0x24')]===0x1f4){logger[_0xc610('0x25')](_0xc610('0x20'),_0x143bdd,_0x4ccb50[_0xc610('0x25')][_0xc610('0x26')]);return _0x383415(_0x4ccb50[_0xc610('0x25')][_0xc610('0x26')]);}logger[_0xc610('0x25')](_0xc610('0x20'),_0x143bdd,_0x4ccb50[_0xc610('0x25')][_0xc610('0x26')]);return _0x48cde6(_0x4ccb50[_0xc610('0x25')][_0xc610('0x26')]);}else{logger['info'](_0xc610('0x20'),_0x143bdd,_0xc610('0x21'));_0x48cde6(_0x4ccb50[_0xc610('0x27')][_0xc610('0x26')]);}})[_0xc610('0x28')](function(_0x5ec6c9){logger['error'](_0xc610('0x20'),_0x143bdd,_0x5ec6c9);_0x383415(_0x5ec6c9);});});}function respondWithStatusCode(_0x332e07,_0x20b84e){_0x20b84e=_0x20b84e||0xcc;return function(_0x19ce4f){if(_0x19ce4f){return _0x332e07[_0xc610('0x29')](_0x20b84e);}return _0x332e07[_0xc610('0x2a')](_0x20b84e)['end']();};}function respondWithResult(_0x127890,_0x17e177){_0x17e177=_0x17e177||0xc8;return function(_0x25b4fb){if(_0x25b4fb){return _0x127890['status'](_0x17e177)[_0xc610('0x2b')](_0x25b4fb);}};}function respondWithFilteredResult(_0x476191,_0x32491b){return function(_0x47cb06){if(_0x47cb06){var _0x2a99b9=typeof _0x32491b['offset']===_0xc610('0x2c')&&typeof _0x32491b[_0xc610('0x2d')]===_0xc610('0x2c');var _0xfd0c7b=_0x47cb06[_0xc610('0x2e')];var _0x516edd=_0x2a99b9?0x0:_0x32491b[_0xc610('0x2f')];var _0x4bb678=_0x2a99b9?_0x47cb06[_0xc610('0x2e')]:_0x32491b[_0xc610('0x2f')]+_0x32491b[_0xc610('0x2d')];var _0x4e766d;if(_0x4bb678>=_0xfd0c7b){_0x4bb678=_0xfd0c7b;_0x4e766d=0xc8;}else{_0x4e766d=0xce;}_0x476191[_0xc610('0x2a')](_0x4e766d);return _0x476191[_0xc610('0x30')](_0xc610('0x31'),_0x516edd+'-'+_0x4bb678+'/'+_0xfd0c7b)[_0xc610('0x2b')](_0x47cb06);}return null;};}function patchUpdates(_0x422e3c){return function(_0x4fe41e){try{jsonpatch[_0xc610('0x32')](_0x4fe41e,_0x422e3c,!![]);}catch(_0x283822){return BPromise['reject'](_0x283822);}return _0x4fe41e[_0xc610('0x33')]();};}function saveUpdates(_0xebe152,_0x582d83){return function(_0x25f519){if(_0x25f519){return _0x25f519[_0xc610('0x34')](_0xebe152)[_0xc610('0x1e')](function(_0x1d5e09){return _0x1d5e09;});}return null;};}function removeEntity(_0xb21ebe,_0x433a5c){return function(_0x53ddd6){if(_0x53ddd6){return _0x53ddd6['destroy']()['then'](function(){var _0xf34fb=_0x53ddd6[_0xc610('0x35')]({'plain':!![]});var _0x1718a8=_0xc610('0x36');return db[_0xc610('0x37')][_0xc610('0x38')]({'where':{'type':_0x1718a8,'resourceId':_0xf34fb['id']}})[_0xc610('0x1e')](function(){return _0x53ddd6;});})[_0xc610('0x1e')](function(){_0xb21ebe['status'](0xcc)[_0xc610('0x39')]();});}};}function handleEntityNotFound(_0x3e1dfb,_0x24917e){return function(_0x289c45){if(!_0x289c45){_0x3e1dfb[_0xc610('0x29')](0x194);}return _0x289c45;};}function handleError(_0x8a5151,_0x967fc8){_0x967fc8=_0x967fc8||0x1f4;return function(_0x392d29){logger[_0xc610('0x25')](_0x392d29['stack']);if(_0x392d29[_0xc610('0x3a')]){delete _0x392d29[_0xc610('0x3a')];}_0x8a5151[_0xc610('0x2a')](_0x967fc8)[_0xc610('0x3b')](_0x392d29);};}exports['index']=function(_0x2a4a5d,_0x1f98aa){var _0x4c5de1={'include':[{'model':db[_0xc610('0x3c')],'as':_0xc610('0x3d')}]},_0x227e5c={},_0x4e239b={'count':0x0,'rows':[]};var _0x49f62a=_[_0xc610('0x3e')](db['SmsAccount'][_0xc610('0x3f')],function(_0xa02a6e){return{'name':_0xa02a6e[_0xc610('0x40')],'type':_0xa02a6e[_0xc610('0x41')][_0xc610('0x42')]};});_0x227e5c[_0xc610('0x43')]=_['map'](_0x49f62a,'name');_0x227e5c[_0xc610('0x44')]=_['keys'](_0x2a4a5d[_0xc610('0x44')]);_0x227e5c['filters']=_['intersection'](_0x227e5c['model'],_0x227e5c['query']);_0x4c5de1[_0xc610('0x45')]=_[_0xc610('0x46')](_0x227e5c[_0xc610('0x43')],qs['fields'](_0x2a4a5d[_0xc610('0x44')][_0xc610('0x47')]));_0x4c5de1[_0xc610('0x45')]=_0x4c5de1[_0xc610('0x45')]['length']?_0x4c5de1[_0xc610('0x45')]:_0x227e5c[_0xc610('0x43')];if(!_0x2a4a5d[_0xc610('0x44')]['hasOwnProperty'](_0xc610('0x48'))){_0x4c5de1[_0xc610('0x2d')]=qs['limit'](_0x2a4a5d[_0xc610('0x44')]['limit']);_0x4c5de1[_0xc610('0x2f')]=qs[_0xc610('0x2f')](_0x2a4a5d[_0xc610('0x44')][_0xc610('0x2f')]);}_0x4c5de1[_0xc610('0x49')]=qs[_0xc610('0x4a')](_0x2a4a5d[_0xc610('0x44')][_0xc610('0x4a')]);_0x4c5de1[_0xc610('0x4b')]=qs['filters'](_['pick'](_0x2a4a5d[_0xc610('0x44')],_0x227e5c['filters']),_0x49f62a);if(_0x2a4a5d[_0xc610('0x44')]['filter']){_0x4c5de1['where']=_[_0xc610('0x4c')](_0x4c5de1[_0xc610('0x4b')],{'$or':_[_0xc610('0x3e')](_0x49f62a,function(_0x16745f){if(_0x16745f[_0xc610('0x41')]!==_0xc610('0x4d')){var _0x3c1c57={};_0x3c1c57[_0x16745f['name']]={'$like':'%'+_0x2a4a5d['query'][_0xc610('0x4e')]+'%'};return _0x3c1c57;}})});}_0x4c5de1=_[_0xc610('0x4c')]({},_0x4c5de1,_0x2a4a5d['options']);var _0x1fce81={'where':_0x4c5de1['where']};return db[_0xc610('0x4f')][_0xc610('0x2e')](_0x1fce81)[_0xc610('0x1e')](function(_0x5788b2){_0x4e239b['count']=_0x5788b2;if(_0x2a4a5d[_0xc610('0x44')][_0xc610('0x50')]){_0x4c5de1[_0xc610('0x51')]=[{'all':!![]}];}return db['SmsAccount']['findAll'](_0x4c5de1);})[_0xc610('0x1e')](function(_0x57fbaf){_0x4e239b[_0xc610('0x52')]=_0x57fbaf;return _0x4e239b;})[_0xc610('0x1e')](respondWithFilteredResult(_0x1f98aa,_0x4c5de1))[_0xc610('0x28')](handleError(_0x1f98aa,null));};exports[_0xc610('0x53')]=function(_0x4dfe45,_0x59ca1f){var _0x18c487={'raw':![],'where':{'id':_0x4dfe45[_0xc610('0x54')]['id']},'include':[{'model':db['Pause'],'as':'mandatoryDispositionPause'}]},_0x1403ad={};_0x1403ad[_0xc610('0x43')]=_[_0xc610('0x55')](db[_0xc610('0x4f')]['rawAttributes']);_0x1403ad[_0xc610('0x44')]=_[_0xc610('0x55')](_0x4dfe45[_0xc610('0x44')]);_0x1403ad[_0xc610('0x56')]=_[_0xc610('0x46')](_0x1403ad['model'],_0x1403ad[_0xc610('0x44')]);_0x18c487[_0xc610('0x45')]=_[_0xc610('0x46')](_0x1403ad[_0xc610('0x43')],qs[_0xc610('0x47')](_0x4dfe45['query'][_0xc610('0x47')]));_0x18c487['attributes']=_0x18c487[_0xc610('0x45')][_0xc610('0x57')]?_0x18c487[_0xc610('0x45')]:_0x1403ad['model'];if(_0x4dfe45[_0xc610('0x44')][_0xc610('0x50')]){_0x18c487['include']=[{'all':!![]}];}_0x18c487=_[_0xc610('0x4c')]({},_0x18c487,_0x4dfe45['options']);return db['SmsAccount']['find'](_0x18c487)[_0xc610('0x1e')](handleEntityNotFound(_0x59ca1f,null))['then'](respondWithResult(_0x59ca1f,null))['catch'](handleError(_0x59ca1f,null));};exports[_0xc610('0x58')]=function(_0x3a3fef,_0x175b44){return db[_0xc610('0x4f')]['create'](_0x3a3fef['body'],{})[_0xc610('0x1e')](function(_0x19e8d3){var _0x3e0f25=_0x3a3fef['user']['get']({'plain':!![]});if(!_0x3e0f25)throw new Error(_0xc610('0x59'));if(_0x3e0f25[_0xc610('0x5a')]===_0xc610('0x5b')){var _0x4bfb2e=_0x19e8d3[_0xc610('0x35')]({'plain':!![]});var _0x45d7c9='SmsAccounts';return db[_0xc610('0x5c')]['find']({'where':{'name':_0x45d7c9,'userProfileId':_0x3e0f25[_0xc610('0x5d')]},'raw':!![]})['then'](function(_0x1b98b1){if(_0x1b98b1&&_0x1b98b1[_0xc610('0x5e')]===0x0){return db[_0xc610('0x37')][_0xc610('0x58')]({'name':_0x4bfb2e['name'],'resourceId':_0x4bfb2e['id'],'type':_0x1b98b1[_0xc610('0x3a')],'sectionId':_0x1b98b1['id']},{})['then'](function(){return _0x19e8d3;});}else{return _0x19e8d3;}})[_0xc610('0x28')](function(_0x3ba19e){logger['error'](_0xc610('0x5f'),_0x3ba19e);throw _0x3ba19e;});}return _0x19e8d3;})[_0xc610('0x1e')](respondWithResult(_0x175b44,0xc9))[_0xc610('0x28')](handleError(_0x175b44,null));};exports[_0xc610('0x34')]=function(_0x2f99c2,_0x3aec77){if(_0x2f99c2[_0xc610('0x60')]['id']){delete _0x2f99c2[_0xc610('0x60')]['id'];}return db[_0xc610('0x4f')][_0xc610('0x61')]({'where':{'id':_0x2f99c2[_0xc610('0x54')]['id']},'include':[{'model':db[_0xc610('0x3c')],'as':_0xc610('0x3d')}]})[_0xc610('0x1e')](handleEntityNotFound(_0x3aec77,null))[_0xc610('0x1e')](saveUpdates(_0x2f99c2[_0xc610('0x60')],null))[_0xc610('0x1e')](respondWithResult(_0x3aec77,null))['catch'](handleError(_0x3aec77,null));};exports['destroy']=function(_0x1a5d6a,_0x40691d){return db[_0xc610('0x4f')][_0xc610('0x61')]({'where':{'id':_0x1a5d6a[_0xc610('0x54')]['id']}})[_0xc610('0x1e')](handleEntityNotFound(_0x40691d,null))[_0xc610('0x1e')](removeEntity(_0x40691d,null))[_0xc610('0x28')](handleError(_0x40691d,null));};exports[_0xc610('0x62')]=function(_0x5c3072,_0x28e55c){return db[_0xc610('0x4f')][_0xc610('0x62')]()[_0xc610('0x1e')](respondWithResult(_0x28e55c,null))[_0xc610('0x28')](handleError(_0x28e55c,null));};exports[_0xc610('0x63')]=function(_0x196035,_0x59c4eb,_0x2870a4){if(_0x196035[_0xc610('0x60')]['id']){delete _0x196035[_0xc610('0x60')]['id'];}return db[_0xc610('0x4f')]['find']({'where':{'id':_0x196035[_0xc610('0x54')]['id']}})[_0xc610('0x1e')](handleEntityNotFound(_0x59c4eb,null))[_0xc610('0x1e')](function(_0x3ec417){if(_0x3ec417){_0x196035[_0xc610('0x60')]['SmsAccountId']=_0x3ec417['id'];return db[_0xc610('0x64')][_0xc610('0x58')](_0x196035[_0xc610('0x60')]);}})['then'](respondWithResult(_0x59c4eb,null))['catch'](handleError(_0x59c4eb,null));};exports[_0xc610('0x65')]=function(_0x1a9b77,_0x304076,_0x521be7){var _0x4f676f={'raw':![],'where':{}};var _0x44053c={};var _0x217be9={'count':0x0,'rows':[]};return db[_0xc610('0x4f')][_0xc610('0x66')]({'where':{'id':_0x1a9b77[_0xc610('0x54')]['id']}})[_0xc610('0x1e')](handleEntityNotFound(_0x304076,null))[_0xc610('0x1e')](function(_0x39ace6){if(_0x39ace6){_0x44053c[_0xc610('0x43')]=_[_0xc610('0x55')](db['Disposition'][_0xc610('0x3f')]);_0x44053c['query']=_[_0xc610('0x55')](_0x1a9b77[_0xc610('0x44')]);_0x44053c[_0xc610('0x56')]=_[_0xc610('0x46')](_0x44053c[_0xc610('0x43')],_0x44053c[_0xc610('0x44')]);_0x4f676f[_0xc610('0x45')]=_['intersection'](_0x44053c[_0xc610('0x43')],qs['fields'](_0x1a9b77[_0xc610('0x44')]['fields']));_0x4f676f[_0xc610('0x45')]=_0x4f676f[_0xc610('0x45')][_0xc610('0x57')]?_0x4f676f[_0xc610('0x45')]:_0x44053c['model'];if(!_0x1a9b77[_0xc610('0x44')]['hasOwnProperty']('nolimit')){_0x4f676f[_0xc610('0x2d')]=qs[_0xc610('0x2d')](_0x1a9b77[_0xc610('0x44')][_0xc610('0x2d')]);_0x4f676f[_0xc610('0x2f')]=qs[_0xc610('0x2f')](_0x1a9b77['query'][_0xc610('0x2f')]);}_0x4f676f[_0xc610('0x49')]=qs[_0xc610('0x4a')](_0x1a9b77['query'][_0xc610('0x4a')]);_0x4f676f[_0xc610('0x4b')]=qs[_0xc610('0x56')](_['pick'](_0x1a9b77[_0xc610('0x44')],_0x44053c['filters']));_0x4f676f['where'][_0xc610('0x67')]=_0x39ace6['id'];if(_0x1a9b77[_0xc610('0x44')][_0xc610('0x4e')]){_0x4f676f[_0xc610('0x4b')]=_[_0xc610('0x4c')](_0x4f676f[_0xc610('0x4b')],{'$or':_[_0xc610('0x3e')](_0x4f676f[_0xc610('0x45')],function(_0x4b9725){var _0x49a8c8={};_0x49a8c8[_0x4b9725]={'$like':'%'+_0x1a9b77[_0xc610('0x44')][_0xc610('0x4e')]+'%'};return _0x49a8c8;})});}_0x4f676f=_[_0xc610('0x4c')]({},_0x4f676f,_0x1a9b77[_0xc610('0x68')]);return db[_0xc610('0x64')]['count']({'where':_0x4f676f[_0xc610('0x4b')]})[_0xc610('0x1e')](function(_0x227081){_0x217be9[_0xc610('0x2e')]=_0x227081;if(_0x1a9b77['query'][_0xc610('0x50')]){_0x4f676f[_0xc610('0x51')]=[{'all':!![]}];}return db['Disposition']['findAll'](_0x4f676f);})['then'](function(_0xf4d9a7){_0x217be9[_0xc610('0x52')]=_0xf4d9a7;return _0x217be9;});}})['then'](respondWithFilteredResult(_0x304076,_0x4f676f))[_0xc610('0x28')](handleError(_0x304076,null));};exports[_0xc610('0x69')]=function(_0x4239cf,_0x28ec9b,_0x499c93){return db['SmsAccount'][_0xc610('0x61')]({'where':{'id':_0x4239cf[_0xc610('0x54')]['id']}})[_0xc610('0x1e')](handleEntityNotFound(_0x28ec9b,null))[_0xc610('0x1e')](function(_0x5aafc3){if(_0x5aafc3){return _0x5aafc3[_0xc610('0x69')](_0x4239cf[_0xc610('0x44')][_0xc610('0x6a')]);}})[_0xc610('0x1e')](respondWithStatusCode(_0x28ec9b,null))[_0xc610('0x28')](handleError(_0x28ec9b,null));};exports[_0xc610('0x6b')]=function(_0x1a054d,_0x9a55e5,_0x31d0a8){if(_0x1a054d[_0xc610('0x60')]['id']){delete _0x1a054d['body']['id'];}return db[_0xc610('0x4f')]['find']({'where':{'id':_0x1a054d[_0xc610('0x54')]['id']}})[_0xc610('0x1e')](handleEntityNotFound(_0x9a55e5,null))[_0xc610('0x1e')](function(_0x83b1b3){if(_0x83b1b3){_0x1a054d[_0xc610('0x60')]['SmsAccountId']=_0x83b1b3['id'];return db[_0xc610('0x6c')]['create'](_0x1a054d['body']);}})[_0xc610('0x1e')](respondWithResult(_0x9a55e5,null))[_0xc610('0x28')](handleError(_0x9a55e5,null));};exports[_0xc610('0x6d')]=function(_0x228a3d,_0x2894b2,_0x25d950){var _0x589ec3={'raw':![],'where':{}};var _0xabf3f6={};var _0x358e2a={'count':0x0,'rows':[]};return db[_0xc610('0x4f')]['findOne']({'where':{'id':_0x228a3d[_0xc610('0x54')]['id']}})[_0xc610('0x1e')](handleEntityNotFound(_0x2894b2,null))[_0xc610('0x1e')](function(_0x561987){if(_0x561987){_0xabf3f6['model']=_[_0xc610('0x55')](db[_0xc610('0x6c')][_0xc610('0x3f')]);_0xabf3f6['query']=_[_0xc610('0x55')](_0x228a3d[_0xc610('0x44')]);_0xabf3f6[_0xc610('0x56')]=_[_0xc610('0x46')](_0xabf3f6['model'],_0xabf3f6[_0xc610('0x44')]);_0x589ec3[_0xc610('0x45')]=_[_0xc610('0x46')](_0xabf3f6[_0xc610('0x43')],qs[_0xc610('0x47')](_0x228a3d[_0xc610('0x44')][_0xc610('0x47')]));_0x589ec3[_0xc610('0x45')]=_0x589ec3[_0xc610('0x45')]['length']?_0x589ec3[_0xc610('0x45')]:_0xabf3f6[_0xc610('0x43')];if(!_0x228a3d[_0xc610('0x44')]['hasOwnProperty'](_0xc610('0x48'))){_0x589ec3['limit']=qs['limit'](_0x228a3d[_0xc610('0x44')]['limit']);_0x589ec3[_0xc610('0x2f')]=qs[_0xc610('0x2f')](_0x228a3d[_0xc610('0x44')]['offset']);}_0x589ec3[_0xc610('0x49')]=qs['sort'](_0x228a3d[_0xc610('0x44')][_0xc610('0x4a')]);_0x589ec3[_0xc610('0x4b')]=qs[_0xc610('0x56')](_['pick'](_0x228a3d[_0xc610('0x44')],_0xabf3f6['filters']));_0x589ec3['where'][_0xc610('0x67')]=_0x561987['id'];if(_0x228a3d['query']['filter']){_0x589ec3['where']=_[_0xc610('0x4c')](_0x589ec3['where'],{'$or':_[_0xc610('0x3e')](_0x589ec3[_0xc610('0x45')],function(_0x35b1c2){var _0x49064d={};_0x49064d[_0x35b1c2]={'$like':'%'+_0x228a3d[_0xc610('0x44')][_0xc610('0x4e')]+'%'};return _0x49064d;})});}_0x589ec3=_[_0xc610('0x4c')]({},_0x589ec3,_0x228a3d[_0xc610('0x68')]);return db[_0xc610('0x6c')][_0xc610('0x2e')]({'where':_0x589ec3[_0xc610('0x4b')]})['then'](function(_0x213114){_0x358e2a['count']=_0x213114;if(_0x228a3d[_0xc610('0x44')][_0xc610('0x50')]){_0x589ec3[_0xc610('0x51')]=[{'all':!![]}];}return db[_0xc610('0x6c')][_0xc610('0x6e')](_0x589ec3);})[_0xc610('0x1e')](function(_0x14038f){_0x358e2a[_0xc610('0x52')]=_0x14038f;return _0x358e2a;});}})['then'](respondWithFilteredResult(_0x2894b2,_0x589ec3))[_0xc610('0x28')](handleError(_0x2894b2,null));};exports[_0xc610('0x6f')]=function(_0x4c7b34,_0x4f3e1a,_0x60a138){return db[_0xc610('0x4f')][_0xc610('0x61')]({'where':{'id':_0x4c7b34['params']['id']}})[_0xc610('0x1e')](handleEntityNotFound(_0x4f3e1a,null))[_0xc610('0x1e')](function(_0x417394){if(_0x417394){return _0x417394[_0xc610('0x6f')](_0x4c7b34[_0xc610('0x44')][_0xc610('0x6a')]);}})[_0xc610('0x1e')](respondWithStatusCode(_0x4f3e1a,null))[_0xc610('0x28')](handleError(_0x4f3e1a,null));};exports[_0xc610('0x70')]=function(_0x1aafdc,_0x3e4d55,_0x1eb988){var _0x5b5731={'channel':_0xc610('0x71')};var _0x3ca6be=[];var _0x57c66f=[];var _0x24883c={};return db[_0xc610('0x4f')][_0xc610('0x61')]({'where':{'id':_0x1aafdc[_0xc610('0x54')]['id']},'include':[{'model':db[_0xc610('0x72')],'as':_0xc610('0x73')}]})[_0xc610('0x1e')](handleEntityNotFound(_0x3e4d55,null))[_0xc610('0x1e')](function(_0x59f470){_0x5b5731[_0xc610('0x74')]=_0x59f470;_0x5b5731['applications']=_[_0xc610('0x75')](_0x59f470[_0xc610('0x73')],['priority'],[_0xc610('0x76')]);if(_0x5b5731['account']['Applications']){delete _0x5b5731[_0xc610('0x74')]['Applications'];}return db['CmContact']['describe']();})['then'](function(_0x41a19c){if(!_0x41a19c){throw new db[(_0xc610('0x77'))]['ValidationError'](_0xc610('0x78'));}_0x3ca6be=_[_0xc610('0x79')](_['keys'](_0x41a19c),[_0xc610('0x7a'),_0xc610('0x7b')]);_0x57c66f=_[_0xc610('0x79')](_[_0xc610('0x55')](_0x41a19c),[_0xc610('0x7a'),_0xc610('0x7b'),_0xc610('0x7c'),_0xc610('0x7d')]);_0x5b5731[_0xc610('0x60')]={'mapKey':_0xc610('0x7e')};if(_0x5b5731['account'][_0xc610('0x41')]){switch(_0x5b5731[_0xc610('0x74')][_0xc610('0x41')]){case _0xc610('0x7f'):_0x5b5731['body'][_0xc610('0x80')]=_0x1aafdc[_0xc610('0x60')][_0xc610('0x81')];_0x5b5731[_0xc610('0x60')][_0xc610('0x60')]=_0x1aafdc[_0xc610('0x60')][_0xc610('0x82')];_0x5b5731['body'][_0xc610('0x83')]=_0x1aafdc[_0xc610('0x60')]['MessageSid'];break;case'skebby':_0x5b5731[_0xc610('0x60')][_0xc610('0x80')]='+'+_0x1aafdc[_0xc610('0x60')]['sender'];_0x5b5731[_0xc610('0x60')][_0xc610('0x60')]=_0x1aafdc['body'][_0xc610('0x84')];break;case _0xc610('0x85'):_0x5b5731[_0xc610('0x60')][_0xc610('0x80')]=_0x1aafdc['body']['from'];_0x5b5731['body'][_0xc610('0x60')]=_0x1aafdc[_0xc610('0x60')]['message'];break;case _0xc610('0x86'):_0x5b5731[_0xc610('0x60')]['from']=_0x1aafdc[_0xc610('0x60')]['from'];_0x5b5731[_0xc610('0x60')][_0xc610('0x60')]=_0x1aafdc[_0xc610('0x60')][_0xc610('0x60')];_0x5b5731['body'][_0xc610('0x83')]=_0x1aafdc[_0xc610('0x60')][_0xc610('0x87')];break;case _0xc610('0x88'):_0x5b5731[_0xc610('0x60')][_0xc610('0x80')]=_0x1aafdc['body'][_0xc610('0x81')];_0x5b5731[_0xc610('0x60')][_0xc610('0x60')]=_0x1aafdc['body']['Text'];_0x5b5731['body'][_0xc610('0x83')]=_0x1aafdc[_0xc610('0x60')][_0xc610('0x89')];break;case _0xc610('0x8a'):_0x5b5731['body'][_0xc610('0x80')]='+'+_0x1aafdc['body'][_0xc610('0x8b')][0x0][_0xc610('0x80')];_0x5b5731[_0xc610('0x60')][_0xc610('0x60')]=_0x1aafdc[_0xc610('0x60')][_0xc610('0x8b')][0x0]['text'];_0x5b5731[_0xc610('0x60')][_0xc610('0x83')]=_0x1aafdc[_0xc610('0x60')]['results'][0x0][_0xc610('0x83')];break;case _0xc610('0x8c'):_0x5b5731[_0xc610('0x60')][_0xc610('0x80')]=_0x1aafdc[_0xc610('0x60')][_0xc610('0x8d')];_0x5b5731[_0xc610('0x60')][_0xc610('0x60')]=_0x1aafdc[_0xc610('0x60')][_0xc610('0x8e')][_0xc610('0x26')];break;case'clickatell':_0x5b5731['body'][_0xc610('0x80')]=_0x1aafdc[_0xc610('0x60')][_0xc610('0x8f')];_0x5b5731[_0xc610('0x60')][_0xc610('0x60')]=_0x1aafdc[_0xc610('0x60')][_0xc610('0x84')];_0x5b5731[_0xc610('0x60')][_0xc610('0x83')]=_0x1aafdc['body'][_0xc610('0x90')];break;case _0xc610('0x91'):_0x5b5731[_0xc610('0x60')][_0xc610('0x83')]=_0x1aafdc[_0xc610('0x60')][0x0][_0xc610('0x26')]['id'];_0x5b5731[_0xc610('0x60')][_0xc610('0x80')]=_0x1aafdc['body'][0x0][_0xc610('0x26')][_0xc610('0x80')];_0x5b5731[_0xc610('0x60')][_0xc610('0x60')]=_0x1aafdc[_0xc610('0x60')][0x0][_0xc610('0x26')]['text'];break;case _0xc610('0x92'):_0x5b5731['body'][_0xc610('0x80')]=_0x1aafdc[_0xc610('0x60')][_0xc610('0x80')];_0x5b5731[_0xc610('0x60')][_0xc610('0x60')]=_0x1aafdc['body'][_0xc610('0x26')];_0x5b5731[_0xc610('0x60')][_0xc610('0x83')]=_0x1aafdc[_0xc610('0x60')][_0xc610('0x93')];break;}}if(_0x5b5731['body']['id']){delete _0x5b5731[_0xc610('0x60')]['id'];}if(_[_0xc610('0x94')](_0x5b5731['body'][_0xc610('0x80')])){throw new db[(_0xc610('0x77'))]['ValidationError'](_0xc610('0x95'));}if(_[_0xc610('0x94')](_0x5b5731[_0xc610('0x60')][_0xc610('0x60')])||_0x5b5731[_0xc610('0x60')]['body']===''){throw new db[(_0xc610('0x77'))][(_0xc610('0x96'))]('body\x20is\x20mandatory\x20and\x20not\x20empty');}if(_['isNil'](_0x5b5731[_0xc610('0x60')]['mapKey'])){throw new db['Sequelize'][(_0xc610('0x96'))](_0xc610('0x97')+_0x57c66f);}if(!_[_0xc610('0x98')](_0x57c66f,_0x5b5731[_0xc610('0x60')]['mapKey'])){throw new db['Sequelize'][(_0xc610('0x96'))](_0xc610('0x99')+_0x57c66f);}_0x24883c[_0x5b5731[_0xc610('0x60')]['mapKey']]=_0x5b5731[_0xc610('0x60')][_0xc610('0x80')];return db[_0xc610('0x9a')][_0xc610('0x61')]({'where':{'id':_0x5b5731[_0xc610('0x74')]['ListId']},'include':[{'model':db['CmContact'],'as':_0xc610('0x9b'),'where':_0x24883c,'limit':0x1,'order':[['updatedAt',_0xc610('0x9c')]]}]});})[_0xc610('0x1e')](handleEntityNotFound(_0x3e4d55,null))['then'](function(_0x3563f8){if(_0x3563f8){_0x5b5731[_0xc610('0x9d')]=_['omit'](_0x3563f8,[_0xc610('0x9b')]);if(_0x3563f8['Contacts'][_0xc610('0x57')]){return _0x3563f8[_0xc610('0x9b')][0x0];}var _0x495d1c=_[_0xc610('0x18')](_0x5b5731[_0xc610('0x60')],{'firstName':_0x5b5731[_0xc610('0x60')]['from'],'ListId':_0x3563f8['id']});_0x495d1c[_0x5b5731[_0xc610('0x60')][_0xc610('0x9e')]]=_0x5b5731['body'][_0xc610('0x80')];return db[_0xc610('0x9f')]['create'](_0x495d1c,{'fields':_0x3ca6be,'raw':!![]});}})[_0xc610('0x1e')](handleEntityNotFound(_0x3e4d55,null))[_0xc610('0x1e')](function(_0x232153){if(_0x232153){_0x5b5731[_0xc610('0xa0')]=_0x232153;var _0x67ebeb={'ContactId':_0x232153['id'],'phone':_0x5b5731[_0xc610('0x60')][_0xc610('0x80')],'SmsAccountId':_0x1aafdc['params']['id']};var _0x5cf7f4={'ContactId':_0x232153['id'],'SmsAccountId':_0x1aafdc[_0xc610('0x54')]['id'],'closed':![]};return db['SmsInteraction']['find']({'where':_0x5cf7f4})[_0xc610('0x1e')](function(_0x3072ee){if(_0x3072ee){return[_0x3072ee,![]];}return db[_0xc610('0xa1')]['create'](_0x67ebeb)[_0xc610('0x1e')](function(_0x4a5990){return[_0x4a5990,!![]];});});}})[_0xc610('0xa2')](function(_0x2c18e5,_0x34a8c5){_0x5b5731[_0xc610('0xa3')]=_0x2c18e5['get']({'plain':!![]});_0x5b5731[_0xc610('0xa3')][_0xc610('0xa4')]=![];if(_0x34a8c5){if(_0x5b5731['account'][_0xc610('0xa5')]){_0x5b5731[_0xc610('0xa6')][_0xc610('0xa7')]({'id':0x0,'priority':_0x5b5731[_0xc610('0xa6')][_0xc610('0x57')]+0x1,'app':'close','appdata':_0xc610('0xa8'),'interval':_0xc610('0xa9')});}_0x5b5731['interaction'][_0xc610('0xa4')]=!![];}return db[_0xc610('0xaa')][_0xc610('0x58')]({'phone':_0x5b5731[_0xc610('0x60')][_0xc610('0x80')],'messageId':_0x5b5731[_0xc610('0x60')][_0xc610('0x83')],'body':_0x5b5731[_0xc610('0x60')][_0xc610('0x60')],'SmsAccountId':_0x1aafdc['params']['id'],'SmsInteractionId':_0x2c18e5['id'],'direction':'in','ContactId':_0x2c18e5[_0xc610('0xab')],'AttachmentId':_0x5b5731['body']['AttachmentId']});})['then'](function(_0x174516){_0x5b5731['message']=_0x174516;if(!_0x5b5731[_0xc610('0xa3')][_0xc610('0xac')])return;return db['User'][_0xc610('0x61')]({'attributes':['id',_0xc610('0x3a')],'where':{'id':_0x5b5731[_0xc610('0xa3')]['UserId']}});})[_0xc610('0x1e')](function(_0x2c455e){if(_0x2c455e){_0x5b5731[_0xc610('0xa6')][_0xc610('0xad')]({'id':0x0,'priority':0x0,'app':_0xc610('0xae'),'appdata':_0x2c455e['name']+','+(_0x5b5731[_0xc610('0x74')][_0xc610('0xaf')]||0xa),'interval':'*,*,*,*'});}if(!_0x5b5731[_0xc610('0xa3')]['queueId'])return;return db[_0xc610('0xb0')][_0xc610('0x61')]({'attributes':['id',_0xc610('0x3a')],'where':{'id':_0x5b5731[_0xc610('0xa3')][_0xc610('0xb1')]}});})['then'](function(_0x3a4b53){if(_0x3a4b53){_0x5b5731['applications'][_0xc610('0xad')]({'id':0x0,'priority':0x1,'app':_0xc610('0xb2'),'appdata':_0x3a4b53[_0xc610('0x3a')]+','+(_0x5b5731['account']['waitForTheAssignedQueue']||0x12c),'interval':_0xc610('0xa9')});}return respondWithRpcPromise(_0xc610('0xb3'),_0xc610('0xb4'),_0x5b5731);})[_0xc610('0x1e')](function(_0x4af7ae){if(_0x4af7ae){var _0x772f=0xc8;var _0x180ef9=_0xc610('0xb5');logger['info'](_0xc610('0x22'),_0x180ef9,_0x772f,_0xc610('0xb6'));logger['debug'](_0xc610('0xb7'),_0x180ef9,_0x772f,_0xc610('0xb6'),JSON['stringify'](_0x4af7ae));if(_0x5b5731[_0xc610('0x74')][_0xc610('0x41')]===_0xc610('0x7f')){return _0x3e4d55[_0xc610('0x2a')](_0x772f)[_0xc610('0x30')](_0xc610('0xb8'),_0xc610('0xb9'))['send']('<?xml\x20version=\x221.0\x22\x20encoding=\x22UTF-8\x22?>\x0a<Response></Response>');}else{return _0x3e4d55['status'](_0x772f)[_0xc610('0x2b')](_0x4af7ae);}}})[_0xc610('0x28')](handleError(_0x3e4d55,null));};exports[_0xc610('0xba')]=function(_0x5cb9aa,_0x59dc2d){var _0x338a10=_0x5cb9aa['params']['id'];var _0x196ba3=_0x5cb9aa[_0xc610('0x60')];var _0x29d149=0xc8;var _0x5a26f0=null;return db[_0xc610('0xbb')]['transaction']({'isolationLevel':db[_0xc610('0xbb')][_0xc610('0xbc')][_0xc610('0xbd')][_0xc610('0xbe')]},function(_0x163048){return db[_0xc610('0x4f')]['findOne']({'where':{'id':_0x338a10},'transaction':_0x163048})[_0xc610('0x1e')](function(_0x19667f){if(_0x19667f){return db[_0xc610('0x72')][_0xc610('0x38')]({'where':{'SmsAccountId':_0x338a10},'transaction':_0x163048})[_0xc610('0x1e')](function(){var _0x404674=_['map'](_0x196ba3,function(_0x9cb5a5){_0x9cb5a5['SmsAccountId']=_0x338a10;return _0x9cb5a5;});return db[_0xc610('0x72')][_0xc610('0xbf')](_0x404674,{'transaction':_0x163048});});}else{_0x29d149=0x194;_0x5a26f0=[];}});})[_0xc610('0x1e')](function(){if(_0x29d149!==0x194){return db[_0xc610('0x72')]['findAndCountAll']({'where':{'SmsAccountId':_0x338a10},'order':_0xc610('0xc0')})[_0xc610('0x1e')](function(_0x27f578){_0x5a26f0=_0x27f578;});}})[_0xc610('0x28')](function(_0x6d4e4e){_0x29d149=0x1f4;logger['error'](_0x6d4e4e[_0xc610('0xc1')]);if(_0x6d4e4e[_0xc610('0x3a')]){delete _0x6d4e4e[_0xc610('0x3a')];}_0x5a26f0=_0x6d4e4e;})[_0xc610('0xc2')](function(){if(_0x5a26f0===null){_0x59dc2d['sendStatus'](_0x29d149);}else{if(_0x29d149===0x1f4){_0x59dc2d[_0xc610('0x2a')](_0x29d149)[_0xc610('0x3b')](_0x5a26f0);}else{_0x59dc2d[_0xc610('0x2a')](_0x29d149)['json'](_0x5a26f0);}}});};exports[_0xc610('0xc3')]=function(_0x3f0363,_0x5515a2,_0x6322f8){var _0x1ea8d4={};var _0x3efbd8={};var _0x3a260a;var _0xfac68b;return db['SmsAccount'][_0xc610('0x66')]({'where':{'id':_0x3f0363[_0xc610('0x54')]['id']}})['then'](handleEntityNotFound(_0x5515a2,null))[_0xc610('0x1e')](function(_0x5590b2){if(_0x5590b2){_0x3a260a=_0x5590b2;_0x3efbd8['model']=_[_0xc610('0x55')](db[_0xc610('0x72')][_0xc610('0x3f')]);_0x3efbd8[_0xc610('0x44')]=_['keys'](_0x3f0363['query']);_0x3efbd8[_0xc610('0x56')]=_['intersection'](_0x3efbd8[_0xc610('0x43')],_0x3efbd8[_0xc610('0x44')]);_0x1ea8d4[_0xc610('0x45')]=_['intersection'](_0x3efbd8['model'],qs['fields'](_0x3f0363[_0xc610('0x44')][_0xc610('0x47')]));_0x1ea8d4[_0xc610('0x45')]=_0x1ea8d4[_0xc610('0x45')][_0xc610('0x57')]?_0x1ea8d4[_0xc610('0x45')]:_0x3efbd8[_0xc610('0x43')];_0x1ea8d4['order']=qs[_0xc610('0x4a')](_0x3f0363['query']['sort']);_0x1ea8d4[_0xc610('0x4b')]=qs[_0xc610('0x56')](_['pick'](_0x3f0363[_0xc610('0x44')],_0x3efbd8[_0xc610('0x56')]));if(_0x3f0363[_0xc610('0x44')][_0xc610('0x4e')]){_0x1ea8d4[_0xc610('0x4b')]=_[_0xc610('0x4c')](_0x1ea8d4['where'],{'$or':_[_0xc610('0x3e')](_0x1ea8d4[_0xc610('0x45')],function(_0xba5129){var _0x295ffa={};_0x295ffa[_0xba5129]={'$like':'%'+_0x3f0363[_0xc610('0x44')][_0xc610('0x4e')]+'%'};return _0x295ffa;})});}_0x1ea8d4=_['merge']({},_0x1ea8d4,_0x3f0363[_0xc610('0x68')]);return _0x3a260a[_0xc610('0xc3')](_0x1ea8d4);}})['then'](function(_0x3e1731){if(_0x3e1731){_0xfac68b=_0x3e1731[_0xc610('0x57')];if(!_0x3f0363['query'][_0xc610('0xc4')](_0xc610('0x48'))){_0x1ea8d4[_0xc610('0x2d')]=qs[_0xc610('0x2d')](_0x3f0363[_0xc610('0x44')][_0xc610('0x2d')]);_0x1ea8d4[_0xc610('0x2f')]=qs[_0xc610('0x2f')](_0x3f0363[_0xc610('0x44')][_0xc610('0x2f')]);}return _0x3a260a[_0xc610('0xc3')](_0x1ea8d4);}})['then'](function(_0x2da97a){if(_0x2da97a){return _0x2da97a?{'count':_0xfac68b,'rows':_0x2da97a}:null;}})[_0xc610('0x1e')](respondWithResult(_0x5515a2,null))['catch'](handleError(_0x5515a2,null));};exports['getInteractions']=function(_0x3bd909,_0x288762,_0x69b93b){var _0x434d04={'raw':![],'where':{}};var _0x4e1b48={};var _0x199432={'count':0x0,'rows':[]};return db[_0xc610('0x4f')]['findOne']({'where':{'id':_0x3bd909[_0xc610('0x54')]['id']}})[_0xc610('0x1e')](handleEntityNotFound(_0x288762,null))['then'](function(_0x2e35f7){if(_0x2e35f7){_0x4e1b48[_0xc610('0x43')]=_[_0xc610('0x55')](db['SmsInteraction'][_0xc610('0x3f')]);_0x4e1b48[_0xc610('0x44')]=_[_0xc610('0x55')](_0x3bd909['query']);_0x4e1b48[_0xc610('0x56')]=_[_0xc610('0x46')](_0x4e1b48[_0xc610('0x43')],_0x4e1b48['query']);_0x434d04['attributes']=_[_0xc610('0x46')](_0x4e1b48[_0xc610('0x43')],qs[_0xc610('0x47')](_0x3bd909[_0xc610('0x44')][_0xc610('0x47')]));_0x434d04[_0xc610('0x45')]=_0x434d04['attributes']['length']?_0x434d04[_0xc610('0x45')]:_0x4e1b48[_0xc610('0x43')];if(!_0x3bd909[_0xc610('0x44')]['hasOwnProperty'](_0xc610('0x48'))){_0x434d04[_0xc610('0x2d')]=qs[_0xc610('0x2d')](_0x3bd909[_0xc610('0x44')]['limit']);_0x434d04['offset']=qs['offset'](_0x3bd909[_0xc610('0x44')]['offset']);}_0x434d04['order']=qs[_0xc610('0x4a')](_0x3bd909[_0xc610('0x44')][_0xc610('0x4a')]);_0x434d04[_0xc610('0x4b')]=qs[_0xc610('0x56')](_[_0xc610('0xc5')](_0x3bd909[_0xc610('0x44')],_0x4e1b48[_0xc610('0x56')]));_0x434d04['where'][_0xc610('0x67')]=_0x2e35f7['id'];if(_0x3bd909[_0xc610('0x44')]['filter']){_0x434d04[_0xc610('0x4b')]=_['merge'](_0x434d04['where'],{'$or':_[_0xc610('0x3e')](_0x434d04[_0xc610('0x45')],function(_0x301b32){var _0x440115={};_0x440115[_0x301b32]={'$like':'%'+_0x3bd909[_0xc610('0x44')][_0xc610('0x4e')]+'%'};return _0x440115;})});}_0x434d04=_['merge']({},_0x434d04,_0x3bd909[_0xc610('0x68')]);return db[_0xc610('0xa1')][_0xc610('0x2e')]({'where':_0x434d04[_0xc610('0x4b')]})[_0xc610('0x1e')](function(_0xe173f4){_0x199432[_0xc610('0x2e')]=_0xe173f4;if(_0x3bd909[_0xc610('0x44')][_0xc610('0x50')]){_0x434d04['include']=[{'model':db[_0xc610('0x9f')],'as':_0xc610('0xc6'),'required':![]},{'model':db['User'],'as':_0xc610('0xc7'),'attributes':[_0xc610('0x3a'),_0xc610('0xc8'),_0xc610('0xc9')],'required':![]},{'model':db[_0xc610('0xca')],'as':_0xc610('0xcb'),'attributes':['id','name',_0xc610('0xcc')],'where':_0x3bd909[_0xc610('0x44')][_0xc610('0xcd')]?{'id':_0x3bd909[_0xc610('0x44')][_0xc610('0xcd')]}:undefined,'required':_0x3bd909[_0xc610('0x44')]['tag']?!![]:![]}];}return db['SmsInteraction'][_0xc610('0x6e')](_0x434d04);})[_0xc610('0x1e')](function(_0x3eb44e){_0x199432[_0xc610('0x52')]=_0x3eb44e;return _0x199432;});}})[_0xc610('0x1e')](respondWithFilteredResult(_0x288762,_0x434d04))[_0xc610('0x28')](handleError(_0x288762,null));};exports[_0xc610('0x3b')]=function(_0x28c15d,_0x449714,_0x3d8d7f){var _0x5455b0,_0x157952,_0x311618;if(_[_0xc610('0x94')](_0x28c15d[_0xc610('0x60')][_0xc610('0x60')])||_0x28c15d[_0xc610('0x60')][_0xc610('0x60')]===''){throw new db['Sequelize'][(_0xc610('0x96'))](_0xc610('0xce'));}if(_[_0xc610('0x94')](_0x28c15d['body']['to'])){throw new db[(_0xc610('0x77'))]['ValidationError']('to\x20is\x20mandatory');}_0x5455b0=_0x28c15d[_0xc610('0x60')]['to'];return db[_0xc610('0x4f')]['find']({'where':{'id':_0x28c15d[_0xc610('0x54')]['id']},'include':[{'model':db[_0xc610('0x9a')],'as':_0xc610('0xcf'),'include':[{'model':db[_0xc610('0x9f')],'as':_0xc610('0x9b'),'where':{'mobile':_0x5455b0},'limit':0x1,'order':[[_0xc610('0x7b'),_0xc610('0x9c')]]}]}]})[_0xc610('0x1e')](handleEntityNotFound(_0x449714,null))['then'](function(_0x455723){if(_0x455723&&_0x455723[_0xc610('0xcf')]){_0x157952=_0x455723[_0xc610('0x35')]({'plain':!![]});if(_0x157952[_0xc610('0xcf')]&&_0x157952[_0xc610('0xcf')][_0xc610('0x9b')][_0xc610('0x57')]){return _0x157952[_0xc610('0xcf')][_0xc610('0x9b')][0x0];}return db[_0xc610('0x9f')][_0xc610('0x58')](_[_0xc610('0x18')](_0x28c15d[_0xc610('0x60')],{'firstName':_0x5455b0,'mobile':_0x5455b0,'phone':_0x5455b0,'ListId':_0x157952[_0xc610('0x7d')]}));}})['then'](handleEntityNotFound(_0x449714,null))[_0xc610('0x1e')](function(_0x12d46e){if(_0x12d46e){_0x311618=_0x12d46e;return db[_0xc610('0xa1')][_0xc610('0x61')]({'where':{'ContactId':_0x311618['id'],'closed':![],'SmsAccountId':_0x157952['id']}})[_0xc610('0x1e')](function(_0x15a17c){if(_0x15a17c){return[_0x15a17c,![]];}return db[_0xc610('0xa1')][_0xc610('0x58')]({'UserId':_0x28c15d[_0xc610('0x5b')]['id'],'ContactId':_0x311618['id'],'SmsAccountId':_0x157952['id'],'phone':_0x5455b0,'firstMsgDirection':'out','Messages':[_[_0xc610('0x4c')](_0x28c15d[_0xc610('0x60')],{'read':![],'body':_0x28c15d['body'][_0xc610('0x60')],'phone':_0x5455b0,'SmsAccountId':_0x157952['id'],'UserId':_0x28c15d[_0xc610('0x5b')]['id'],'ContactId':_0x311618['id']})]},{'include':[{'model':db[_0xc610('0xaa')],'as':_0xc610('0xd0')}]})[_0xc610('0x1e')](function(_0x559d21){return[_0x559d21,!![]];});});}})[_0xc610('0xa2')](function(_0x5a4cef,_0x9b8ea5){if(_0x9b8ea5){return _0x5a4cef;}return db[_0xc610('0xaa')][_0xc610('0x58')](_[_0xc610('0x4c')](_0x28c15d[_0xc610('0x60')],{'read':![],'body':_0x28c15d['body'][_0xc610('0x60')],'phone':_0x5455b0,'SmsAccountId':_0x157952['id'],'SmsInteractionId':_0x5a4cef['id'],'UserId':_0x28c15d[_0xc610('0x5b')]['id'],'ContactId':_0x311618['id']}))[_0xc610('0x1e')](function(_0x45ebc8){_0x5a4cef[_0xc610('0xd1')][_0xc610('0xd0')]=[];_0x5a4cef['dataValues'][_0xc610('0xd0')][_0xc610('0xa7')](_0x45ebc8[_0xc610('0xd1')]);return _0x5a4cef;});})[_0xc610('0x1e')](respondWithResult(_0x449714,null))[_0xc610('0x28')](handleError(_0x449714,null));};exports[_0xc610('0x2a')]=function(_0x2464ec,_0x2da7f5,_0x39d4d5){if(_0x2464ec[_0xc610('0x60')]['id']){delete _0x2464ec[_0xc610('0x60')]['id'];}var _0x4865a2,_0x34eb52,_0x358627;return db[_0xc610('0x4f')]['find']({'where':{'id':_0x2464ec[_0xc610('0x54')]['id']}})[_0xc610('0x1e')](handleEntityNotFound(_0x2da7f5,null))[_0xc610('0x1e')](function(_0x48314a){if(_0x48314a){_0x358627=_0x48314a;logger['debug'](_0xc610('0x22'),_0xc610('0x2a'),_0xc610('0xd2'),_0x48314a[_0xc610('0x41')],util[_0xc610('0xd3')](_0x2464ec[_0xc610('0x60')],{'showHidden':![],'depth':null}));switch(_0x48314a['type']){case _0xc610('0xd4'):if(_0x2464ec[_0xc610('0x60')][_0xc610('0xd5')]&&_0x2464ec[_0xc610('0x60')][_0xc610('0x2a')]){_0x34eb52=_0x2464ec[_0xc610('0x60')][_0xc610('0x2a')];return db[_0xc610('0xaa')][_0xc610('0x61')]({'where':{'messageId':_0x2464ec[_0xc610('0x60')][_0xc610('0xd5')]}});}break;case _0xc610('0x85'):if(_0x2464ec[_0xc610('0x60')][_0xc610('0xd6')]&&_0x2464ec[_0xc610('0x60')][_0xc610('0xd7')]){_0x34eb52=_0x2464ec[_0xc610('0x60')][_0xc610('0xd7')];return db[_0xc610('0xaa')][_0xc610('0x61')]({'where':{'messageId':_0x2464ec[_0xc610('0x60')][_0xc610('0xd6')]}});}break;case _0xc610('0x86'):if(_0x2464ec[_0xc610('0x60')][_0xc610('0x87')]&&_0x2464ec[_0xc610('0x60')][_0xc610('0xd8')]){_0x34eb52=_0x2464ec[_0xc610('0x60')][_0xc610('0xd8')];return db[_0xc610('0xaa')][_0xc610('0x61')]({'where':{'messageId':_0x2464ec[_0xc610('0x60')]['message_id']}});}break;case _0xc610('0x8a'):var _0x5cc5e0=_0x2464ec[_0xc610('0x60')][_0xc610('0x8b')][0x0];if(_0x5cc5e0['messageId']&&_0x5cc5e0[_0xc610('0x2a')]['groupName']===_0xc610('0xd9')){_0x34eb52=_0x5cc5e0['status'][_0xc610('0xda')];return db[_0xc610('0xaa')][_0xc610('0x61')]({'where':{'messageId':_0x5cc5e0['messageId']}});}break;case _0xc610('0xdb'):if(_0x2464ec['body']['messageId']&&_0x2464ec[_0xc610('0x60')][_0xc610('0x2a')]){_0x34eb52=_0x2464ec[_0xc610('0x60')][_0xc610('0x2a')];return db[_0xc610('0xaa')][_0xc610('0x61')]({'where':{'messageId':_0x2464ec[_0xc610('0x60')][_0xc610('0x83')]}});}break;case _0xc610('0x91'):if(_0x2464ec['body'][0x0]['message']['id']){_0x34eb52=_0x2464ec['body'][0x0][_0xc610('0x41')];return db['SmsMessage'][_0xc610('0x61')]({'where':{'messageId':_0x2464ec[_0xc610('0x60')][0x0][_0xc610('0x26')]['id']}});}break;case _0xc610('0x92'):if(_0x2464ec[_0xc610('0x60')]['redif']&&_0x2464ec[_0xc610('0x60')][_0xc610('0x2a')]){_0x34eb52=_0x2464ec[_0xc610('0x60')][_0xc610('0x2a')];return db[_0xc610('0xaa')][_0xc610('0x61')]({'where':{'messageId':_0x2464ec['body'][_0xc610('0xdc')]}});}break;}}})['then'](handleEntityNotFound(_0x2da7f5,null))[_0xc610('0x1e')](function(_0x4e09b9){if(_0x4e09b9){_0x4865a2=_0x4e09b9;switch(_0x358627[_0xc610('0x41')]){case _0xc610('0xd4'):if(_0x34eb52===_0xc610('0xd9')){return _0x4865a2[_0xc610('0x34')]({'read':!![]});}else{logger[_0xc610('0x25')](_0xc610('0x22'),_0xc610('0x2a'),_0xc610('0xd4'),util[_0xc610('0xd3')](_0x2464ec[_0xc610('0x60')],{'showHidden':![],'depth':null}));}break;case _0xc610('0x85'):if(_0x34eb52==='1'){return _0x4865a2['update']({'read':!![]});}else{logger['error']('SmsAccount,\x20%s,\x20%s,\x20%s',_0xc610('0x2a'),_0xc610('0xd4'),util[_0xc610('0xd3')](_0x2464ec['body'],{'showHidden':![],'depth':null}));}break;case _0xc610('0x86'):if(!_0x2464ec[_0xc610('0x60')]['error_code']&&_0x34eb52>=0xc8&&_0x34eb52<=0xce){return _0x4865a2[_0xc610('0x34')]({'read':!![]});}else{logger[_0xc610('0x25')](_0xc610('0x22'),_0xc610('0x2a'),_0xc610('0x86'),util[_0xc610('0xd3')](_0x2464ec[_0xc610('0x60')],{'showHidden':![],'depth':null}));}break;case _0xc610('0x8a'):var _0x2afeef=_0x2464ec[_0xc610('0x60')]['results'][0x0];if(_0x2afeef[_0xc610('0x2a')]['groupName']===_0xc610('0xd9')){return _0x4865a2[_0xc610('0x34')]({'read':!![]});}else{logger['error'](_0xc610('0x22'),_0xc610('0x2a'),_0xc610('0x8a'),util[_0xc610('0xd3')](_0x2464ec[_0xc610('0x60')],{'showHidden':![],'depth':null}));}break;case'clickatell':if(_0x34eb52==_0xc610('0xdd')||_0x34eb52==_0xc610('0xde')){return _0x4865a2['update']({'read':!![]});}else{logger[_0xc610('0x25')](_0xc610('0x22'),_0xc610('0x2a'),_0xc610('0xdb'),util[_0xc610('0xd3')](_0x2464ec['body'],{'showHidden':![],'depth':null}));}break;case'bandwidth':if(_0x34eb52==_0xc610('0xdf')){return _0x4865a2['update']({'read':!![]});}else{logger['error'](_0xc610('0x22'),'status',_0xc610('0x91'),util[_0xc610('0xd3')](_0x2464ec[_0xc610('0x60')],{'showHidden':![],'depth':null}));}break;case _0xc610('0x92'):if(_0x34eb52===_0xc610('0xe0')||_0x34eb52==='ACCEPTD'){return _0x4865a2['update']({'read':!![]});}else{logger['error'](_0xc610('0x22'),'status',_0xc610('0x92'),util[_0xc610('0xd3')](_0x2464ec[_0xc610('0x60')],{'showHidden':![],'depth':null}));}break;}return _0x4865a2;}})['then'](respondWithResult(_0x2da7f5,null))[_0xc610('0x28')](handleError(_0x2da7f5,null));};exports[_0xc610('0xe1')]=function(_0x1afa17,_0x31590e,_0x53ed55){var _0x2c858a,_0xc8340f,_0x1808ba;return db[_0xc610('0x4f')][_0xc610('0x61')]({'where':{'id':_0x1afa17[_0xc610('0x54')]['id']}})[_0xc610('0x1e')](handleEntityNotFound(_0x31590e,null))['then'](function(_0x395aa0){if(_0x395aa0){_0x1808ba=_0x395aa0;logger['debug'](_0xc610('0x22'),_0xc610('0x2a'),_0xc610('0xd2'),_0x395aa0[_0xc610('0x41')],util['inspect'](_0x1afa17[_0xc610('0x44')],{'showHidden':![],'depth':null}));switch(_0x395aa0[_0xc610('0x41')]){case _0xc610('0x8c'):if(_0x1afa17['query']['message-id']&&_0x1afa17['query'][_0xc610('0xe2')]){_0xc8340f=_0x1afa17[_0xc610('0x44')]['state'];return db[_0xc610('0xaa')]['find']({'where':{'messageId':_0x1afa17[_0xc610('0x44')]['message-id']}});}break;}}})['then'](handleEntityNotFound(_0x31590e,null))[_0xc610('0x1e')](function(_0x335e2d){if(_0x335e2d){_0x2c858a=_0x335e2d;switch(_0x1808ba[_0xc610('0x41')]){case _0xc610('0x8c'):if(_0xc8340f==='2'||_0xc8340f==='6'){return _0x2c858a[_0xc610('0x34')]({'read':!![]});}else{logger[_0xc610('0x25')]('SmsAccount,\x20%s,\x20%s,\x20%s',_0xc610('0x2a'),'csc',util[_0xc610('0xd3')](_0x1afa17['query'],{'showHidden':![],'depth':null}));};break;}return _0x2c858a;}})['then'](respondWithResult(_0x31590e,null))[_0xc610('0x28')](handleError(_0x31590e,null));};exports[_0xc610('0xe3')]=function(_0x3df7bc,_0x3ed190,_0xa0cc48){return db[_0xc610('0x4f')][_0xc610('0x61')]({'where':{'id':_0x3df7bc[_0xc610('0x54')]['id']}})[_0xc610('0x1e')](handleEntityNotFound(_0x3ed190,null))[_0xc610('0x1e')](function(_0x2efbce){if(_0x2efbce){return _0x2efbce['addAgents'](_0x3df7bc[_0xc610('0x60')]['ids'],_[_0xc610('0xe4')](_0x3df7bc[_0xc610('0x60')],[_0xc610('0x6a'),'id'])||{})[_0xc610('0xa2')](function(_0x3ea55d){for(var _0x4e0f68=0x0;_0x4e0f68<_0x3df7bc[_0xc610('0x60')][_0xc610('0x6a')][_0xc610('0x57')];_0x4e0f68+=0x1){socket[_0xc610('0xe5')](_0xc610('0xe6'),{'UserId':Number(_0x3df7bc[_0xc610('0x60')]['ids'][_0x4e0f68]),'SmsAccountId':Number(_0x3df7bc[_0xc610('0x54')]['id'])});}return _0x3ea55d;});}})[_0xc610('0x1e')](respondWithResult(_0x3ed190,null))[_0xc610('0x28')](handleError(_0x3ed190,null));};exports['removeAgents']=function(_0x2dfdf3,_0x52619b,_0x487edf){return db[_0xc610('0x4f')]['find']({'where':{'id':_0x2dfdf3[_0xc610('0x54')]['id']}})[_0xc610('0x1e')](handleEntityNotFound(_0x52619b,null))[_0xc610('0x1e')](function(_0x4beb61){if(_0x4beb61){return _0x4beb61[_0xc610('0xe7')](_0x2dfdf3[_0xc610('0x44')]['ids'])['then'](function(){if(_[_0xc610('0xe8')](_0x2dfdf3[_0xc610('0x44')][_0xc610('0x6a')])){for(var _0x5d5a4f=0x0;_0x5d5a4f<_0x2dfdf3['query']['ids'][_0xc610('0x57')];_0x5d5a4f+=0x1){socket[_0xc610('0xe5')](_0xc610('0xe9'),{'UserId':Number(_0x2dfdf3[_0xc610('0x44')][_0xc610('0x6a')][_0x5d5a4f]),'SmsAccountId':Number(_0x2dfdf3[_0xc610('0x54')]['id'])});}}else{socket[_0xc610('0xe5')](_0xc610('0xe9'),{'UserId':Number(_0x2dfdf3[_0xc610('0x44')][_0xc610('0x6a')]),'SmsAccountId':Number(_0x2dfdf3[_0xc610('0x54')]['id'])});}});}})['then'](respondWithStatusCode(_0x52619b,null))[_0xc610('0x28')](handleError(_0x52619b,null));};exports[_0xc610('0xea')]=function(_0x1ca3a5,_0x5f01cf,_0x14202b){var _0x323bd1={};var _0x4dfe8d={};var _0xa3766c;var _0x34c691;return db[_0xc610('0x4f')][_0xc610('0x66')]({'where':{'id':_0x1ca3a5['params']['id']}})[_0xc610('0x1e')](handleEntityNotFound(_0x5f01cf,null))['then'](function(_0x15fc8b){if(_0x15fc8b){_0xa3766c=_0x15fc8b;_0x4dfe8d['model']=_['keys'](db[_0xc610('0xeb')][_0xc610('0x3f')]);_0x4dfe8d[_0xc610('0x44')]=_[_0xc610('0x55')](_0x1ca3a5['query']);_0x4dfe8d[_0xc610('0x56')]=_[_0xc610('0x46')](_0x4dfe8d['model'],_0x4dfe8d[_0xc610('0x44')]);_0x323bd1[_0xc610('0x45')]=_[_0xc610('0x46')](_0x4dfe8d[_0xc610('0x43')],qs[_0xc610('0x47')](_0x1ca3a5[_0xc610('0x44')][_0xc610('0x47')]));_0x323bd1[_0xc610('0x45')]=_0x323bd1[_0xc610('0x45')][_0xc610('0x57')]?_0x323bd1[_0xc610('0x45')]:_0x4dfe8d['model'];_0x323bd1[_0xc610('0x49')]=qs[_0xc610('0x4a')](_0x1ca3a5[_0xc610('0x44')][_0xc610('0x4a')]);_0x323bd1[_0xc610('0x4b')]=qs[_0xc610('0x56')](_[_0xc610('0xc5')](_0x1ca3a5[_0xc610('0x44')],_0x4dfe8d[_0xc610('0x56')]));if(_0x1ca3a5[_0xc610('0x44')][_0xc610('0x4e')]){_0x323bd1[_0xc610('0x4b')]=_['merge'](_0x323bd1['where'],{'$or':_[_0xc610('0x3e')](_0x323bd1[_0xc610('0x45')],function(_0x41e0c1){var _0x9e8ea0={};_0x9e8ea0[_0x41e0c1]={'$like':'%'+_0x1ca3a5[_0xc610('0x44')][_0xc610('0x4e')]+'%'};return _0x9e8ea0;})});}_0x323bd1=_[_0xc610('0x4c')]({},_0x323bd1,_0x1ca3a5[_0xc610('0x68')]);return _0xa3766c['getAgents'](_0x323bd1);}})['then'](function(_0x1d09da){if(_0x1d09da){_0x34c691=_0x1d09da[_0xc610('0x57')];if(!_0x1ca3a5[_0xc610('0x44')][_0xc610('0xc4')](_0xc610('0x48'))){_0x323bd1['limit']=qs['limit'](_0x1ca3a5['query']['limit']);_0x323bd1[_0xc610('0x2f')]=qs[_0xc610('0x2f')](_0x1ca3a5['query'][_0xc610('0x2f')]);}return _0xa3766c[_0xc610('0xea')](_0x323bd1);}})['then'](function(_0x3a7895){if(_0x3a7895){return _0x3a7895?{'count':_0x34c691,'rows':_0x3a7895}:null;}})['then'](respondWithResult(_0x5f01cf,null))['catch'](handleError(_0x5f01cf,null));};