0ba83c58fc66b1f831a23258022a1355cf8ffcfb
[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 _0x91e6=['groupName','DELIVERED','clickatell','redif','error_code','DELIVERED_TO_GATEWAY','RECEIVED_BY_RECIPIENT','DELIVRD','ACCEPTD','statusGet','message-id','state','addAgents','emit','userSmsAccount:save','removeAgents','isArray','userSmsAccount:remove','getAgents','eml-format','rimraf','zip-dir','request-promise','moment','mustache','util','sox','to-csv','ejs','fs-extra','lodash','squel','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','redis','defaults','socket.io-emitter','register','jayson/promise','client','http','request','then','info','SmsAccount,\x20%s,\x20%s','SmsAccount,\x20%s,\x20%s,\x20%s','request\x20sent','stringify','error','message','result','catch','sendStatus','status','end','json','offset','undefined','limit','count','set','save','update','destroy','SmsAccounts','UserProfileResource','name','send','index','Pause','mandatoryDispositionPause','map','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','SmsAccount','includeAll','include','findAll','rows','show','params','options','find','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','get','UserProfileSection','autoAssociation','describe','addDisposition','SmsAccountId','getDispositions','findOne','pick','Disposition','removeDispositions','CannedAnswer','create','getAnswers','removeAnswers','ids','notify','sms','SmsApplication','Applications','account','applications','orderBy','priority','asc','ValidationError','no\x20available\x20attributes','createdAt','updatedAt','difference','CompanyId','ListId','mobile','from','From','MessageSid','sender','text','clicksend','messageId','message_id','plivo','Text','MessageUUID','results','csc','originatingAddress','segmentedMessage','replyMessageId','bandwidth','intelepeer','refid','isNil','Sequelize','from\x20is\x20mandatory','body\x20is\x20mandatory\x20and\x20not\x20empty','includes','mapKey','CmList','CmContact','Contacts','DESC','list','omit','contact','SmsInteraction','interaction','created','push','close','SmsMessage','ContactId','AttachmentId','UserId','unshift','agent','waitForTheAssignedAgent','*,*,*,*','Start','startRouting','receiveMessage','entity\x20found','debug','twilio','Content-Type','text/xml','<?xml\x20version=\x221.0\x22\x20encoding=\x22UTF-8\x22?>\x0a<Response></Response>','addApplications','sequelize','transaction','Transaction','ISOLATION_LEVELS','READ_COMMITTED','bulkCreate','stack','finally','getApplications','getInteractions','User','Owner','fullname','Tag','Tags','tag','List','out','spread','dataValues','Messages','received\x20delivery\x20report\x20from','inspect','skebby','connectel','requestid','status_code','infobip'];(function(_0x14add3,_0x13ce8d){var _0x4a174f=function(_0x2b3ed7){while(--_0x2b3ed7){_0x14add3['push'](_0x14add3['shift']());}};_0x4a174f(++_0x13ce8d);}(_0x91e6,0xf9));var _0x691e=function(_0x2b3be5,_0x59181d){_0x2b3be5=_0x2b3be5-0x0;var _0x3c4282=_0x91e6[_0x2b3be5];return _0x3c4282;};'use strict';var emlformat=require(_0x691e('0x0'));var rimraf=require(_0x691e('0x1'));var zipdir=require(_0x691e('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x691e('0x3'));var moment=require(_0x691e('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x691e('0x5'));var util=require(_0x691e('0x6'));var path=require('path');var sox=require(_0x691e('0x7'));var csv=require(_0x691e('0x8'));var ejs=require(_0x691e('0x9'));var fs=require('fs');var fs_extra=require(_0x691e('0xa'));var _=require(_0x691e('0xb'));var squel=require(_0x691e('0xc'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x691e('0xd'));var toCsv=require(_0x691e('0x8'));var querystring=require(_0x691e('0xe'));var Papa=require(_0x691e('0xf'));var Redis=require(_0x691e('0x10'));var authService=require(_0x691e('0x11'));var qs=require(_0x691e('0x12'));var as=require(_0x691e('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x691e('0x14'))(_0x691e('0x15'));var utils=require(_0x691e('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0x691e('0x17'));var db=require(_0x691e('0x18'))['db'];config[_0x691e('0x19')]=_[_0x691e('0x1a')](config['redis'],{'host':'localhost','port':0x18eb});var socket=require(_0x691e('0x1b'))(new Redis(config['redis']));require('./smsAccount.socket')[_0x691e('0x1c')](socket);var jayson=require(_0x691e('0x1d'));var client=jayson[_0x691e('0x1e')][_0x691e('0x1f')]({'port':0x232c});function respondWithRpcPromise(_0x49c524,_0x56e1c4,_0x5c818c,_0x34b7f9){return new BPromise(function(_0x3f5320,_0x563c6b){var _0x51ef99=_0x34b7f9||client;return _0x51ef99[_0x691e('0x20')](_0x49c524,_0x5c818c)[_0x691e('0x21')](function(_0x17dc4b){logger[_0x691e('0x22')](_0x691e('0x23'),_0x56e1c4,'request\x20sent');logger['debug'](_0x691e('0x24'),_0x56e1c4,_0x691e('0x25'),JSON[_0x691e('0x26')](_0x17dc4b));if(_0x17dc4b['error']){if(_0x17dc4b[_0x691e('0x27')]['code']===0x1f4){logger['error']('SmsAccount,\x20%s,\x20%s',_0x56e1c4,_0x17dc4b['error'][_0x691e('0x28')]);return _0x563c6b(_0x17dc4b['error']['message']);}logger[_0x691e('0x27')](_0x691e('0x23'),_0x56e1c4,_0x17dc4b[_0x691e('0x27')][_0x691e('0x28')]);return _0x3f5320(_0x17dc4b[_0x691e('0x27')][_0x691e('0x28')]);}else{logger[_0x691e('0x22')](_0x691e('0x23'),_0x56e1c4,'request\x20sent');_0x3f5320(_0x17dc4b[_0x691e('0x29')][_0x691e('0x28')]);}})[_0x691e('0x2a')](function(_0x10d49f){logger[_0x691e('0x27')]('SmsAccount,\x20%s,\x20%s',_0x56e1c4,_0x10d49f);_0x563c6b(_0x10d49f);});});}function respondWithStatusCode(_0x3dd65d,_0xe92e4d){_0xe92e4d=_0xe92e4d||0xcc;return function(_0x19ccb5){if(_0x19ccb5){return _0x3dd65d[_0x691e('0x2b')](_0xe92e4d);}return _0x3dd65d[_0x691e('0x2c')](_0xe92e4d)[_0x691e('0x2d')]();};}function respondWithResult(_0x479b52,_0x11c847){_0x11c847=_0x11c847||0xc8;return function(_0x1a2a76){if(_0x1a2a76){return _0x479b52[_0x691e('0x2c')](_0x11c847)[_0x691e('0x2e')](_0x1a2a76);}};}function respondWithFilteredResult(_0x35e853,_0x130608){return function(_0x447504){if(_0x447504){var _0x19eeba=typeof _0x130608[_0x691e('0x2f')]===_0x691e('0x30')&&typeof _0x130608[_0x691e('0x31')]==='undefined';var _0x24c109=_0x447504[_0x691e('0x32')];var _0x2f03d8=_0x19eeba?0x0:_0x130608[_0x691e('0x2f')];var _0x5c625b=_0x19eeba?_0x447504[_0x691e('0x32')]:_0x130608['offset']+_0x130608[_0x691e('0x31')];var _0x1af1b9;if(_0x5c625b>=_0x24c109){_0x5c625b=_0x24c109;_0x1af1b9=0xc8;}else{_0x1af1b9=0xce;}_0x35e853[_0x691e('0x2c')](_0x1af1b9);return _0x35e853[_0x691e('0x33')]('Content-Range',_0x2f03d8+'-'+_0x5c625b+'/'+_0x24c109)['json'](_0x447504);}return null;};}function patchUpdates(_0x5f34ac){return function(_0x360b64){try{jsonpatch['apply'](_0x360b64,_0x5f34ac,!![]);}catch(_0x4f6410){return BPromise['reject'](_0x4f6410);}return _0x360b64[_0x691e('0x34')]();};}function saveUpdates(_0x12a34e,_0x188454){return function(_0x2d55f1){if(_0x2d55f1){return _0x2d55f1[_0x691e('0x35')](_0x12a34e)[_0x691e('0x21')](function(_0x45a847){return _0x45a847;});}return null;};}function removeEntity(_0x440867,_0x48c4ef){return function(_0x1d136b){if(_0x1d136b){return _0x1d136b[_0x691e('0x36')]()['then'](function(){var _0x507364=_0x1d136b['get']({'plain':!![]});var _0x9f2722=_0x691e('0x37');return db[_0x691e('0x38')][_0x691e('0x36')]({'where':{'type':_0x9f2722,'resourceId':_0x507364['id']}})[_0x691e('0x21')](function(){return _0x1d136b;});})[_0x691e('0x21')](function(){_0x440867[_0x691e('0x2c')](0xcc)[_0x691e('0x2d')]();});}};}function handleEntityNotFound(_0x30eff6,_0x45df26){return function(_0x366867){if(!_0x366867){_0x30eff6[_0x691e('0x2b')](0x194);}return _0x366867;};}function handleError(_0x37f068,_0xd8a020){_0xd8a020=_0xd8a020||0x1f4;return function(_0x1db77a){logger[_0x691e('0x27')](_0x1db77a['stack']);if(_0x1db77a['name']){delete _0x1db77a[_0x691e('0x39')];}_0x37f068[_0x691e('0x2c')](_0xd8a020)[_0x691e('0x3a')](_0x1db77a);};}exports[_0x691e('0x3b')]=function(_0x4c22f5,_0x11fcd1){var _0x31c56a={'include':[{'model':db[_0x691e('0x3c')],'as':_0x691e('0x3d')}]},_0x2cd36c={},_0x4bbdaa={'count':0x0,'rows':[]};var _0x36f2a7=_[_0x691e('0x3e')](db['SmsAccount'][_0x691e('0x3f')],function(_0x1d5df9){return{'name':_0x1d5df9[_0x691e('0x40')],'type':_0x1d5df9[_0x691e('0x41')][_0x691e('0x42')]};});_0x2cd36c[_0x691e('0x43')]=_[_0x691e('0x3e')](_0x36f2a7,_0x691e('0x39'));_0x2cd36c[_0x691e('0x44')]=_[_0x691e('0x45')](_0x4c22f5[_0x691e('0x44')]);_0x2cd36c[_0x691e('0x46')]=_[_0x691e('0x47')](_0x2cd36c['model'],_0x2cd36c['query']);_0x31c56a['attributes']=_[_0x691e('0x47')](_0x2cd36c[_0x691e('0x43')],qs[_0x691e('0x48')](_0x4c22f5['query'][_0x691e('0x48')]));_0x31c56a[_0x691e('0x49')]=_0x31c56a[_0x691e('0x49')][_0x691e('0x4a')]?_0x31c56a[_0x691e('0x49')]:_0x2cd36c['model'];if(!_0x4c22f5[_0x691e('0x44')][_0x691e('0x4b')](_0x691e('0x4c'))){_0x31c56a[_0x691e('0x31')]=qs[_0x691e('0x31')](_0x4c22f5[_0x691e('0x44')][_0x691e('0x31')]);_0x31c56a[_0x691e('0x2f')]=qs[_0x691e('0x2f')](_0x4c22f5[_0x691e('0x44')][_0x691e('0x2f')]);}_0x31c56a[_0x691e('0x4d')]=qs[_0x691e('0x4e')](_0x4c22f5[_0x691e('0x44')][_0x691e('0x4e')]);_0x31c56a[_0x691e('0x4f')]=qs['filters'](_['pick'](_0x4c22f5[_0x691e('0x44')],_0x2cd36c[_0x691e('0x46')]),_0x36f2a7);if(_0x4c22f5[_0x691e('0x44')][_0x691e('0x50')]){_0x31c56a['where']=_[_0x691e('0x51')](_0x31c56a[_0x691e('0x4f')],{'$or':_[_0x691e('0x3e')](_0x36f2a7,function(_0x433bf1){if(_0x433bf1['type']!=='VIRTUAL'){var _0x3be744={};_0x3be744[_0x433bf1[_0x691e('0x39')]]={'$like':'%'+_0x4c22f5[_0x691e('0x44')][_0x691e('0x50')]+'%'};return _0x3be744;}})});}_0x31c56a=_['merge']({},_0x31c56a,_0x4c22f5['options']);var _0x2059d2={'where':_0x31c56a['where']};return db[_0x691e('0x52')][_0x691e('0x32')](_0x2059d2)[_0x691e('0x21')](function(_0x1b3dae){_0x4bbdaa['count']=_0x1b3dae;if(_0x4c22f5['query'][_0x691e('0x53')]){_0x31c56a[_0x691e('0x54')]=[{'all':!![]}];}return db['SmsAccount'][_0x691e('0x55')](_0x31c56a);})[_0x691e('0x21')](function(_0x262d65){_0x4bbdaa[_0x691e('0x56')]=_0x262d65;return _0x4bbdaa;})[_0x691e('0x21')](respondWithFilteredResult(_0x11fcd1,_0x31c56a))[_0x691e('0x2a')](handleError(_0x11fcd1,null));};exports[_0x691e('0x57')]=function(_0x125eb3,_0x401be8){var _0xa60190={'raw':![],'where':{'id':_0x125eb3[_0x691e('0x58')]['id']},'include':[{'model':db[_0x691e('0x3c')],'as':_0x691e('0x3d')}]},_0x1413b4={};_0x1413b4[_0x691e('0x43')]=_[_0x691e('0x45')](db[_0x691e('0x52')]['rawAttributes']);_0x1413b4[_0x691e('0x44')]=_['keys'](_0x125eb3[_0x691e('0x44')]);_0x1413b4[_0x691e('0x46')]=_['intersection'](_0x1413b4['model'],_0x1413b4[_0x691e('0x44')]);_0xa60190['attributes']=_['intersection'](_0x1413b4[_0x691e('0x43')],qs[_0x691e('0x48')](_0x125eb3[_0x691e('0x44')][_0x691e('0x48')]));_0xa60190[_0x691e('0x49')]=_0xa60190[_0x691e('0x49')][_0x691e('0x4a')]?_0xa60190['attributes']:_0x1413b4[_0x691e('0x43')];if(_0x125eb3['query'][_0x691e('0x53')]){_0xa60190[_0x691e('0x54')]=[{'all':!![]}];}_0xa60190=_[_0x691e('0x51')]({},_0xa60190,_0x125eb3[_0x691e('0x59')]);return db[_0x691e('0x52')][_0x691e('0x5a')](_0xa60190)[_0x691e('0x21')](handleEntityNotFound(_0x401be8,null))[_0x691e('0x21')](respondWithResult(_0x401be8,null))[_0x691e('0x2a')](handleError(_0x401be8,null));};exports['create']=function(_0x204e23,_0x4c1225){return db[_0x691e('0x52')]['create'](_0x204e23[_0x691e('0x5b')],{})[_0x691e('0x21')](function(_0x2fa1c8){var _0x58678b=_0x204e23[_0x691e('0x5c')]['get']({'plain':!![]});if(!_0x58678b)throw new Error(_0x691e('0x5d'));if(_0x58678b[_0x691e('0x5e')]===_0x691e('0x5c')){var _0x44ae2c=_0x2fa1c8[_0x691e('0x5f')]({'plain':!![]});var _0x59d9db=_0x691e('0x37');return db[_0x691e('0x60')][_0x691e('0x5a')]({'where':{'name':_0x59d9db,'userProfileId':_0x58678b['userProfileId']},'raw':!![]})['then'](function(_0x2fd639){if(_0x2fd639&&_0x2fd639[_0x691e('0x61')]===0x0){return db[_0x691e('0x38')]['create']({'name':_0x44ae2c[_0x691e('0x39')],'resourceId':_0x44ae2c['id'],'type':_0x2fd639[_0x691e('0x39')],'sectionId':_0x2fd639['id']},{})[_0x691e('0x21')](function(){return _0x2fa1c8;});}else{return _0x2fa1c8;}})[_0x691e('0x2a')](function(_0x43f3ca){logger[_0x691e('0x27')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x43f3ca);throw _0x43f3ca;});}return _0x2fa1c8;})[_0x691e('0x21')](respondWithResult(_0x4c1225,0xc9))[_0x691e('0x2a')](handleError(_0x4c1225,null));};exports[_0x691e('0x35')]=function(_0x470530,_0x25bffe){if(_0x470530[_0x691e('0x5b')]['id']){delete _0x470530[_0x691e('0x5b')]['id'];}return db[_0x691e('0x52')][_0x691e('0x5a')]({'where':{'id':_0x470530['params']['id']},'include':[{'model':db[_0x691e('0x3c')],'as':_0x691e('0x3d')}]})[_0x691e('0x21')](handleEntityNotFound(_0x25bffe,null))[_0x691e('0x21')](saveUpdates(_0x470530[_0x691e('0x5b')],null))[_0x691e('0x21')](respondWithResult(_0x25bffe,null))[_0x691e('0x2a')](handleError(_0x25bffe,null));};exports['destroy']=function(_0x5b4ee3,_0x28bbbd){return db['SmsAccount'][_0x691e('0x5a')]({'where':{'id':_0x5b4ee3['params']['id']}})[_0x691e('0x21')](handleEntityNotFound(_0x28bbbd,null))[_0x691e('0x21')](removeEntity(_0x28bbbd,null))['catch'](handleError(_0x28bbbd,null));};exports[_0x691e('0x62')]=function(_0x36660e,_0x12211f){return db['SmsAccount'][_0x691e('0x62')]()[_0x691e('0x21')](respondWithResult(_0x12211f,null))[_0x691e('0x2a')](handleError(_0x12211f,null));};exports[_0x691e('0x63')]=function(_0x3bfd68,_0x255227,_0x2ed81b){if(_0x3bfd68[_0x691e('0x5b')]['id']){delete _0x3bfd68[_0x691e('0x5b')]['id'];}return db[_0x691e('0x52')][_0x691e('0x5a')]({'where':{'id':_0x3bfd68[_0x691e('0x58')]['id']}})[_0x691e('0x21')](handleEntityNotFound(_0x255227,null))['then'](function(_0x293e35){if(_0x293e35){_0x3bfd68['body'][_0x691e('0x64')]=_0x293e35['id'];return db['Disposition']['create'](_0x3bfd68[_0x691e('0x5b')]);}})[_0x691e('0x21')](respondWithResult(_0x255227,null))[_0x691e('0x2a')](handleError(_0x255227,null));};exports[_0x691e('0x65')]=function(_0x553681,_0x130d78,_0x1d150f){var _0x21c503={'raw':![],'where':{}};var _0x26f23d={};var _0x24faab={'count':0x0,'rows':[]};return db[_0x691e('0x52')][_0x691e('0x66')]({'where':{'id':_0x553681[_0x691e('0x58')]['id']}})[_0x691e('0x21')](handleEntityNotFound(_0x130d78,null))['then'](function(_0xad1ce4){if(_0xad1ce4){_0x26f23d[_0x691e('0x43')]=_[_0x691e('0x45')](db['Disposition']['rawAttributes']);_0x26f23d[_0x691e('0x44')]=_[_0x691e('0x45')](_0x553681['query']);_0x26f23d['filters']=_['intersection'](_0x26f23d[_0x691e('0x43')],_0x26f23d[_0x691e('0x44')]);_0x21c503['attributes']=_[_0x691e('0x47')](_0x26f23d[_0x691e('0x43')],qs[_0x691e('0x48')](_0x553681[_0x691e('0x44')]['fields']));_0x21c503[_0x691e('0x49')]=_0x21c503[_0x691e('0x49')][_0x691e('0x4a')]?_0x21c503[_0x691e('0x49')]:_0x26f23d[_0x691e('0x43')];if(!_0x553681[_0x691e('0x44')][_0x691e('0x4b')]('nolimit')){_0x21c503[_0x691e('0x31')]=qs[_0x691e('0x31')](_0x553681[_0x691e('0x44')][_0x691e('0x31')]);_0x21c503[_0x691e('0x2f')]=qs[_0x691e('0x2f')](_0x553681['query'][_0x691e('0x2f')]);}_0x21c503[_0x691e('0x4d')]=qs[_0x691e('0x4e')](_0x553681[_0x691e('0x44')][_0x691e('0x4e')]);_0x21c503['where']=qs[_0x691e('0x46')](_[_0x691e('0x67')](_0x553681[_0x691e('0x44')],_0x26f23d[_0x691e('0x46')]));_0x21c503[_0x691e('0x4f')][_0x691e('0x64')]=_0xad1ce4['id'];if(_0x553681[_0x691e('0x44')][_0x691e('0x50')]){_0x21c503[_0x691e('0x4f')]=_[_0x691e('0x51')](_0x21c503[_0x691e('0x4f')],{'$or':_[_0x691e('0x3e')](_0x21c503[_0x691e('0x49')],function(_0x2056de){var _0x4b413e={};_0x4b413e[_0x2056de]={'$like':'%'+_0x553681['query']['filter']+'%'};return _0x4b413e;})});}_0x21c503=_[_0x691e('0x51')]({},_0x21c503,_0x553681[_0x691e('0x59')]);return db['Disposition']['count']({'where':_0x21c503[_0x691e('0x4f')]})[_0x691e('0x21')](function(_0x4ae8c8){_0x24faab[_0x691e('0x32')]=_0x4ae8c8;if(_0x553681[_0x691e('0x44')][_0x691e('0x53')]){_0x21c503[_0x691e('0x54')]=[{'all':!![]}];}return db[_0x691e('0x68')]['findAll'](_0x21c503);})[_0x691e('0x21')](function(_0x4943b3){_0x24faab[_0x691e('0x56')]=_0x4943b3;return _0x24faab;});}})[_0x691e('0x21')](respondWithFilteredResult(_0x130d78,_0x21c503))['catch'](handleError(_0x130d78,null));};exports[_0x691e('0x69')]=function(_0x33d9ed,_0x55cf4e,_0x5f42ce){return db[_0x691e('0x52')][_0x691e('0x5a')]({'where':{'id':_0x33d9ed[_0x691e('0x58')]['id']}})[_0x691e('0x21')](handleEntityNotFound(_0x55cf4e,null))[_0x691e('0x21')](function(_0x5359f5){if(_0x5359f5){return _0x5359f5[_0x691e('0x69')](_0x33d9ed[_0x691e('0x44')]['ids']);}})[_0x691e('0x21')](respondWithStatusCode(_0x55cf4e,null))[_0x691e('0x2a')](handleError(_0x55cf4e,null));};exports['addAnswer']=function(_0x3b1ac1,_0x1d3ac2,_0xbbcb85){if(_0x3b1ac1[_0x691e('0x5b')]['id']){delete _0x3b1ac1[_0x691e('0x5b')]['id'];}return db[_0x691e('0x52')][_0x691e('0x5a')]({'where':{'id':_0x3b1ac1[_0x691e('0x58')]['id']}})[_0x691e('0x21')](handleEntityNotFound(_0x1d3ac2,null))[_0x691e('0x21')](function(_0x4336ac){if(_0x4336ac){_0x3b1ac1[_0x691e('0x5b')]['SmsAccountId']=_0x4336ac['id'];return db[_0x691e('0x6a')][_0x691e('0x6b')](_0x3b1ac1[_0x691e('0x5b')]);}})[_0x691e('0x21')](respondWithResult(_0x1d3ac2,null))[_0x691e('0x2a')](handleError(_0x1d3ac2,null));};exports[_0x691e('0x6c')]=function(_0x165ea6,_0x4147b7,_0x54a5d7){var _0x321967={'raw':![],'where':{}};var _0x515129={};var _0x2cb927={'count':0x0,'rows':[]};return db[_0x691e('0x52')][_0x691e('0x66')]({'where':{'id':_0x165ea6['params']['id']}})[_0x691e('0x21')](handleEntityNotFound(_0x4147b7,null))[_0x691e('0x21')](function(_0x346c41){if(_0x346c41){_0x515129['model']=_['keys'](db[_0x691e('0x6a')][_0x691e('0x3f')]);_0x515129[_0x691e('0x44')]=_['keys'](_0x165ea6[_0x691e('0x44')]);_0x515129[_0x691e('0x46')]=_[_0x691e('0x47')](_0x515129['model'],_0x515129['query']);_0x321967[_0x691e('0x49')]=_[_0x691e('0x47')](_0x515129[_0x691e('0x43')],qs[_0x691e('0x48')](_0x165ea6[_0x691e('0x44')][_0x691e('0x48')]));_0x321967[_0x691e('0x49')]=_0x321967[_0x691e('0x49')][_0x691e('0x4a')]?_0x321967['attributes']:_0x515129['model'];if(!_0x165ea6[_0x691e('0x44')][_0x691e('0x4b')]('nolimit')){_0x321967[_0x691e('0x31')]=qs['limit'](_0x165ea6[_0x691e('0x44')][_0x691e('0x31')]);_0x321967[_0x691e('0x2f')]=qs[_0x691e('0x2f')](_0x165ea6['query'][_0x691e('0x2f')]);}_0x321967[_0x691e('0x4d')]=qs['sort'](_0x165ea6[_0x691e('0x44')][_0x691e('0x4e')]);_0x321967[_0x691e('0x4f')]=qs[_0x691e('0x46')](_[_0x691e('0x67')](_0x165ea6[_0x691e('0x44')],_0x515129[_0x691e('0x46')]));_0x321967[_0x691e('0x4f')]['SmsAccountId']=_0x346c41['id'];if(_0x165ea6[_0x691e('0x44')][_0x691e('0x50')]){_0x321967['where']=_[_0x691e('0x51')](_0x321967[_0x691e('0x4f')],{'$or':_[_0x691e('0x3e')](_0x321967[_0x691e('0x49')],function(_0x2fdbdf){var _0x4859e5={};_0x4859e5[_0x2fdbdf]={'$like':'%'+_0x165ea6[_0x691e('0x44')][_0x691e('0x50')]+'%'};return _0x4859e5;})});}_0x321967=_[_0x691e('0x51')]({},_0x321967,_0x165ea6[_0x691e('0x59')]);return db[_0x691e('0x6a')]['count']({'where':_0x321967[_0x691e('0x4f')]})['then'](function(_0x4d6d42){_0x2cb927['count']=_0x4d6d42;if(_0x165ea6[_0x691e('0x44')][_0x691e('0x53')]){_0x321967['include']=[{'all':!![]}];}return db[_0x691e('0x6a')][_0x691e('0x55')](_0x321967);})[_0x691e('0x21')](function(_0x173d7c){_0x2cb927['rows']=_0x173d7c;return _0x2cb927;});}})[_0x691e('0x21')](respondWithFilteredResult(_0x4147b7,_0x321967))['catch'](handleError(_0x4147b7,null));};exports[_0x691e('0x6d')]=function(_0x1d648f,_0x4b8751,_0x1706fb){return db['SmsAccount'][_0x691e('0x5a')]({'where':{'id':_0x1d648f[_0x691e('0x58')]['id']}})[_0x691e('0x21')](handleEntityNotFound(_0x4b8751,null))['then'](function(_0x35ba01){if(_0x35ba01){return _0x35ba01[_0x691e('0x6d')](_0x1d648f['query'][_0x691e('0x6e')]);}})[_0x691e('0x21')](respondWithStatusCode(_0x4b8751,null))['catch'](handleError(_0x4b8751,null));};exports[_0x691e('0x6f')]=function(_0x3cef59,_0x2ab1ea,_0x5ddc13){var _0x450140={'channel':_0x691e('0x70')};var _0xd9e536=[];var _0x48eef2=[];var _0x891574={};return db[_0x691e('0x52')][_0x691e('0x5a')]({'where':{'id':_0x3cef59['params']['id']},'include':[{'model':db[_0x691e('0x71')],'as':_0x691e('0x72')}]})[_0x691e('0x21')](handleEntityNotFound(_0x2ab1ea,null))[_0x691e('0x21')](function(_0x34e175){_0x450140[_0x691e('0x73')]=_0x34e175;_0x450140[_0x691e('0x74')]=_[_0x691e('0x75')](_0x34e175[_0x691e('0x72')],[_0x691e('0x76')],[_0x691e('0x77')]);if(_0x450140[_0x691e('0x73')][_0x691e('0x72')]){delete _0x450140[_0x691e('0x73')][_0x691e('0x72')];}return db['CmContact']['describe']();})[_0x691e('0x21')](function(_0x3d61ab){if(!_0x3d61ab){throw new db['Sequelize'][(_0x691e('0x78'))](_0x691e('0x79'));}_0xd9e536=_['difference'](_[_0x691e('0x45')](_0x3d61ab),[_0x691e('0x7a'),_0x691e('0x7b')]);_0x48eef2=_[_0x691e('0x7c')](_[_0x691e('0x45')](_0x3d61ab),[_0x691e('0x7a'),_0x691e('0x7b'),_0x691e('0x7d'),_0x691e('0x7e')]);_0x450140['body']={'mapKey':_0x691e('0x7f')};if(_0x450140[_0x691e('0x73')][_0x691e('0x41')]){switch(_0x450140[_0x691e('0x73')]['type']){case'twilio':_0x450140[_0x691e('0x5b')][_0x691e('0x80')]=_0x3cef59['body'][_0x691e('0x81')];_0x450140[_0x691e('0x5b')][_0x691e('0x5b')]=_0x3cef59[_0x691e('0x5b')]['Body'];_0x450140['body']['messageId']=_0x3cef59[_0x691e('0x5b')][_0x691e('0x82')];break;case'skebby':_0x450140['body']['from']='+'+_0x3cef59[_0x691e('0x5b')][_0x691e('0x83')];_0x450140['body']['body']=_0x3cef59['body'][_0x691e('0x84')];break;case'connectel':_0x450140[_0x691e('0x5b')][_0x691e('0x80')]=_0x3cef59[_0x691e('0x5b')][_0x691e('0x80')];_0x450140[_0x691e('0x5b')][_0x691e('0x5b')]=_0x3cef59['body'][_0x691e('0x28')];break;case _0x691e('0x85'):_0x450140[_0x691e('0x5b')][_0x691e('0x80')]=_0x3cef59[_0x691e('0x5b')][_0x691e('0x80')];_0x450140[_0x691e('0x5b')][_0x691e('0x5b')]=_0x3cef59[_0x691e('0x5b')][_0x691e('0x5b')];_0x450140['body'][_0x691e('0x86')]=_0x3cef59[_0x691e('0x5b')][_0x691e('0x87')];break;case _0x691e('0x88'):_0x450140[_0x691e('0x5b')][_0x691e('0x80')]=_0x3cef59['body'][_0x691e('0x81')];_0x450140[_0x691e('0x5b')]['body']=_0x3cef59[_0x691e('0x5b')][_0x691e('0x89')];_0x450140['body'][_0x691e('0x86')]=_0x3cef59[_0x691e('0x5b')][_0x691e('0x8a')];break;case'infobip':_0x450140[_0x691e('0x5b')][_0x691e('0x80')]='+'+_0x3cef59[_0x691e('0x5b')][_0x691e('0x8b')][0x0][_0x691e('0x80')];_0x450140['body'][_0x691e('0x5b')]=_0x3cef59[_0x691e('0x5b')]['results'][0x0][_0x691e('0x84')];_0x450140[_0x691e('0x5b')][_0x691e('0x86')]=_0x3cef59[_0x691e('0x5b')][_0x691e('0x8b')][0x0][_0x691e('0x86')];break;case _0x691e('0x8c'):_0x450140[_0x691e('0x5b')][_0x691e('0x80')]=_0x3cef59['body'][_0x691e('0x8d')];_0x450140[_0x691e('0x5b')][_0x691e('0x5b')]=_0x3cef59['body'][_0x691e('0x8e')]['message'];break;case'clickatell':_0x450140[_0x691e('0x5b')]['from']=_0x3cef59[_0x691e('0x5b')]['fromNumber'];_0x450140[_0x691e('0x5b')]['body']=_0x3cef59[_0x691e('0x5b')]['text'];_0x450140['body']['messageId']=_0x3cef59[_0x691e('0x5b')][_0x691e('0x8f')];break;case _0x691e('0x90'):_0x450140[_0x691e('0x5b')]['messageId']=_0x3cef59[_0x691e('0x5b')][0x0]['message']['id'];_0x450140[_0x691e('0x5b')][_0x691e('0x80')]=_0x3cef59[_0x691e('0x5b')][0x0][_0x691e('0x28')][_0x691e('0x80')];_0x450140[_0x691e('0x5b')]['body']=_0x3cef59['body'][0x0][_0x691e('0x28')][_0x691e('0x84')];break;case _0x691e('0x91'):_0x450140['body'][_0x691e('0x80')]=_0x3cef59[_0x691e('0x5b')][_0x691e('0x80')];_0x450140['body']['body']=_0x3cef59['body']['message'];_0x450140[_0x691e('0x5b')][_0x691e('0x86')]=_0x3cef59[_0x691e('0x5b')][_0x691e('0x92')];break;}}if(_0x450140['body']['id']){delete _0x450140[_0x691e('0x5b')]['id'];}if(_[_0x691e('0x93')](_0x450140['body'][_0x691e('0x80')])){throw new db[(_0x691e('0x94'))][(_0x691e('0x78'))](_0x691e('0x95'));}if(_[_0x691e('0x93')](_0x450140[_0x691e('0x5b')]['body'])||_0x450140[_0x691e('0x5b')][_0x691e('0x5b')]===''){throw new db[(_0x691e('0x94'))][(_0x691e('0x78'))](_0x691e('0x96'));}if(_[_0x691e('0x93')](_0x450140['body']['mapKey'])){throw new db[(_0x691e('0x94'))][(_0x691e('0x78'))]('mapKey\x20is\x20mandatory,\x20please\x20use\x20one\x20of\x20these:\x20'+_0x48eef2);}if(!_[_0x691e('0x97')](_0x48eef2,_0x450140['body'][_0x691e('0x98')])){throw new db[(_0x691e('0x94'))]['ValidationError']('mapKey\x20invalid,\x20please\x20use\x20one\x20of\x20these:\x20'+_0x48eef2);}_0x891574[_0x450140[_0x691e('0x5b')][_0x691e('0x98')]]=_0x450140[_0x691e('0x5b')][_0x691e('0x80')];return db[_0x691e('0x99')][_0x691e('0x5a')]({'where':{'id':_0x450140['account'][_0x691e('0x7e')]},'include':[{'model':db[_0x691e('0x9a')],'as':_0x691e('0x9b'),'where':_0x891574,'limit':0x1,'order':[[_0x691e('0x7b'),_0x691e('0x9c')]]}]});})[_0x691e('0x21')](handleEntityNotFound(_0x2ab1ea,null))[_0x691e('0x21')](function(_0x1a6342){if(_0x1a6342){_0x450140[_0x691e('0x9d')]=_[_0x691e('0x9e')](_0x1a6342,[_0x691e('0x9b')]);if(_0x1a6342['Contacts'][_0x691e('0x4a')]){return _0x1a6342[_0x691e('0x9b')][0x0];}var _0x3889ab=_['defaults'](_0x450140[_0x691e('0x5b')],{'firstName':_0x450140[_0x691e('0x5b')]['from'],'ListId':_0x1a6342['id']});_0x3889ab[_0x450140[_0x691e('0x5b')][_0x691e('0x98')]]=_0x450140[_0x691e('0x5b')]['from'];return db[_0x691e('0x9a')][_0x691e('0x6b')](_0x3889ab,{'fields':_0xd9e536,'raw':!![]});}})['then'](handleEntityNotFound(_0x2ab1ea,null))['then'](function(_0x1a4a46){if(_0x1a4a46){_0x450140[_0x691e('0x9f')]=_0x1a4a46;var _0x4cdfcd={'ContactId':_0x1a4a46['id'],'phone':_0x450140[_0x691e('0x5b')][_0x691e('0x80')],'SmsAccountId':_0x3cef59[_0x691e('0x58')]['id']};var _0x3636d4={'ContactId':_0x1a4a46['id'],'SmsAccountId':_0x3cef59['params']['id'],'closed':![]};return db['SmsInteraction'][_0x691e('0x5a')]({'where':_0x3636d4})[_0x691e('0x21')](function(_0x55637b){if(_0x55637b){return[_0x55637b,![]];}return db[_0x691e('0xa0')]['create'](_0x4cdfcd)[_0x691e('0x21')](function(_0x363e00){return[_0x363e00,!![]];});});}})['spread'](function(_0x236318,_0x15de49){_0x450140[_0x691e('0xa1')]=_0x236318['get']({'plain':!![]});_0x450140[_0x691e('0xa1')][_0x691e('0xa2')]=![];if(_0x15de49){if(_0x450140[_0x691e('0x73')]['autoclose']){_0x450140['applications'][_0x691e('0xa3')]({'id':0x0,'priority':_0x450140[_0x691e('0x74')]['length']+0x1,'app':_0x691e('0xa4'),'appdata':'unmanaged','interval':'*,*,*,*'});}_0x450140[_0x691e('0xa1')][_0x691e('0xa2')]=!![];}return db[_0x691e('0xa5')][_0x691e('0x6b')]({'phone':_0x450140[_0x691e('0x5b')][_0x691e('0x80')],'messageId':_0x450140[_0x691e('0x5b')][_0x691e('0x86')],'body':_0x450140[_0x691e('0x5b')][_0x691e('0x5b')],'SmsAccountId':_0x3cef59['params']['id'],'SmsInteractionId':_0x236318['id'],'direction':'in','ContactId':_0x236318[_0x691e('0xa6')],'AttachmentId':_0x450140[_0x691e('0x5b')][_0x691e('0xa7')]});})['then'](function(_0x406e4e){_0x450140[_0x691e('0x28')]=_0x406e4e;if(_0x450140[_0x691e('0xa1')][_0x691e('0xa8')]){return db['User'][_0x691e('0x5a')]({'attributes':['id','name'],'where':{'id':_0x450140['interaction'][_0x691e('0xa8')]}})[_0x691e('0x21')](function(_0x433b40){if(_0x433b40){_0x450140[_0x691e('0x74')][_0x691e('0xa9')]({'id':0x0,'priority':0x0,'app':_0x691e('0xaa'),'appdata':_0x433b40['name']+','+(_0x450140[_0x691e('0x73')][_0x691e('0xab')]||0xa),'interval':_0x691e('0xac')});}return respondWithRpcPromise(_0x691e('0xad'),_0x691e('0xae'),_0x450140);});}return respondWithRpcPromise(_0x691e('0xad'),_0x691e('0xae'),_0x450140);})[_0x691e('0x21')](function(_0x19aad6){if(_0x19aad6){var _0x3f14b4=0xc8;var _0x407cbe=_0x691e('0xaf');logger[_0x691e('0x22')]('SmsAccount,\x20%s,\x20%s,\x20%s',_0x407cbe,_0x3f14b4,_0x691e('0xb0'));logger[_0x691e('0xb1')]('SmsAccount,\x20%s,\x20%s,\x20%s,\x20%s',_0x407cbe,_0x3f14b4,_0x691e('0xb0'),JSON[_0x691e('0x26')](_0x19aad6));if(_0x450140[_0x691e('0x73')]['type']===_0x691e('0xb2')){return _0x2ab1ea[_0x691e('0x2c')](_0x3f14b4)['set'](_0x691e('0xb3'),_0x691e('0xb4'))['send'](_0x691e('0xb5'));}else{return _0x2ab1ea[_0x691e('0x2c')](_0x3f14b4)['json'](_0x19aad6);}}})['catch'](handleError(_0x2ab1ea,null));};exports[_0x691e('0xb6')]=function(_0x128ba,_0x468d69){var _0x50f26b=_0x128ba[_0x691e('0x58')]['id'];var _0x58b6b9=_0x128ba[_0x691e('0x5b')];var _0x11ffd9=0xc8;var _0x564112=null;return db[_0x691e('0xb7')][_0x691e('0xb8')]({'isolationLevel':db[_0x691e('0xb7')][_0x691e('0xb9')][_0x691e('0xba')][_0x691e('0xbb')]},function(_0x47d31b){return db[_0x691e('0x52')][_0x691e('0x66')]({'where':{'id':_0x50f26b},'transaction':_0x47d31b})[_0x691e('0x21')](function(_0x2f1b96){if(_0x2f1b96){return db['SmsApplication'][_0x691e('0x36')]({'where':{'SmsAccountId':_0x50f26b},'transaction':_0x47d31b})['then'](function(){var _0xb495bb=_[_0x691e('0x3e')](_0x58b6b9,function(_0x1065b8){_0x1065b8[_0x691e('0x64')]=_0x50f26b;return _0x1065b8;});return db[_0x691e('0x71')][_0x691e('0xbc')](_0xb495bb,{'transaction':_0x47d31b});});}else{_0x11ffd9=0x194;_0x564112=[];}});})['then'](function(){if(_0x11ffd9!==0x194){return db[_0x691e('0x71')]['findAndCountAll']({'where':{'SmsAccountId':_0x50f26b},'order':_0x691e('0x76')})['then'](function(_0x288985){_0x564112=_0x288985;});}})[_0x691e('0x2a')](function(_0x159730){_0x11ffd9=0x1f4;logger[_0x691e('0x27')](_0x159730[_0x691e('0xbd')]);if(_0x159730[_0x691e('0x39')]){delete _0x159730[_0x691e('0x39')];}_0x564112=_0x159730;})[_0x691e('0xbe')](function(){if(_0x564112===null){_0x468d69['sendStatus'](_0x11ffd9);}else{if(_0x11ffd9===0x1f4){_0x468d69['status'](_0x11ffd9)[_0x691e('0x3a')](_0x564112);}else{_0x468d69['status'](_0x11ffd9)[_0x691e('0x2e')](_0x564112);}}});};exports[_0x691e('0xbf')]=function(_0x2643cf,_0x2979a5,_0x5cf70b){var _0x2b68c4={};var _0x4d5d4f={};var _0x274f2b;var _0x34133d;return db[_0x691e('0x52')][_0x691e('0x66')]({'where':{'id':_0x2643cf['params']['id']}})[_0x691e('0x21')](handleEntityNotFound(_0x2979a5,null))[_0x691e('0x21')](function(_0x374ec0){if(_0x374ec0){_0x274f2b=_0x374ec0;_0x4d5d4f[_0x691e('0x43')]=_[_0x691e('0x45')](db[_0x691e('0x71')]['rawAttributes']);_0x4d5d4f[_0x691e('0x44')]=_[_0x691e('0x45')](_0x2643cf[_0x691e('0x44')]);_0x4d5d4f[_0x691e('0x46')]=_['intersection'](_0x4d5d4f[_0x691e('0x43')],_0x4d5d4f[_0x691e('0x44')]);_0x2b68c4[_0x691e('0x49')]=_[_0x691e('0x47')](_0x4d5d4f[_0x691e('0x43')],qs[_0x691e('0x48')](_0x2643cf[_0x691e('0x44')]['fields']));_0x2b68c4[_0x691e('0x49')]=_0x2b68c4[_0x691e('0x49')]['length']?_0x2b68c4[_0x691e('0x49')]:_0x4d5d4f[_0x691e('0x43')];_0x2b68c4[_0x691e('0x4d')]=qs[_0x691e('0x4e')](_0x2643cf['query'][_0x691e('0x4e')]);_0x2b68c4['where']=qs[_0x691e('0x46')](_['pick'](_0x2643cf[_0x691e('0x44')],_0x4d5d4f['filters']));if(_0x2643cf[_0x691e('0x44')]['filter']){_0x2b68c4[_0x691e('0x4f')]=_[_0x691e('0x51')](_0x2b68c4['where'],{'$or':_[_0x691e('0x3e')](_0x2b68c4[_0x691e('0x49')],function(_0x52a3c4){var _0x151cad={};_0x151cad[_0x52a3c4]={'$like':'%'+_0x2643cf[_0x691e('0x44')][_0x691e('0x50')]+'%'};return _0x151cad;})});}_0x2b68c4=_[_0x691e('0x51')]({},_0x2b68c4,_0x2643cf[_0x691e('0x59')]);return _0x274f2b[_0x691e('0xbf')](_0x2b68c4);}})['then'](function(_0x4b92b2){if(_0x4b92b2){_0x34133d=_0x4b92b2[_0x691e('0x4a')];if(!_0x2643cf[_0x691e('0x44')]['hasOwnProperty'](_0x691e('0x4c'))){_0x2b68c4[_0x691e('0x31')]=qs[_0x691e('0x31')](_0x2643cf[_0x691e('0x44')]['limit']);_0x2b68c4['offset']=qs['offset'](_0x2643cf[_0x691e('0x44')][_0x691e('0x2f')]);}return _0x274f2b[_0x691e('0xbf')](_0x2b68c4);}})[_0x691e('0x21')](function(_0x52b7a1){if(_0x52b7a1){return _0x52b7a1?{'count':_0x34133d,'rows':_0x52b7a1}:null;}})[_0x691e('0x21')](respondWithResult(_0x2979a5,null))[_0x691e('0x2a')](handleError(_0x2979a5,null));};exports[_0x691e('0xc0')]=function(_0x4b92f9,_0x442a9e,_0x44079a){var _0x3a0607={'raw':![],'where':{}};var _0x9dcb23={};var _0x4b178b={'count':0x0,'rows':[]};return db[_0x691e('0x52')][_0x691e('0x66')]({'where':{'id':_0x4b92f9['params']['id']}})[_0x691e('0x21')](handleEntityNotFound(_0x442a9e,null))[_0x691e('0x21')](function(_0x4ccc39){if(_0x4ccc39){_0x9dcb23[_0x691e('0x43')]=_[_0x691e('0x45')](db[_0x691e('0xa0')][_0x691e('0x3f')]);_0x9dcb23[_0x691e('0x44')]=_[_0x691e('0x45')](_0x4b92f9[_0x691e('0x44')]);_0x9dcb23[_0x691e('0x46')]=_['intersection'](_0x9dcb23[_0x691e('0x43')],_0x9dcb23[_0x691e('0x44')]);_0x3a0607[_0x691e('0x49')]=_['intersection'](_0x9dcb23['model'],qs[_0x691e('0x48')](_0x4b92f9[_0x691e('0x44')][_0x691e('0x48')]));_0x3a0607['attributes']=_0x3a0607['attributes'][_0x691e('0x4a')]?_0x3a0607[_0x691e('0x49')]:_0x9dcb23['model'];if(!_0x4b92f9['query']['hasOwnProperty'](_0x691e('0x4c'))){_0x3a0607[_0x691e('0x31')]=qs['limit'](_0x4b92f9[_0x691e('0x44')]['limit']);_0x3a0607[_0x691e('0x2f')]=qs['offset'](_0x4b92f9['query'][_0x691e('0x2f')]);}_0x3a0607[_0x691e('0x4d')]=qs['sort'](_0x4b92f9[_0x691e('0x44')][_0x691e('0x4e')]);_0x3a0607[_0x691e('0x4f')]=qs[_0x691e('0x46')](_['pick'](_0x4b92f9[_0x691e('0x44')],_0x9dcb23[_0x691e('0x46')]));_0x3a0607['where'][_0x691e('0x64')]=_0x4ccc39['id'];if(_0x4b92f9[_0x691e('0x44')]['filter']){_0x3a0607['where']=_[_0x691e('0x51')](_0x3a0607[_0x691e('0x4f')],{'$or':_[_0x691e('0x3e')](_0x3a0607[_0x691e('0x49')],function(_0x236517){var _0x25d701={};_0x25d701[_0x236517]={'$like':'%'+_0x4b92f9[_0x691e('0x44')][_0x691e('0x50')]+'%'};return _0x25d701;})});}_0x3a0607=_[_0x691e('0x51')]({},_0x3a0607,_0x4b92f9[_0x691e('0x59')]);return db[_0x691e('0xa0')][_0x691e('0x32')]({'where':_0x3a0607[_0x691e('0x4f')]})[_0x691e('0x21')](function(_0xe23975){_0x4b178b[_0x691e('0x32')]=_0xe23975;if(_0x4b92f9['query'][_0x691e('0x53')]){_0x3a0607[_0x691e('0x54')]=[{'model':db[_0x691e('0x9a')],'as':'Contact','required':![]},{'model':db[_0x691e('0xc1')],'as':_0x691e('0xc2'),'attributes':[_0x691e('0x39'),_0x691e('0xc3'),'internal'],'required':![]},{'model':db[_0x691e('0xc4')],'as':_0x691e('0xc5'),'attributes':['id',_0x691e('0x39'),'color'],'where':_0x4b92f9[_0x691e('0x44')]['tag']?{'id':_0x4b92f9[_0x691e('0x44')][_0x691e('0xc6')]}:undefined,'required':_0x4b92f9[_0x691e('0x44')]['tag']?!![]:![]}];}return db['SmsInteraction'][_0x691e('0x55')](_0x3a0607);})['then'](function(_0x22b46c){_0x4b178b['rows']=_0x22b46c;return _0x4b178b;});}})[_0x691e('0x21')](respondWithFilteredResult(_0x442a9e,_0x3a0607))[_0x691e('0x2a')](handleError(_0x442a9e,null));};exports[_0x691e('0x3a')]=function(_0x1e4301,_0x36473f,_0x14acbe){var _0xe80e44,_0x4da17c,_0x5c4bb1;if(_['isNil'](_0x1e4301[_0x691e('0x5b')][_0x691e('0x5b')])||_0x1e4301[_0x691e('0x5b')][_0x691e('0x5b')]===''){throw new db[(_0x691e('0x94'))][(_0x691e('0x78'))](_0x691e('0x96'));}if(_[_0x691e('0x93')](_0x1e4301[_0x691e('0x5b')]['to'])){throw new db[(_0x691e('0x94'))][(_0x691e('0x78'))]('to\x20is\x20mandatory');}_0xe80e44=_0x1e4301[_0x691e('0x5b')]['to'];return db[_0x691e('0x52')][_0x691e('0x5a')]({'where':{'id':_0x1e4301[_0x691e('0x58')]['id']},'include':[{'model':db[_0x691e('0x99')],'as':_0x691e('0xc7'),'include':[{'model':db[_0x691e('0x9a')],'as':'Contacts','where':{'mobile':_0xe80e44},'limit':0x1,'order':[[_0x691e('0x7b'),_0x691e('0x9c')]]}]}]})['then'](handleEntityNotFound(_0x36473f,null))[_0x691e('0x21')](function(_0x4f5df8){if(_0x4f5df8&&_0x4f5df8[_0x691e('0xc7')]){_0x4da17c=_0x4f5df8[_0x691e('0x5f')]({'plain':!![]});if(_0x4da17c[_0x691e('0xc7')]&&_0x4da17c['List']['Contacts'][_0x691e('0x4a')]){return _0x4da17c[_0x691e('0xc7')][_0x691e('0x9b')][0x0];}return db[_0x691e('0x9a')][_0x691e('0x6b')](_['defaults'](_0x1e4301[_0x691e('0x5b')],{'firstName':_0xe80e44,'mobile':_0xe80e44,'phone':_0xe80e44,'ListId':_0x4da17c[_0x691e('0x7e')]}));}})['then'](handleEntityNotFound(_0x36473f,null))[_0x691e('0x21')](function(_0x9a815d){if(_0x9a815d){_0x5c4bb1=_0x9a815d;return db['SmsInteraction']['find']({'where':{'ContactId':_0x5c4bb1['id'],'closed':![],'SmsAccountId':_0x4da17c['id']}})[_0x691e('0x21')](function(_0x1d91b9){if(_0x1d91b9){return[_0x1d91b9,![]];}return db['SmsInteraction']['create']({'UserId':_0x1e4301[_0x691e('0x5c')]['id'],'ContactId':_0x5c4bb1['id'],'SmsAccountId':_0x4da17c['id'],'phone':_0xe80e44,'firstMsgDirection':_0x691e('0xc8'),'Messages':[_['merge'](_0x1e4301[_0x691e('0x5b')],{'read':![],'body':_0x1e4301['body'][_0x691e('0x5b')],'phone':_0xe80e44,'SmsAccountId':_0x4da17c['id'],'UserId':_0x1e4301['user']['id'],'ContactId':_0x5c4bb1['id']})]},{'include':[{'model':db[_0x691e('0xa5')],'as':'Messages'}]})[_0x691e('0x21')](function(_0x1d710b){return[_0x1d710b,!![]];});});}})[_0x691e('0xc9')](function(_0x17a2c8,_0x1dfea0){if(_0x1dfea0){return _0x17a2c8;}return db['SmsMessage']['create'](_[_0x691e('0x51')](_0x1e4301[_0x691e('0x5b')],{'read':![],'body':_0x1e4301[_0x691e('0x5b')][_0x691e('0x5b')],'phone':_0xe80e44,'SmsAccountId':_0x4da17c['id'],'SmsInteractionId':_0x17a2c8['id'],'UserId':_0x1e4301[_0x691e('0x5c')]['id'],'ContactId':_0x5c4bb1['id']}))[_0x691e('0x21')](function(_0x40ebc4){_0x17a2c8[_0x691e('0xca')][_0x691e('0xcb')]=[];_0x17a2c8[_0x691e('0xca')]['Messages']['push'](_0x40ebc4['dataValues']);return _0x17a2c8;});})[_0x691e('0x21')](respondWithResult(_0x36473f,null))[_0x691e('0x2a')](handleError(_0x36473f,null));};exports[_0x691e('0x2c')]=function(_0x1a1f60,_0x5b8720,_0x505e72){if(_0x1a1f60['body']['id']){delete _0x1a1f60['body']['id'];}var _0x57ad09,_0x3f2ea7,_0x406159;return db[_0x691e('0x52')][_0x691e('0x5a')]({'where':{'id':_0x1a1f60[_0x691e('0x58')]['id']}})[_0x691e('0x21')](handleEntityNotFound(_0x5b8720,null))[_0x691e('0x21')](function(_0x4aff64){if(_0x4aff64){_0x406159=_0x4aff64;logger[_0x691e('0xb1')](_0x691e('0x24'),_0x691e('0x2c'),_0x691e('0xcc'),_0x4aff64['type'],util[_0x691e('0xcd')](_0x1a1f60['body'],{'showHidden':![],'depth':null}));switch(_0x4aff64[_0x691e('0x41')]){case _0x691e('0xce'):if(_0x1a1f60[_0x691e('0x5b')]['skebby_dispatch_id']&&_0x1a1f60[_0x691e('0x5b')][_0x691e('0x2c')]){_0x3f2ea7=_0x1a1f60[_0x691e('0x5b')]['status'];return db['SmsMessage'][_0x691e('0x5a')]({'where':{'messageId':_0x1a1f60[_0x691e('0x5b')]['skebby_dispatch_id']}});}break;case _0x691e('0xcf'):if(_0x1a1f60['body'][_0x691e('0xd0')]&&_0x1a1f60['body']['statusInt']){_0x3f2ea7=_0x1a1f60['body']['statusInt'];return db['SmsMessage']['find']({'where':{'messageId':_0x1a1f60[_0x691e('0x5b')][_0x691e('0xd0')]}});}break;case _0x691e('0x85'):if(_0x1a1f60[_0x691e('0x5b')][_0x691e('0x87')]&&_0x1a1f60[_0x691e('0x5b')][_0x691e('0xd1')]){_0x3f2ea7=_0x1a1f60[_0x691e('0x5b')][_0x691e('0xd1')];return db['SmsMessage'][_0x691e('0x5a')]({'where':{'messageId':_0x1a1f60[_0x691e('0x5b')]['message_id']}});}break;case _0x691e('0xd2'):var _0x85df4c=_0x1a1f60[_0x691e('0x5b')][_0x691e('0x8b')][0x0];if(_0x85df4c[_0x691e('0x86')]&&_0x85df4c[_0x691e('0x2c')][_0x691e('0xd3')]===_0x691e('0xd4')){_0x3f2ea7=_0x85df4c[_0x691e('0x2c')][_0x691e('0xd3')];return db['SmsMessage'][_0x691e('0x5a')]({'where':{'messageId':_0x85df4c[_0x691e('0x86')]}});}break;case _0x691e('0xd5'):if(_0x1a1f60[_0x691e('0x5b')][_0x691e('0x86')]&&_0x1a1f60[_0x691e('0x5b')][_0x691e('0x2c')]){_0x3f2ea7=_0x1a1f60[_0x691e('0x5b')]['status'];return db[_0x691e('0xa5')][_0x691e('0x5a')]({'where':{'messageId':_0x1a1f60[_0x691e('0x5b')]['messageId']}});}break;case _0x691e('0x90'):if(_0x1a1f60[_0x691e('0x5b')][0x0][_0x691e('0x28')]['id']){_0x3f2ea7=_0x1a1f60['body'][0x0][_0x691e('0x41')];return db[_0x691e('0xa5')][_0x691e('0x5a')]({'where':{'messageId':_0x1a1f60['body'][0x0][_0x691e('0x28')]['id']}});}break;case _0x691e('0x91'):if(_0x1a1f60['body'][_0x691e('0xd6')]&&_0x1a1f60[_0x691e('0x5b')][_0x691e('0x2c')]){_0x3f2ea7=_0x1a1f60[_0x691e('0x5b')][_0x691e('0x2c')];return db[_0x691e('0xa5')]['find']({'where':{'messageId':_0x1a1f60['body'][_0x691e('0xd6')]}});}break;}}})[_0x691e('0x21')](handleEntityNotFound(_0x5b8720,null))[_0x691e('0x21')](function(_0x4e7c60){if(_0x4e7c60){_0x57ad09=_0x4e7c60;switch(_0x406159['type']){case _0x691e('0xce'):if(_0x3f2ea7==='DELIVERED'){return _0x57ad09[_0x691e('0x35')]({'read':!![]});}else{logger[_0x691e('0x27')](_0x691e('0x24'),_0x691e('0x2c'),_0x691e('0xce'),util['inspect'](_0x1a1f60['body'],{'showHidden':![],'depth':null}));}break;case'connectel':if(_0x3f2ea7==='1'){return _0x57ad09[_0x691e('0x35')]({'read':!![]});}else{logger[_0x691e('0x27')]('SmsAccount,\x20%s,\x20%s,\x20%s',_0x691e('0x2c'),_0x691e('0xce'),util['inspect'](_0x1a1f60[_0x691e('0x5b')],{'showHidden':![],'depth':null}));}break;case'clicksend':if(!_0x1a1f60[_0x691e('0x5b')][_0x691e('0xd7')]&&_0x3f2ea7>=0xc8&&_0x3f2ea7<=0xce){return _0x57ad09[_0x691e('0x35')]({'read':!![]});}else{logger['error'](_0x691e('0x24'),_0x691e('0x2c'),_0x691e('0x85'),util[_0x691e('0xcd')](_0x1a1f60['body'],{'showHidden':![],'depth':null}));}break;case _0x691e('0xd2'):var _0x12c3af=_0x1a1f60[_0x691e('0x5b')]['results'][0x0];if(_0x12c3af[_0x691e('0x2c')][_0x691e('0xd3')]===_0x691e('0xd4')){return _0x57ad09[_0x691e('0x35')]({'read':!![]});}else{logger[_0x691e('0x27')](_0x691e('0x24'),_0x691e('0x2c'),'infobip',util[_0x691e('0xcd')](_0x1a1f60[_0x691e('0x5b')],{'showHidden':![],'depth':null}));}break;case'clickatell':if(_0x3f2ea7==_0x691e('0xd8')||_0x3f2ea7==_0x691e('0xd9')){return _0x57ad09[_0x691e('0x35')]({'read':!![]});}else{logger[_0x691e('0x27')](_0x691e('0x24'),'status',_0x691e('0xd5'),util[_0x691e('0xcd')](_0x1a1f60['body'],{'showHidden':![],'depth':null}));}break;case _0x691e('0x90'):if(_0x3f2ea7=='message-delivered'){return _0x57ad09[_0x691e('0x35')]({'read':!![]});}else{logger['error'](_0x691e('0x24'),_0x691e('0x2c'),_0x691e('0x90'),util[_0x691e('0xcd')](_0x1a1f60[_0x691e('0x5b')],{'showHidden':![],'depth':null}));}break;case'intelepeer':if(_0x3f2ea7===_0x691e('0xda')||_0x3f2ea7===_0x691e('0xdb')){return _0x57ad09[_0x691e('0x35')]({'read':!![]});}else{logger[_0x691e('0x27')](_0x691e('0x24'),_0x691e('0x2c'),'intelepeer',util[_0x691e('0xcd')](_0x1a1f60[_0x691e('0x5b')],{'showHidden':![],'depth':null}));}break;}return _0x57ad09;}})['then'](respondWithResult(_0x5b8720,null))[_0x691e('0x2a')](handleError(_0x5b8720,null));};exports[_0x691e('0xdc')]=function(_0xf158e4,_0x1d7428,_0x206261){var _0x3a67b4,_0x1bca63,_0x215f46;return db[_0x691e('0x52')][_0x691e('0x5a')]({'where':{'id':_0xf158e4['params']['id']}})['then'](handleEntityNotFound(_0x1d7428,null))[_0x691e('0x21')](function(_0xbdd6){if(_0xbdd6){_0x215f46=_0xbdd6;logger[_0x691e('0xb1')](_0x691e('0x24'),_0x691e('0x2c'),'received\x20delivery\x20report\x20from',_0xbdd6[_0x691e('0x41')],util[_0x691e('0xcd')](_0xf158e4[_0x691e('0x44')],{'showHidden':![],'depth':null}));switch(_0xbdd6['type']){case _0x691e('0x8c'):if(_0xf158e4['query'][_0x691e('0xdd')]&&_0xf158e4[_0x691e('0x44')][_0x691e('0xde')]){_0x1bca63=_0xf158e4[_0x691e('0x44')]['state'];return db[_0x691e('0xa5')][_0x691e('0x5a')]({'where':{'messageId':_0xf158e4[_0x691e('0x44')][_0x691e('0xdd')]}});}break;}}})['then'](handleEntityNotFound(_0x1d7428,null))[_0x691e('0x21')](function(_0x57c025){if(_0x57c025){_0x3a67b4=_0x57c025;switch(_0x215f46['type']){case _0x691e('0x8c'):if(_0x1bca63==='2'||_0x1bca63==='6'){return _0x3a67b4[_0x691e('0x35')]({'read':!![]});}else{logger['error'](_0x691e('0x24'),_0x691e('0x2c'),_0x691e('0x8c'),util[_0x691e('0xcd')](_0xf158e4[_0x691e('0x44')],{'showHidden':![],'depth':null}));};break;}return _0x3a67b4;}})[_0x691e('0x21')](respondWithResult(_0x1d7428,null))[_0x691e('0x2a')](handleError(_0x1d7428,null));};exports['addAgents']=function(_0x953ed9,_0xa45d8,_0x3f5cb7){return db[_0x691e('0x52')][_0x691e('0x5a')]({'where':{'id':_0x953ed9['params']['id']}})[_0x691e('0x21')](handleEntityNotFound(_0xa45d8,null))[_0x691e('0x21')](function(_0x280954){if(_0x280954){return _0x280954[_0x691e('0xdf')](_0x953ed9[_0x691e('0x5b')][_0x691e('0x6e')],_[_0x691e('0x9e')](_0x953ed9[_0x691e('0x5b')],['ids','id'])||{})[_0x691e('0xc9')](function(_0x240e8f){for(var _0x37bc82=0x0;_0x37bc82<_0x953ed9[_0x691e('0x5b')][_0x691e('0x6e')][_0x691e('0x4a')];_0x37bc82+=0x1){socket[_0x691e('0xe0')](_0x691e('0xe1'),{'UserId':Number(_0x953ed9[_0x691e('0x5b')][_0x691e('0x6e')][_0x37bc82]),'SmsAccountId':Number(_0x953ed9['params']['id'])});}return _0x240e8f;});}})[_0x691e('0x21')](respondWithResult(_0xa45d8,null))[_0x691e('0x2a')](handleError(_0xa45d8,null));};exports[_0x691e('0xe2')]=function(_0x328bcc,_0x381b72,_0x75fd3d){return db['SmsAccount']['find']({'where':{'id':_0x328bcc['params']['id']}})[_0x691e('0x21')](handleEntityNotFound(_0x381b72,null))[_0x691e('0x21')](function(_0x28a0ce){if(_0x28a0ce){return _0x28a0ce[_0x691e('0xe2')](_0x328bcc[_0x691e('0x44')][_0x691e('0x6e')])['then'](function(){if(_[_0x691e('0xe3')](_0x328bcc[_0x691e('0x44')]['ids'])){for(var _0x4cbd1c=0x0;_0x4cbd1c<_0x328bcc[_0x691e('0x44')][_0x691e('0x6e')][_0x691e('0x4a')];_0x4cbd1c+=0x1){socket[_0x691e('0xe0')](_0x691e('0xe4'),{'UserId':Number(_0x328bcc[_0x691e('0x44')][_0x691e('0x6e')][_0x4cbd1c]),'SmsAccountId':Number(_0x328bcc[_0x691e('0x58')]['id'])});}}else{socket['emit']('userSmsAccount:remove',{'UserId':Number(_0x328bcc['query'][_0x691e('0x6e')]),'SmsAccountId':Number(_0x328bcc['params']['id'])});}});}})[_0x691e('0x21')](respondWithStatusCode(_0x381b72,null))[_0x691e('0x2a')](handleError(_0x381b72,null));};exports['getAgents']=function(_0x18b256,_0x101b39,_0x1267bf){var _0x3144b4={};var _0x2ecf34={};var _0x5688d6;var _0x675028;return db[_0x691e('0x52')][_0x691e('0x66')]({'where':{'id':_0x18b256[_0x691e('0x58')]['id']}})[_0x691e('0x21')](handleEntityNotFound(_0x101b39,null))[_0x691e('0x21')](function(_0x3117f6){if(_0x3117f6){_0x5688d6=_0x3117f6;_0x2ecf34['model']=_['keys'](db[_0x691e('0xc1')][_0x691e('0x3f')]);_0x2ecf34['query']=_[_0x691e('0x45')](_0x18b256['query']);_0x2ecf34[_0x691e('0x46')]=_[_0x691e('0x47')](_0x2ecf34[_0x691e('0x43')],_0x2ecf34[_0x691e('0x44')]);_0x3144b4['attributes']=_['intersection'](_0x2ecf34[_0x691e('0x43')],qs['fields'](_0x18b256[_0x691e('0x44')][_0x691e('0x48')]));_0x3144b4[_0x691e('0x49')]=_0x3144b4[_0x691e('0x49')][_0x691e('0x4a')]?_0x3144b4[_0x691e('0x49')]:_0x2ecf34['model'];_0x3144b4['order']=qs[_0x691e('0x4e')](_0x18b256[_0x691e('0x44')][_0x691e('0x4e')]);_0x3144b4[_0x691e('0x4f')]=qs[_0x691e('0x46')](_[_0x691e('0x67')](_0x18b256['query'],_0x2ecf34['filters']));if(_0x18b256[_0x691e('0x44')][_0x691e('0x50')]){_0x3144b4[_0x691e('0x4f')]=_['merge'](_0x3144b4[_0x691e('0x4f')],{'$or':_['map'](_0x3144b4[_0x691e('0x49')],function(_0x12396c){var _0x485dc2={};_0x485dc2[_0x12396c]={'$like':'%'+_0x18b256[_0x691e('0x44')][_0x691e('0x50')]+'%'};return _0x485dc2;})});}_0x3144b4=_[_0x691e('0x51')]({},_0x3144b4,_0x18b256[_0x691e('0x59')]);return _0x5688d6[_0x691e('0xe5')](_0x3144b4);}})[_0x691e('0x21')](function(_0x18df8b){if(_0x18df8b){_0x675028=_0x18df8b['length'];if(!_0x18b256[_0x691e('0x44')][_0x691e('0x4b')]('nolimit')){_0x3144b4['limit']=qs[_0x691e('0x31')](_0x18b256['query']['limit']);_0x3144b4[_0x691e('0x2f')]=qs['offset'](_0x18b256['query']['offset']);}return _0x5688d6['getAgents'](_0x3144b4);}})[_0x691e('0x21')](function(_0x1f44a5){if(_0x1f44a5){return _0x1f44a5?{'count':_0x675028,'rows':_0x1f44a5}:null;}})[_0x691e('0x21')](respondWithResult(_0x101b39,null))[_0x691e('0x2a')](handleError(_0x101b39,null));};