1c88bb186d4d0b2e33032d6e344bbf4f1e5e75c8
[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 _0x338e=['addApplications','sequelize','transaction','bulkCreate','getApplications','hasOwnProperty','getInteractions','order','Contact','User','internal','Tag','Tags','color','tag','to\x20is\x20mandatory','List','Messages','dataValues','endpoint\x20/status\x20POST\x20/','inspect','skebby_dispatch_id','statusInt','requestid','clicksend','status_code','DELIVERED','groupName','intelepeer','redif','DELIVERED_TO_GATEWAY','ACCEPTD','statusGet','message-id','state','addAgents','userSmsAccount:save','removeAgents','isArray','userSmsAccount:remove','emit','getAgents','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','ejs','lodash','crypto','jsforce','desk.js','to-csv','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','defaults','redis','localhost','socket.io-emitter','./smsAccount.socket','register','jayson/promise','client','http','request','then','info','debug','SmsAccount,\x20%s,\x20%s,\x20%s','request\x20sent','stringify','error','message','SmsAccount,\x20%s,\x20%s','result','catch','sendStatus','status','end','offset','set','Content-Range','json','reject','save','destroy','SmsAccounts','UserProfileResource','stack','name','send','index','Pause','map','type','key','model','query','keys','filters','intersection','attributes','fields','length','nolimit','limit','sort','where','pick','filter','merge','VIRTUAL','SmsAccount','count','includeAll','include','findAll','rows','show','params','mandatoryDispositionPause','rawAttributes','options','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','describe','SmsAccountId','Disposition','getDispositions','findOne','removeDispositions','ids','getAnswers','CannedAnswer','removeAnswers','sms','SmsApplication','Applications','account','applications','priority','asc','CmContact','Sequelize','ValidationError','no\x20available\x20attributes','difference','updatedAt','createdAt','ListId','twilio','from','From','messageId','MessageSid','skebby','text','connectel','message_id','Text','MessageUUID','infobip','results','originatingAddress','segmentedMessage','clickatell','fromNumber','replyMessageId','refid','from\x20is\x20mandatory','isNil','body\x20is\x20mandatory\x20and\x20not\x20empty','mapKey','includes','mapKey\x20invalid,\x20please\x20use\x20one\x20of\x20these:\x20','CmList','DESC','list','omit','Contacts','SmsInteraction','spread','interaction','get','created','autoclose','push','close','unmanaged','*,*,*,*','SmsMessage','AttachmentId','UserId','unshift','agent','Start','startRouting','receiveMessage','entity\x20found','SmsAccount,\x20%s,\x20%s,\x20%s,\x20%s','Content-Type','text/xml','<?xml\x20version=\x221.0\x22\x20encoding=\x22UTF-8\x22?>\x0a<Response></Response>'];(function(_0x164155,_0x2e549d){var _0x1d4e1f=function(_0x23730e){while(--_0x23730e){_0x164155['push'](_0x164155['shift']());}};_0x1d4e1f(++_0x2e549d);}(_0x338e,0x1e6));var _0xe338=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x338e[_0x3dd15e];return _0x231fd0;};'use strict';var pdf=require(_0xe338('0x0'));var emlformat=require(_0xe338('0x1'));var rimraf=require(_0xe338('0x2'));var zipdir=require(_0xe338('0x3'));var jsonpatch=require(_0xe338('0x4'));var rp=require(_0xe338('0x5'));var moment=require(_0xe338('0x6'));var BPromise=require(_0xe338('0x7'));var Mustache=require(_0xe338('0x8'));var util=require('util');var path=require(_0xe338('0x9'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xe338('0xa'));var fs=require('fs');var _=require(_0xe338('0xb'));var squel=require('squel');var crypto=require(_0xe338('0xc'));var jsforce=require(_0xe338('0xd'));var deskjs=require(_0xe338('0xe'));var toCsv=require(_0xe338('0xf'));var querystring=require('querystring');var Papa=require(_0xe338('0x10'));var Redis=require(_0xe338('0x11'));var authService=require(_0xe338('0x12'));var qs=require(_0xe338('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xe338('0x14'));var logger=require('../../config/logger')(_0xe338('0x15'));var utils=require(_0xe338('0x16'));var config=require(_0xe338('0x17'));var licenseUtil=require(_0xe338('0x18'));var db=require('../../mysqldb')['db'];config['redis']=_[_0xe338('0x19')](config[_0xe338('0x1a')],{'host':_0xe338('0x1b'),'port':0x18eb});var socket=require(_0xe338('0x1c'))(new Redis(config['redis']));require(_0xe338('0x1d'))[_0xe338('0x1e')](socket);var jayson=require(_0xe338('0x1f'));var client=jayson[_0xe338('0x20')][_0xe338('0x21')]({'port':0x232c});function respondWithRpcPromise(_0x460f3f,_0x304463,_0x4ba1d9,_0x268134){return new BPromise(function(_0x5c029f,_0x183448){var _0x45f5f2=_0x268134||client;return _0x45f5f2[_0xe338('0x22')](_0x460f3f,_0x4ba1d9)[_0xe338('0x23')](function(_0x4e1c5f){logger[_0xe338('0x24')]('SmsAccount,\x20%s,\x20%s',_0x304463,'request\x20sent');logger[_0xe338('0x25')](_0xe338('0x26'),_0x304463,_0xe338('0x27'),JSON[_0xe338('0x28')](_0x4e1c5f));if(_0x4e1c5f['error']){if(_0x4e1c5f[_0xe338('0x29')]['code']===0x1f4){logger['error']('SmsAccount,\x20%s,\x20%s',_0x304463,_0x4e1c5f[_0xe338('0x29')][_0xe338('0x2a')]);return _0x183448(_0x4e1c5f[_0xe338('0x29')][_0xe338('0x2a')]);}logger['error'](_0xe338('0x2b'),_0x304463,_0x4e1c5f[_0xe338('0x29')][_0xe338('0x2a')]);return _0x5c029f(_0x4e1c5f[_0xe338('0x29')][_0xe338('0x2a')]);}else{logger['info'](_0xe338('0x2b'),_0x304463,'request\x20sent');_0x5c029f(_0x4e1c5f[_0xe338('0x2c')][_0xe338('0x2a')]);}})[_0xe338('0x2d')](function(_0x20e3ee){logger['error'](_0xe338('0x2b'),_0x304463,_0x20e3ee);_0x183448(_0x20e3ee);});});}function respondWithStatusCode(_0x498a5b,_0x2108b3){_0x2108b3=_0x2108b3||0xcc;return function(_0x1bf945){if(_0x1bf945){return _0x498a5b[_0xe338('0x2e')](_0x2108b3);}return _0x498a5b[_0xe338('0x2f')](_0x2108b3)[_0xe338('0x30')]();};}function respondWithResult(_0x5bef20,_0x1a306a){_0x1a306a=_0x1a306a||0xc8;return function(_0x15a3ab){if(_0x15a3ab){return _0x5bef20['status'](_0x1a306a)['json'](_0x15a3ab);}};}function respondWithFilteredResult(_0x1f9df2,_0x302679){return function(_0xf24ba2){if(_0xf24ba2){var _0x31905e=_0xf24ba2['count'],_0x193eac=_0x302679[_0xe338('0x31')],_0x878755=_0x302679[_0xe338('0x31')]+_0x302679['limit'],_0x14ec00;if(_0x878755>=_0x31905e){_0x878755=_0x31905e;_0x14ec00=0xc8;}else{_0x14ec00=0xce;}_0x1f9df2[_0xe338('0x2f')](_0x14ec00);return _0x1f9df2[_0xe338('0x32')](_0xe338('0x33'),_0x193eac+'-'+_0x878755+'/'+_0x31905e)[_0xe338('0x34')](_0xf24ba2);}return null;};}function patchUpdates(_0x36b736){return function(_0x8d7143){try{jsonpatch['apply'](_0x8d7143,_0x36b736,!![]);}catch(_0x3a9269){return BPromise[_0xe338('0x35')](_0x3a9269);}return _0x8d7143[_0xe338('0x36')]();};}function saveUpdates(_0xc15251,_0xb4ff8d){return function(_0x3d1aca){if(_0x3d1aca){return _0x3d1aca['update'](_0xc15251)[_0xe338('0x23')](function(_0x581d0a){return _0x581d0a;});}return null;};}function removeEntity(_0x3fc0fd,_0x4d8f62){return function(_0x3600e8){if(_0x3600e8){return _0x3600e8[_0xe338('0x37')]()[_0xe338('0x23')](function(){var _0xb64f37=_0x3600e8['get']({'plain':!![]});var _0x3b1b9c=_0xe338('0x38');return db[_0xe338('0x39')][_0xe338('0x37')]({'where':{'type':_0x3b1b9c,'resourceId':_0xb64f37['id']}})[_0xe338('0x23')](function(){return _0x3600e8;});})[_0xe338('0x23')](function(){_0x3fc0fd[_0xe338('0x2f')](0xcc)[_0xe338('0x30')]();});}};}function handleEntityNotFound(_0x1293e9,_0x2fa351){return function(_0x4a5ed1){if(!_0x4a5ed1){_0x1293e9['sendStatus'](0x194);}return _0x4a5ed1;};}function handleError(_0x366f76,_0x74fe4d){_0x74fe4d=_0x74fe4d||0x1f4;return function(_0x15bf77){logger[_0xe338('0x29')](_0x15bf77[_0xe338('0x3a')]);if(_0x15bf77['name']){delete _0x15bf77[_0xe338('0x3b')];}_0x366f76['status'](_0x74fe4d)[_0xe338('0x3c')](_0x15bf77);};}exports[_0xe338('0x3d')]=function(_0x364a1b,_0x32b3b9){var _0x566e6b={'include':[{'model':db[_0xe338('0x3e')],'as':'mandatoryDispositionPause'}]},_0x5ba503={},_0x41724f={'count':0x0,'rows':[]};var _0x454f8e=_[_0xe338('0x3f')](db['SmsAccount']['rawAttributes'],function(_0x54a2e8){return{'name':_0x54a2e8['fieldName'],'type':_0x54a2e8[_0xe338('0x40')][_0xe338('0x41')]};});_0x5ba503[_0xe338('0x42')]=_['map'](_0x454f8e,_0xe338('0x3b'));_0x5ba503[_0xe338('0x43')]=_[_0xe338('0x44')](_0x364a1b[_0xe338('0x43')]);_0x5ba503[_0xe338('0x45')]=_[_0xe338('0x46')](_0x5ba503[_0xe338('0x42')],_0x5ba503[_0xe338('0x43')]);_0x566e6b[_0xe338('0x47')]=_[_0xe338('0x46')](_0x5ba503[_0xe338('0x42')],qs['fields'](_0x364a1b[_0xe338('0x43')][_0xe338('0x48')]));_0x566e6b[_0xe338('0x47')]=_0x566e6b['attributes'][_0xe338('0x49')]?_0x566e6b[_0xe338('0x47')]:_0x5ba503[_0xe338('0x42')];if(!_0x364a1b[_0xe338('0x43')]['hasOwnProperty'](_0xe338('0x4a'))){_0x566e6b[_0xe338('0x4b')]=qs[_0xe338('0x4b')](_0x364a1b['query'][_0xe338('0x4b')]);_0x566e6b['offset']=qs[_0xe338('0x31')](_0x364a1b['query']['offset']);}_0x566e6b['order']=qs[_0xe338('0x4c')](_0x364a1b[_0xe338('0x43')]['sort']);_0x566e6b[_0xe338('0x4d')]=qs[_0xe338('0x45')](_[_0xe338('0x4e')](_0x364a1b['query'],_0x5ba503[_0xe338('0x45')]),_0x454f8e);if(_0x364a1b[_0xe338('0x43')][_0xe338('0x4f')]){_0x566e6b[_0xe338('0x4d')]=_[_0xe338('0x50')](_0x566e6b['where'],{'$or':_[_0xe338('0x3f')](_0x454f8e,function(_0x1a7eae){if(_0x1a7eae[_0xe338('0x40')]!==_0xe338('0x51')){var _0x47722a={};_0x47722a[_0x1a7eae[_0xe338('0x3b')]]={'$like':'%'+_0x364a1b[_0xe338('0x43')][_0xe338('0x4f')]+'%'};return _0x47722a;}})});}_0x566e6b=_[_0xe338('0x50')]({},_0x566e6b,_0x364a1b['options']);var _0x995561={'where':_0x566e6b[_0xe338('0x4d')]};return db[_0xe338('0x52')][_0xe338('0x53')](_0x995561)['then'](function(_0xc2c02b){_0x41724f[_0xe338('0x53')]=_0xc2c02b;if(_0x364a1b['query'][_0xe338('0x54')]){_0x566e6b[_0xe338('0x55')]=[{'all':!![]}];}return db['SmsAccount'][_0xe338('0x56')](_0x566e6b);})[_0xe338('0x23')](function(_0x7ca88a){_0x41724f[_0xe338('0x57')]=_0x7ca88a;return _0x41724f;})[_0xe338('0x23')](respondWithFilteredResult(_0x32b3b9,_0x566e6b))[_0xe338('0x2d')](handleError(_0x32b3b9,null));};exports[_0xe338('0x58')]=function(_0x4fe3d6,_0x252970){var _0x3e8926={'raw':![],'where':{'id':_0x4fe3d6[_0xe338('0x59')]['id']},'include':[{'model':db[_0xe338('0x3e')],'as':_0xe338('0x5a')}]},_0x6baa6d={};_0x6baa6d['model']=_[_0xe338('0x44')](db[_0xe338('0x52')][_0xe338('0x5b')]);_0x6baa6d['query']=_['keys'](_0x4fe3d6[_0xe338('0x43')]);_0x6baa6d['filtears']=_['intersection'](_0x6baa6d['model'],_0x6baa6d[_0xe338('0x43')]);_0x3e8926[_0xe338('0x47')]=_[_0xe338('0x46')](_0x6baa6d[_0xe338('0x42')],qs[_0xe338('0x48')](_0x4fe3d6[_0xe338('0x43')]['fields']));_0x3e8926[_0xe338('0x47')]=_0x3e8926[_0xe338('0x47')][_0xe338('0x49')]?_0x3e8926[_0xe338('0x47')]:_0x6baa6d[_0xe338('0x42')];if(_0x4fe3d6[_0xe338('0x43')][_0xe338('0x54')]){_0x3e8926['include']=[{'all':!![]}];}_0x3e8926=_[_0xe338('0x50')]({},_0x3e8926,_0x4fe3d6[_0xe338('0x5c')]);return db[_0xe338('0x52')][_0xe338('0x5d')](_0x3e8926)[_0xe338('0x23')](handleEntityNotFound(_0x252970,null))[_0xe338('0x23')](respondWithResult(_0x252970,null))['catch'](handleError(_0x252970,null));};exports['create']=function(_0x56a8ea,_0x4d9757){return db['SmsAccount'][_0xe338('0x5e')](_0x56a8ea[_0xe338('0x5f')],{})[_0xe338('0x23')](function(_0x390c95){var _0x14eaba=_0x56a8ea[_0xe338('0x60')]['get']({'plain':!![]});if(!_0x14eaba)throw new Error(_0xe338('0x61'));if(_0x14eaba['role']==='user'){var _0x30c460=_0x390c95['get']({'plain':!![]});var _0x278e78=_0xe338('0x38');return db[_0xe338('0x62')][_0xe338('0x5d')]({'where':{'name':_0x278e78,'userProfileId':_0x14eaba[_0xe338('0x63')]},'raw':!![]})[_0xe338('0x23')](function(_0x50fe05){if(_0x50fe05&&_0x50fe05['autoAssociation']===0x0){return db[_0xe338('0x39')]['create']({'name':_0x30c460[_0xe338('0x3b')],'resourceId':_0x30c460['id'],'type':_0x50fe05[_0xe338('0x3b')],'sectionId':_0x50fe05['id']},{})['then'](function(){return _0x390c95;});}else{return _0x390c95;}})[_0xe338('0x2d')](function(_0x394314){logger[_0xe338('0x29')](_0xe338('0x64'),_0x394314);throw _0x394314;});}return _0x390c95;})['then'](respondWithResult(_0x4d9757,0xc9))[_0xe338('0x2d')](handleError(_0x4d9757,null));};exports[_0xe338('0x65')]=function(_0x29f476,_0x217e41){if(_0x29f476[_0xe338('0x5f')]['id']){delete _0x29f476[_0xe338('0x5f')]['id'];}return db[_0xe338('0x52')][_0xe338('0x5d')]({'where':{'id':_0x29f476[_0xe338('0x59')]['id']},'include':[{'model':db[_0xe338('0x3e')],'as':_0xe338('0x5a')}]})['then'](handleEntityNotFound(_0x217e41,null))['then'](saveUpdates(_0x29f476['body'],null))[_0xe338('0x23')](respondWithResult(_0x217e41,null))['catch'](handleError(_0x217e41,null));};exports[_0xe338('0x37')]=function(_0x4f397f,_0x456919){return db[_0xe338('0x52')][_0xe338('0x5d')]({'where':{'id':_0x4f397f['params']['id']}})[_0xe338('0x23')](handleEntityNotFound(_0x456919,null))[_0xe338('0x23')](removeEntity(_0x456919,null))[_0xe338('0x2d')](handleError(_0x456919,null));};exports['describe']=function(_0x44999d,_0x2fe77e){return db[_0xe338('0x52')][_0xe338('0x66')]()[_0xe338('0x23')](respondWithResult(_0x2fe77e,null))[_0xe338('0x2d')](handleError(_0x2fe77e,null));};exports['addDisposition']=function(_0x1279fb,_0x508723,_0x27ba3c){if(_0x1279fb[_0xe338('0x5f')]['id']){delete _0x1279fb[_0xe338('0x5f')]['id'];}return db[_0xe338('0x52')][_0xe338('0x5d')]({'where':{'id':_0x1279fb[_0xe338('0x59')]['id']}})[_0xe338('0x23')](handleEntityNotFound(_0x508723,null))[_0xe338('0x23')](function(_0x54cbf8){if(_0x54cbf8){_0x1279fb[_0xe338('0x5f')][_0xe338('0x67')]=_0x54cbf8['id'];return db[_0xe338('0x68')][_0xe338('0x5e')](_0x1279fb[_0xe338('0x5f')]);}})['then'](respondWithResult(_0x508723,null))[_0xe338('0x2d')](handleError(_0x508723,null));};exports[_0xe338('0x69')]=function(_0x749c6e,_0x357c2e,_0x17cd3b){var _0x4be6b4={'raw':![],'where':{}};var _0xbaf583={};var _0x25fd04={'count':0x0,'rows':[]};return db['SmsAccount'][_0xe338('0x6a')]({'where':{'id':_0x749c6e[_0xe338('0x59')]['id']}})[_0xe338('0x23')](handleEntityNotFound(_0x357c2e,null))[_0xe338('0x23')](function(_0x111952){if(_0x111952){_0xbaf583[_0xe338('0x42')]=_['keys'](db[_0xe338('0x68')][_0xe338('0x5b')]);_0xbaf583[_0xe338('0x43')]=_[_0xe338('0x44')](_0x749c6e[_0xe338('0x43')]);_0xbaf583[_0xe338('0x45')]=_[_0xe338('0x46')](_0xbaf583[_0xe338('0x42')],_0xbaf583[_0xe338('0x43')]);_0x4be6b4[_0xe338('0x47')]=_['intersection'](_0xbaf583['model'],qs['fields'](_0x749c6e[_0xe338('0x43')][_0xe338('0x48')]));_0x4be6b4[_0xe338('0x47')]=_0x4be6b4[_0xe338('0x47')][_0xe338('0x49')]?_0x4be6b4[_0xe338('0x47')]:_0xbaf583[_0xe338('0x42')];if(!_0x749c6e[_0xe338('0x43')]['hasOwnProperty']('nolimit')){_0x4be6b4[_0xe338('0x4b')]=qs[_0xe338('0x4b')](_0x749c6e[_0xe338('0x43')][_0xe338('0x4b')]);_0x4be6b4[_0xe338('0x31')]=qs['offset'](_0x749c6e[_0xe338('0x43')][_0xe338('0x31')]);}_0x4be6b4['order']=qs['sort'](_0x749c6e[_0xe338('0x43')][_0xe338('0x4c')]);_0x4be6b4['where']=qs[_0xe338('0x45')](_['pick'](_0x749c6e['query'],_0xbaf583[_0xe338('0x45')]));_0x4be6b4[_0xe338('0x4d')][_0xe338('0x67')]=_0x111952['id'];if(_0x749c6e['query'][_0xe338('0x4f')]){_0x4be6b4[_0xe338('0x4d')]=_['merge'](_0x4be6b4[_0xe338('0x4d')],{'$or':_[_0xe338('0x3f')](_0x4be6b4[_0xe338('0x47')],function(_0x38100a){var _0x1c6990={};_0x1c6990[_0x38100a]={'$like':'%'+_0x749c6e['query'][_0xe338('0x4f')]+'%'};return _0x1c6990;})});}_0x4be6b4=_['merge']({},_0x4be6b4,_0x749c6e[_0xe338('0x5c')]);return db[_0xe338('0x68')][_0xe338('0x53')]({'where':_0x4be6b4[_0xe338('0x4d')]})[_0xe338('0x23')](function(_0x3914ed){_0x25fd04[_0xe338('0x53')]=_0x3914ed;if(_0x749c6e[_0xe338('0x43')][_0xe338('0x54')]){_0x4be6b4[_0xe338('0x55')]=[{'all':!![]}];}return db[_0xe338('0x68')][_0xe338('0x56')](_0x4be6b4);})[_0xe338('0x23')](function(_0x4aeabc){_0x25fd04[_0xe338('0x57')]=_0x4aeabc;return _0x25fd04;});}})[_0xe338('0x23')](respondWithFilteredResult(_0x357c2e,_0x4be6b4))['catch'](handleError(_0x357c2e,null));};exports[_0xe338('0x6b')]=function(_0x5d266a,_0x5cfa07,_0x48437a){return db[_0xe338('0x52')][_0xe338('0x5d')]({'where':{'id':_0x5d266a[_0xe338('0x59')]['id']}})['then'](handleEntityNotFound(_0x5cfa07,null))[_0xe338('0x23')](function(_0x4eb306){if(_0x4eb306){return _0x4eb306[_0xe338('0x6b')](_0x5d266a[_0xe338('0x43')][_0xe338('0x6c')]);}})['then'](respondWithStatusCode(_0x5cfa07,null))[_0xe338('0x2d')](handleError(_0x5cfa07,null));};exports['addAnswer']=function(_0x2c84e9,_0x171ef7,_0x1a4de6){if(_0x2c84e9['body']['id']){delete _0x2c84e9[_0xe338('0x5f')]['id'];}return db[_0xe338('0x52')][_0xe338('0x5d')]({'where':{'id':_0x2c84e9[_0xe338('0x59')]['id']}})[_0xe338('0x23')](handleEntityNotFound(_0x171ef7,null))[_0xe338('0x23')](function(_0x19966d){if(_0x19966d){_0x2c84e9[_0xe338('0x5f')]['SmsAccountId']=_0x19966d['id'];return db['CannedAnswer']['create'](_0x2c84e9[_0xe338('0x5f')]);}})[_0xe338('0x23')](respondWithResult(_0x171ef7,null))['catch'](handleError(_0x171ef7,null));};exports[_0xe338('0x6d')]=function(_0x21df4d,_0xcad021,_0x13d095){var _0xb4a84d={'raw':![],'where':{}};var _0x5066e8={};var _0x4b6417={'count':0x0,'rows':[]};return db['SmsAccount'][_0xe338('0x6a')]({'where':{'id':_0x21df4d[_0xe338('0x59')]['id']}})[_0xe338('0x23')](handleEntityNotFound(_0xcad021,null))[_0xe338('0x23')](function(_0x5140ca){if(_0x5140ca){_0x5066e8[_0xe338('0x42')]=_[_0xe338('0x44')](db['CannedAnswer'][_0xe338('0x5b')]);_0x5066e8[_0xe338('0x43')]=_[_0xe338('0x44')](_0x21df4d['query']);_0x5066e8['filters']=_[_0xe338('0x46')](_0x5066e8['model'],_0x5066e8['query']);_0xb4a84d['attributes']=_['intersection'](_0x5066e8[_0xe338('0x42')],qs['fields'](_0x21df4d[_0xe338('0x43')]['fields']));_0xb4a84d[_0xe338('0x47')]=_0xb4a84d[_0xe338('0x47')]['length']?_0xb4a84d[_0xe338('0x47')]:_0x5066e8[_0xe338('0x42')];if(!_0x21df4d[_0xe338('0x43')]['hasOwnProperty'](_0xe338('0x4a'))){_0xb4a84d[_0xe338('0x4b')]=qs[_0xe338('0x4b')](_0x21df4d['query'][_0xe338('0x4b')]);_0xb4a84d['offset']=qs[_0xe338('0x31')](_0x21df4d[_0xe338('0x43')][_0xe338('0x31')]);}_0xb4a84d['order']=qs[_0xe338('0x4c')](_0x21df4d['query'][_0xe338('0x4c')]);_0xb4a84d['where']=qs[_0xe338('0x45')](_[_0xe338('0x4e')](_0x21df4d[_0xe338('0x43')],_0x5066e8[_0xe338('0x45')]));_0xb4a84d[_0xe338('0x4d')]['SmsAccountId']=_0x5140ca['id'];if(_0x21df4d['query'][_0xe338('0x4f')]){_0xb4a84d[_0xe338('0x4d')]=_[_0xe338('0x50')](_0xb4a84d[_0xe338('0x4d')],{'$or':_[_0xe338('0x3f')](_0xb4a84d[_0xe338('0x47')],function(_0x5a55f8){var _0x5b4fec={};_0x5b4fec[_0x5a55f8]={'$like':'%'+_0x21df4d[_0xe338('0x43')][_0xe338('0x4f')]+'%'};return _0x5b4fec;})});}_0xb4a84d=_[_0xe338('0x50')]({},_0xb4a84d,_0x21df4d[_0xe338('0x5c')]);return db['CannedAnswer'][_0xe338('0x53')]({'where':_0xb4a84d[_0xe338('0x4d')]})[_0xe338('0x23')](function(_0x193698){_0x4b6417[_0xe338('0x53')]=_0x193698;if(_0x21df4d[_0xe338('0x43')][_0xe338('0x54')]){_0xb4a84d[_0xe338('0x55')]=[{'all':!![]}];}return db[_0xe338('0x6e')][_0xe338('0x56')](_0xb4a84d);})[_0xe338('0x23')](function(_0x192320){_0x4b6417['rows']=_0x192320;return _0x4b6417;});}})[_0xe338('0x23')](respondWithFilteredResult(_0xcad021,_0xb4a84d))['catch'](handleError(_0xcad021,null));};exports[_0xe338('0x6f')]=function(_0x26e1ca,_0xff9686,_0x12ecb4){return db[_0xe338('0x52')][_0xe338('0x5d')]({'where':{'id':_0x26e1ca[_0xe338('0x59')]['id']}})['then'](handleEntityNotFound(_0xff9686,null))[_0xe338('0x23')](function(_0x14dab8){if(_0x14dab8){return _0x14dab8['removeAnswers'](_0x26e1ca[_0xe338('0x43')]['ids']);}})['then'](respondWithStatusCode(_0xff9686,null))[_0xe338('0x2d')](handleError(_0xff9686,null));};exports['notify']=function(_0xeb2f92,_0x3c1a9c,_0x509d76){var _0x2ae9d3={'channel':_0xe338('0x70')};var _0x4c4fec=[];var _0x26b0c9=[];var _0x7b730e={};return db[_0xe338('0x52')][_0xe338('0x5d')]({'where':{'id':_0xeb2f92[_0xe338('0x59')]['id']},'include':[{'model':db[_0xe338('0x71')],'as':_0xe338('0x72')}]})[_0xe338('0x23')](handleEntityNotFound(_0x3c1a9c,null))['then'](function(_0x3b9f89){_0x2ae9d3[_0xe338('0x73')]=_0x3b9f89;_0x2ae9d3[_0xe338('0x74')]=_['orderBy'](_0x3b9f89[_0xe338('0x72')],[_0xe338('0x75')],[_0xe338('0x76')]);if(_0x2ae9d3['account']['Applications']){delete _0x2ae9d3[_0xe338('0x73')][_0xe338('0x72')];}return db[_0xe338('0x77')]['describe']();})[_0xe338('0x23')](function(_0x47d5f0){if(!_0x47d5f0){throw new db[(_0xe338('0x78'))][(_0xe338('0x79'))](_0xe338('0x7a'));}_0x4c4fec=_[_0xe338('0x7b')](_[_0xe338('0x44')](_0x47d5f0),['createdAt',_0xe338('0x7c')]);_0x26b0c9=_[_0xe338('0x7b')](_[_0xe338('0x44')](_0x47d5f0),[_0xe338('0x7d'),'updatedAt','CompanyId',_0xe338('0x7e')]);_0x2ae9d3['body']={'mapKey':'mobile'};if(_0x2ae9d3[_0xe338('0x73')][_0xe338('0x40')]){switch(_0x2ae9d3[_0xe338('0x73')][_0xe338('0x40')]){case _0xe338('0x7f'):_0x2ae9d3[_0xe338('0x5f')][_0xe338('0x80')]=_0xeb2f92['body'][_0xe338('0x81')];_0x2ae9d3[_0xe338('0x5f')][_0xe338('0x5f')]=_0xeb2f92[_0xe338('0x5f')]['Body'];_0x2ae9d3[_0xe338('0x5f')][_0xe338('0x82')]=_0xeb2f92['body'][_0xe338('0x83')];break;case _0xe338('0x84'):_0x2ae9d3[_0xe338('0x5f')][_0xe338('0x80')]='+'+_0xeb2f92[_0xe338('0x5f')]['sender'];_0x2ae9d3[_0xe338('0x5f')][_0xe338('0x5f')]=_0xeb2f92['body'][_0xe338('0x85')];break;case _0xe338('0x86'):_0x2ae9d3[_0xe338('0x5f')][_0xe338('0x80')]=_0xeb2f92[_0xe338('0x5f')]['from'];_0x2ae9d3['body'][_0xe338('0x5f')]=_0xeb2f92['body'][_0xe338('0x2a')];break;case'clicksend':_0x2ae9d3[_0xe338('0x5f')][_0xe338('0x80')]=_0xeb2f92[_0xe338('0x5f')]['from'];_0x2ae9d3[_0xe338('0x5f')]['body']=_0xeb2f92[_0xe338('0x5f')][_0xe338('0x5f')];_0x2ae9d3[_0xe338('0x5f')][_0xe338('0x82')]=_0xeb2f92['body'][_0xe338('0x87')];break;case'plivo':_0x2ae9d3[_0xe338('0x5f')][_0xe338('0x80')]=_0xeb2f92['body'][_0xe338('0x81')];_0x2ae9d3[_0xe338('0x5f')][_0xe338('0x5f')]=_0xeb2f92[_0xe338('0x5f')][_0xe338('0x88')];_0x2ae9d3[_0xe338('0x5f')][_0xe338('0x82')]=_0xeb2f92['body'][_0xe338('0x89')];break;case _0xe338('0x8a'):_0x2ae9d3['body'][_0xe338('0x80')]='+'+_0xeb2f92[_0xe338('0x5f')]['results'][0x0]['from'];_0x2ae9d3[_0xe338('0x5f')][_0xe338('0x5f')]=_0xeb2f92[_0xe338('0x5f')][_0xe338('0x8b')][0x0]['text'];_0x2ae9d3[_0xe338('0x5f')][_0xe338('0x82')]=_0xeb2f92['body'][_0xe338('0x8b')][0x0]['messageId'];break;case'csc':_0x2ae9d3[_0xe338('0x5f')][_0xe338('0x80')]=_0xeb2f92['body'][_0xe338('0x8c')];_0x2ae9d3['body'][_0xe338('0x5f')]=_0xeb2f92[_0xe338('0x5f')][_0xe338('0x8d')][_0xe338('0x2a')];break;case _0xe338('0x8e'):_0x2ae9d3[_0xe338('0x5f')][_0xe338('0x80')]=_0xeb2f92[_0xe338('0x5f')][_0xe338('0x8f')];_0x2ae9d3[_0xe338('0x5f')][_0xe338('0x5f')]=_0xeb2f92[_0xe338('0x5f')][_0xe338('0x85')];_0x2ae9d3[_0xe338('0x5f')][_0xe338('0x82')]=_0xeb2f92[_0xe338('0x5f')][_0xe338('0x90')];break;case'intelepeer':_0x2ae9d3[_0xe338('0x5f')][_0xe338('0x80')]=_0xeb2f92['body'][_0xe338('0x80')];_0x2ae9d3[_0xe338('0x5f')]['body']=_0xeb2f92['body'][_0xe338('0x2a')];_0x2ae9d3[_0xe338('0x5f')][_0xe338('0x82')]=_0xeb2f92[_0xe338('0x5f')][_0xe338('0x91')];break;}}if(_0x2ae9d3['body']['id']){delete _0x2ae9d3[_0xe338('0x5f')]['id'];}if(_['isNil'](_0x2ae9d3[_0xe338('0x5f')][_0xe338('0x80')])){throw new db['Sequelize'][(_0xe338('0x79'))](_0xe338('0x92'));}if(_[_0xe338('0x93')](_0x2ae9d3['body'][_0xe338('0x5f')])||_0x2ae9d3[_0xe338('0x5f')][_0xe338('0x5f')]===''){throw new db[(_0xe338('0x78'))]['ValidationError'](_0xe338('0x94'));}if(_['isNil'](_0x2ae9d3[_0xe338('0x5f')][_0xe338('0x95')])){throw new db[(_0xe338('0x78'))][(_0xe338('0x79'))]('mapKey\x20is\x20mandatory,\x20please\x20use\x20one\x20of\x20these:\x20'+_0x26b0c9);}if(!_[_0xe338('0x96')](_0x26b0c9,_0x2ae9d3[_0xe338('0x5f')][_0xe338('0x95')])){throw new db[(_0xe338('0x78'))]['ValidationError'](_0xe338('0x97')+_0x26b0c9);}_0x7b730e[_0x2ae9d3[_0xe338('0x5f')][_0xe338('0x95')]]=_0x2ae9d3[_0xe338('0x5f')][_0xe338('0x80')];return db[_0xe338('0x98')][_0xe338('0x5d')]({'where':{'id':_0x2ae9d3[_0xe338('0x73')]['ListId']},'include':[{'model':db[_0xe338('0x77')],'as':'Contacts','where':_0x7b730e,'limit':0x1,'order':[[_0xe338('0x7c'),_0xe338('0x99')]]}]});})[_0xe338('0x23')](handleEntityNotFound(_0x3c1a9c,null))[_0xe338('0x23')](function(_0x2c8aa5){if(_0x2c8aa5){_0x2ae9d3[_0xe338('0x9a')]=_[_0xe338('0x9b')](_0x2c8aa5,[_0xe338('0x9c')]);if(_0x2c8aa5[_0xe338('0x9c')][_0xe338('0x49')]){return _0x2c8aa5[_0xe338('0x9c')][0x0];}var _0xb56c92=_[_0xe338('0x19')](_0x2ae9d3[_0xe338('0x5f')],{'firstName':_0x2ae9d3[_0xe338('0x5f')][_0xe338('0x80')],'ListId':_0x2c8aa5['id']});_0xb56c92[_0x2ae9d3[_0xe338('0x5f')][_0xe338('0x95')]]=_0x2ae9d3[_0xe338('0x5f')]['from'];return db[_0xe338('0x77')]['create'](_0xb56c92,{'fields':_0x4c4fec,'raw':!![]});}})['then'](handleEntityNotFound(_0x3c1a9c,null))[_0xe338('0x23')](function(_0x3e4db4){if(_0x3e4db4){_0x2ae9d3['contact']=_0x3e4db4;var _0xa0ec45={'ContactId':_0x3e4db4['id'],'phone':_0x2ae9d3['body'][_0xe338('0x80')],'SmsAccountId':_0xeb2f92['params']['id']};var _0x34caae={'ContactId':_0x3e4db4['id'],'SmsAccountId':_0xeb2f92[_0xe338('0x59')]['id'],'closed':![]};return db['SmsInteraction'][_0xe338('0x5d')]({'where':_0x34caae})[_0xe338('0x23')](function(_0x46db0a){if(_0x46db0a){return[_0x46db0a,![]];}return db[_0xe338('0x9d')][_0xe338('0x5e')](_0xa0ec45)[_0xe338('0x23')](function(_0x2cfbfc){return[_0x2cfbfc,!![]];});});}})[_0xe338('0x9e')](function(_0x29945c,_0x76ddd9){_0x2ae9d3[_0xe338('0x9f')]=_0x29945c[_0xe338('0xa0')]({'plain':!![]});_0x2ae9d3['interaction'][_0xe338('0xa1')]=![];if(_0x76ddd9){if(_0x2ae9d3[_0xe338('0x73')][_0xe338('0xa2')]){_0x2ae9d3['applications'][_0xe338('0xa3')]({'id':0x0,'priority':_0x2ae9d3[_0xe338('0x74')][_0xe338('0x49')]+0x1,'app':_0xe338('0xa4'),'appdata':_0xe338('0xa5'),'interval':_0xe338('0xa6')});}_0x2ae9d3[_0xe338('0x9f')][_0xe338('0xa1')]=!![];}return db[_0xe338('0xa7')][_0xe338('0x5e')]({'phone':_0x2ae9d3['body']['from'],'messageId':_0x2ae9d3[_0xe338('0x5f')][_0xe338('0x82')],'body':_0x2ae9d3[_0xe338('0x5f')][_0xe338('0x5f')],'SmsAccountId':_0xeb2f92['params']['id'],'SmsInteractionId':_0x29945c['id'],'direction':'in','ContactId':_0x29945c['ContactId'],'AttachmentId':_0x2ae9d3[_0xe338('0x5f')][_0xe338('0xa8')]});})[_0xe338('0x23')](function(_0x1b2276){_0x2ae9d3[_0xe338('0x2a')]=_0x1b2276;if(_0x2ae9d3['interaction']['UserId']){return db['User'][_0xe338('0x5d')]({'attributes':['id',_0xe338('0x3b')],'where':{'id':_0x2ae9d3[_0xe338('0x9f')][_0xe338('0xa9')]}})[_0xe338('0x23')](function(_0x3f0e0a){if(_0x3f0e0a){_0x2ae9d3[_0xe338('0x74')][_0xe338('0xaa')]({'id':0x0,'priority':0x0,'app':_0xe338('0xab'),'appdata':_0x3f0e0a[_0xe338('0x3b')]+','+(_0x2ae9d3[_0xe338('0x73')]['waitForTheAssignedAgent']||0xa),'interval':_0xe338('0xa6')});}return respondWithRpcPromise(_0xe338('0xac'),_0xe338('0xad'),_0x2ae9d3);});}return respondWithRpcPromise(_0xe338('0xac'),_0xe338('0xad'),_0x2ae9d3);})[_0xe338('0x23')](function(_0x218309){if(_0x218309){var _0x3c832c=0xc8;var _0x2a36a3=_0xe338('0xae');logger[_0xe338('0x24')]('SmsAccount,\x20%s,\x20%s,\x20%s',_0x2a36a3,_0x3c832c,_0xe338('0xaf'));logger[_0xe338('0x25')](_0xe338('0xb0'),_0x2a36a3,_0x3c832c,'entity\x20found',JSON[_0xe338('0x28')](_0x218309));if(_0x2ae9d3[_0xe338('0x73')][_0xe338('0x40')]===_0xe338('0x7f')){return _0x3c1a9c[_0xe338('0x2f')](_0x3c832c)[_0xe338('0x32')](_0xe338('0xb1'),_0xe338('0xb2'))[_0xe338('0x3c')](_0xe338('0xb3'));}else{return _0x3c1a9c[_0xe338('0x2f')](_0x3c832c)[_0xe338('0x34')](_0x218309);}}})[_0xe338('0x2d')](handleError(_0x3c1a9c,null));};exports[_0xe338('0xb4')]=function(_0x11a8dc,_0x475dca,_0x3b052f){return db['SmsAccount'][_0xe338('0x6a')]({'where':{'id':_0x11a8dc[_0xe338('0x59')]['id']}})[_0xe338('0x23')](handleEntityNotFound(_0x475dca,null))[_0xe338('0x23')](function(_0x18c618){if(_0x18c618){return db[_0xe338('0xb5')][_0xe338('0xb6')](function(_0x27c910){return db[_0xe338('0x71')][_0xe338('0x37')]({'where':{'SmsAccountId':_0x11a8dc[_0xe338('0x59')]['id']},'transaction':_0x27c910})[_0xe338('0x23')](function(_0x19924f){var _0x40f4ee=_['map'](_0x11a8dc['body'],function(_0x426afb){_0x426afb[_0xe338('0x67')]=_0x11a8dc[_0xe338('0x59')]['id'];return _0x426afb;});return db[_0xe338('0x71')][_0xe338('0xb7')](_0x40f4ee,{'transaction':_0x27c910});});})[_0xe338('0x23')](function(){return db['SmsApplication']['findAndCountAll']({'where':{'SmsAccountId':_0x11a8dc[_0xe338('0x59')]['id']},'order':_0xe338('0x75')});});}})[_0xe338('0x23')](respondWithResult(_0x475dca,null))[_0xe338('0x2d')](handleError(_0x475dca,null));};exports[_0xe338('0xb8')]=function(_0x2c05c1,_0x11f099,_0x16b5bc){var _0x5cc721={};var _0xa8eda9={};var _0x29fd97;var _0xa7b361;return db[_0xe338('0x52')]['findOne']({'where':{'id':_0x2c05c1[_0xe338('0x59')]['id']}})[_0xe338('0x23')](handleEntityNotFound(_0x11f099,null))[_0xe338('0x23')](function(_0x66f955){if(_0x66f955){_0x29fd97=_0x66f955;_0xa8eda9['model']=_[_0xe338('0x44')](db[_0xe338('0x71')][_0xe338('0x5b')]);_0xa8eda9[_0xe338('0x43')]=_[_0xe338('0x44')](_0x2c05c1['query']);_0xa8eda9[_0xe338('0x45')]=_[_0xe338('0x46')](_0xa8eda9[_0xe338('0x42')],_0xa8eda9[_0xe338('0x43')]);_0x5cc721[_0xe338('0x47')]=_[_0xe338('0x46')](_0xa8eda9[_0xe338('0x42')],qs[_0xe338('0x48')](_0x2c05c1[_0xe338('0x43')][_0xe338('0x48')]));_0x5cc721[_0xe338('0x47')]=_0x5cc721[_0xe338('0x47')][_0xe338('0x49')]?_0x5cc721[_0xe338('0x47')]:_0xa8eda9[_0xe338('0x42')];_0x5cc721['order']=qs[_0xe338('0x4c')](_0x2c05c1['query'][_0xe338('0x4c')]);_0x5cc721[_0xe338('0x4d')]=qs['filters'](_['pick'](_0x2c05c1['query'],_0xa8eda9[_0xe338('0x45')]));if(_0x2c05c1['query']['filter']){_0x5cc721[_0xe338('0x4d')]=_[_0xe338('0x50')](_0x5cc721[_0xe338('0x4d')],{'$or':_[_0xe338('0x3f')](_0x5cc721[_0xe338('0x47')],function(_0x52f1de){var _0x228814={};_0x228814[_0x52f1de]={'$like':'%'+_0x2c05c1[_0xe338('0x43')][_0xe338('0x4f')]+'%'};return _0x228814;})});}_0x5cc721=_['merge']({},_0x5cc721,_0x2c05c1[_0xe338('0x5c')]);return _0x29fd97[_0xe338('0xb8')](_0x5cc721);}})[_0xe338('0x23')](function(_0x732e90){if(_0x732e90){_0xa7b361=_0x732e90[_0xe338('0x49')];if(!_0x2c05c1['query'][_0xe338('0xb9')](_0xe338('0x4a'))){_0x5cc721[_0xe338('0x4b')]=qs[_0xe338('0x4b')](_0x2c05c1[_0xe338('0x43')]['limit']);_0x5cc721[_0xe338('0x31')]=qs[_0xe338('0x31')](_0x2c05c1[_0xe338('0x43')][_0xe338('0x31')]);}return _0x29fd97[_0xe338('0xb8')](_0x5cc721);}})[_0xe338('0x23')](function(_0x41365e){if(_0x41365e){return _0x41365e?{'count':_0xa7b361,'rows':_0x41365e}:null;}})[_0xe338('0x23')](respondWithResult(_0x11f099,null))[_0xe338('0x2d')](handleError(_0x11f099,null));};exports[_0xe338('0xba')]=function(_0x487a22,_0x2224a9,_0x4adccf){var _0x387d42={'raw':![],'where':{}};var _0x46ec71={};var _0x1eae85={'count':0x0,'rows':[]};return db[_0xe338('0x52')][_0xe338('0x6a')]({'where':{'id':_0x487a22[_0xe338('0x59')]['id']}})['then'](handleEntityNotFound(_0x2224a9,null))[_0xe338('0x23')](function(_0x3e9e87){if(_0x3e9e87){_0x46ec71[_0xe338('0x42')]=_['keys'](db[_0xe338('0x9d')][_0xe338('0x5b')]);_0x46ec71[_0xe338('0x43')]=_[_0xe338('0x44')](_0x487a22[_0xe338('0x43')]);_0x46ec71['filters']=_[_0xe338('0x46')](_0x46ec71['model'],_0x46ec71[_0xe338('0x43')]);_0x387d42[_0xe338('0x47')]=_[_0xe338('0x46')](_0x46ec71[_0xe338('0x42')],qs[_0xe338('0x48')](_0x487a22[_0xe338('0x43')]['fields']));_0x387d42[_0xe338('0x47')]=_0x387d42[_0xe338('0x47')][_0xe338('0x49')]?_0x387d42[_0xe338('0x47')]:_0x46ec71[_0xe338('0x42')];if(!_0x487a22[_0xe338('0x43')][_0xe338('0xb9')]('nolimit')){_0x387d42[_0xe338('0x4b')]=qs[_0xe338('0x4b')](_0x487a22[_0xe338('0x43')][_0xe338('0x4b')]);_0x387d42[_0xe338('0x31')]=qs['offset'](_0x487a22['query']['offset']);}_0x387d42[_0xe338('0xbb')]=qs[_0xe338('0x4c')](_0x487a22[_0xe338('0x43')][_0xe338('0x4c')]);_0x387d42['where']=qs[_0xe338('0x45')](_['pick'](_0x487a22[_0xe338('0x43')],_0x46ec71['filters']));_0x387d42[_0xe338('0x4d')][_0xe338('0x67')]=_0x3e9e87['id'];if(_0x487a22[_0xe338('0x43')][_0xe338('0x4f')]){_0x387d42['where']=_[_0xe338('0x50')](_0x387d42[_0xe338('0x4d')],{'$or':_[_0xe338('0x3f')](_0x387d42[_0xe338('0x47')],function(_0xdc8c0e){var _0x41fa27={};_0x41fa27[_0xdc8c0e]={'$like':'%'+_0x487a22[_0xe338('0x43')][_0xe338('0x4f')]+'%'};return _0x41fa27;})});}_0x387d42=_['merge']({},_0x387d42,_0x487a22['options']);return db['SmsInteraction'][_0xe338('0x53')]({'where':_0x387d42['where']})['then'](function(_0xe71d49){_0x1eae85[_0xe338('0x53')]=_0xe71d49;if(_0x487a22[_0xe338('0x43')][_0xe338('0x54')]){_0x387d42['include']=[{'model':db[_0xe338('0x77')],'as':_0xe338('0xbc'),'required':![]},{'model':db[_0xe338('0xbd')],'as':'Owner','attributes':[_0xe338('0x3b'),'fullname',_0xe338('0xbe')],'required':![]},{'model':db[_0xe338('0xbf')],'as':_0xe338('0xc0'),'attributes':['id','name',_0xe338('0xc1')],'where':_0x487a22[_0xe338('0x43')]['tag']?{'id':_0x487a22[_0xe338('0x43')][_0xe338('0xc2')]}:undefined,'required':_0x487a22[_0xe338('0x43')][_0xe338('0xc2')]?!![]:![]}];}return db[_0xe338('0x9d')]['findAll'](_0x387d42);})['then'](function(_0x361c1d){_0x1eae85['rows']=_0x361c1d;return _0x1eae85;});}})['then'](respondWithFilteredResult(_0x2224a9,_0x387d42))[_0xe338('0x2d')](handleError(_0x2224a9,null));};exports['send']=function(_0x5ec704,_0x302c13,_0x3be77b){var _0x23ec07,_0x382866,_0x278913;if(_[_0xe338('0x93')](_0x5ec704[_0xe338('0x5f')][_0xe338('0x5f')])||_0x5ec704[_0xe338('0x5f')][_0xe338('0x5f')]===''){throw new db['Sequelize'][(_0xe338('0x79'))](_0xe338('0x94'));}if(_['isNil'](_0x5ec704['body']['to'])){throw new db[(_0xe338('0x78'))]['ValidationError'](_0xe338('0xc3'));}_0x23ec07=_0x5ec704[_0xe338('0x5f')]['to'];return db[_0xe338('0x52')][_0xe338('0x5d')]({'where':{'id':_0x5ec704[_0xe338('0x59')]['id']},'include':[{'model':db[_0xe338('0x98')],'as':_0xe338('0xc4'),'include':[{'model':db['CmContact'],'as':_0xe338('0x9c'),'where':{'mobile':_0x23ec07},'limit':0x1,'order':[[_0xe338('0x7c'),_0xe338('0x99')]]}]}]})[_0xe338('0x23')](handleEntityNotFound(_0x302c13,null))['then'](function(_0xa01770){if(_0xa01770&&_0xa01770[_0xe338('0xc4')]){_0x382866=_0xa01770[_0xe338('0xa0')]({'plain':!![]});if(_0x382866['List']&&_0x382866[_0xe338('0xc4')]['Contacts'][_0xe338('0x49')]){return _0x382866[_0xe338('0xc4')][_0xe338('0x9c')][0x0];}return db[_0xe338('0x77')][_0xe338('0x5e')](_['defaults'](_0x5ec704[_0xe338('0x5f')],{'firstName':_0x23ec07,'mobile':_0x23ec07,'phone':_0x23ec07,'ListId':_0x382866[_0xe338('0x7e')]}));}})[_0xe338('0x23')](handleEntityNotFound(_0x302c13,null))['then'](function(_0x3a1dfa){if(_0x3a1dfa){_0x278913=_0x3a1dfa;return db[_0xe338('0x9d')]['find']({'where':{'ContactId':_0x278913['id'],'closed':![],'SmsAccountId':_0x382866['id']}})[_0xe338('0x23')](function(_0x1c3555){if(_0x1c3555){return[_0x1c3555,![]];}return db[_0xe338('0x9d')]['create']({'UserId':_0x5ec704[_0xe338('0x60')]['id'],'ContactId':_0x278913['id'],'SmsAccountId':_0x382866['id'],'phone':_0x23ec07,'firstMsgDirection':'out','Messages':[_[_0xe338('0x50')](_0x5ec704[_0xe338('0x5f')],{'read':![],'body':_0x5ec704[_0xe338('0x5f')][_0xe338('0x5f')],'phone':_0x23ec07,'SmsAccountId':_0x382866['id'],'UserId':_0x5ec704[_0xe338('0x60')]['id'],'ContactId':_0x278913['id']})]},{'include':[{'model':db[_0xe338('0xa7')],'as':_0xe338('0xc5')}]})[_0xe338('0x23')](function(_0x2838a5){return[_0x2838a5,!![]];});});}})[_0xe338('0x9e')](function(_0x589f4c,_0x3a6bee){if(_0x3a6bee){return _0x589f4c;}return db[_0xe338('0xa7')][_0xe338('0x5e')](_['merge'](_0x5ec704['body'],{'read':![],'body':_0x5ec704[_0xe338('0x5f')][_0xe338('0x5f')],'phone':_0x23ec07,'SmsAccountId':_0x382866['id'],'SmsInteractionId':_0x589f4c['id'],'UserId':_0x5ec704['user']['id'],'ContactId':_0x278913['id']}))[_0xe338('0x23')](function(_0x2f2bc9){_0x589f4c[_0xe338('0xc6')][_0xe338('0xc5')]=[];_0x589f4c[_0xe338('0xc6')][_0xe338('0xc5')][_0xe338('0xa3')](_0x2f2bc9[_0xe338('0xc6')]);return _0x589f4c;});})['then'](respondWithResult(_0x302c13,null))[_0xe338('0x2d')](handleError(_0x302c13,null));};exports['status']=function(_0x965087,_0x35189a,_0xd81c1e){if(_0x965087[_0xe338('0x5f')]['id']){delete _0x965087[_0xe338('0x5f')]['id'];}console['log'](_0xe338('0xc7'),_0x965087[_0xe338('0x5f')]);var _0x542bac,_0x560e69,_0x5ca9ea;return db[_0xe338('0x52')]['find']({'where':{'id':_0x965087[_0xe338('0x59')]['id']}})[_0xe338('0x23')](handleEntityNotFound(_0x35189a,null))['then'](function(_0x59dc7f){if(_0x59dc7f){_0x5ca9ea=_0x59dc7f;logger[_0xe338('0x25')](_0xe338('0x26'),_0xe338('0x2f'),'received\x20delivery\x20report\x20from',_0x59dc7f[_0xe338('0x40')],util[_0xe338('0xc8')](_0x965087[_0xe338('0x5f')],{'showHidden':![],'depth':null}));switch(_0x59dc7f[_0xe338('0x40')]){case _0xe338('0x84'):if(_0x965087[_0xe338('0x5f')]['skebby_dispatch_id']&&_0x965087[_0xe338('0x5f')][_0xe338('0x2f')]){_0x560e69=_0x965087[_0xe338('0x5f')]['status'];return db[_0xe338('0xa7')][_0xe338('0x5d')]({'where':{'messageId':_0x965087[_0xe338('0x5f')][_0xe338('0xc9')]}});}break;case _0xe338('0x86'):if(_0x965087[_0xe338('0x5f')]['requestid']&&_0x965087[_0xe338('0x5f')][_0xe338('0xca')]){_0x560e69=_0x965087[_0xe338('0x5f')][_0xe338('0xca')];return db[_0xe338('0xa7')]['find']({'where':{'messageId':_0x965087[_0xe338('0x5f')][_0xe338('0xcb')]}});}break;case _0xe338('0xcc'):if(_0x965087['body'][_0xe338('0x87')]&&_0x965087[_0xe338('0x5f')][_0xe338('0xcd')]){_0x560e69=_0x965087[_0xe338('0x5f')][_0xe338('0xcd')];return db[_0xe338('0xa7')][_0xe338('0x5d')]({'where':{'messageId':_0x965087['body'][_0xe338('0x87')]}});}break;case'infobip':var _0x5e92aa=_0x965087['body'][_0xe338('0x8b')][0x0];if(_0x5e92aa[_0xe338('0x82')]&&_0x5e92aa['status']['groupName']===_0xe338('0xce')){_0x560e69=_0x5e92aa['status'][_0xe338('0xcf')];return db[_0xe338('0xa7')][_0xe338('0x5d')]({'where':{'messageId':_0x5e92aa[_0xe338('0x82')]}});}break;case _0xe338('0x8e'):if(_0x965087[_0xe338('0x5f')][_0xe338('0x82')]&&_0x965087['body'][_0xe338('0x2f')]){_0x560e69=_0x965087[_0xe338('0x5f')][_0xe338('0x2f')];return db['SmsMessage'][_0xe338('0x5d')]({'where':{'messageId':_0x965087['body'][_0xe338('0x82')]}});}break;case _0xe338('0xd0'):if(_0x965087[_0xe338('0x5f')][_0xe338('0xd1')]&&_0x965087[_0xe338('0x5f')][_0xe338('0x2f')]){_0x560e69=_0x965087[_0xe338('0x5f')][_0xe338('0x2f')];return db[_0xe338('0xa7')][_0xe338('0x5d')]({'where':{'messageId':_0x965087['body']['redif']}});}break;}}})['then'](handleEntityNotFound(_0x35189a,null))[_0xe338('0x23')](function(_0x405499){if(_0x405499){_0x542bac=_0x405499;switch(_0x5ca9ea[_0xe338('0x40')]){case _0xe338('0x84'):if(_0x560e69===_0xe338('0xce')){return _0x542bac[_0xe338('0x65')]({'read':!![]});}else{logger[_0xe338('0x29')](_0xe338('0x26'),_0xe338('0x2f'),'skebby',util[_0xe338('0xc8')](_0x965087[_0xe338('0x5f')],{'showHidden':![],'depth':null}));}break;case _0xe338('0x86'):if(_0x560e69==='1'){return _0x542bac[_0xe338('0x65')]({'read':!![]});}else{logger[_0xe338('0x29')](_0xe338('0x26'),_0xe338('0x2f'),'skebby',util[_0xe338('0xc8')](_0x965087[_0xe338('0x5f')],{'showHidden':![],'depth':null}));}break;case _0xe338('0xcc'):if(!_0x965087[_0xe338('0x5f')]['error_code']&&_0x560e69>=0xc8&&_0x560e69<=0xce){return _0x542bac[_0xe338('0x65')]({'read':!![]});}else{logger[_0xe338('0x29')](_0xe338('0x26'),_0xe338('0x2f'),'clicksend',util[_0xe338('0xc8')](_0x965087[_0xe338('0x5f')],{'showHidden':![],'depth':null}));}break;case _0xe338('0x8a'):var _0x5a1d09=_0x965087[_0xe338('0x5f')][_0xe338('0x8b')][0x0];if(_0x5a1d09[_0xe338('0x2f')][_0xe338('0xcf')]===_0xe338('0xce')){return _0x542bac['update']({'read':!![]});}else{logger[_0xe338('0x29')](_0xe338('0x26'),'status','infobip',util[_0xe338('0xc8')](_0x965087[_0xe338('0x5f')],{'showHidden':![],'depth':null}));}break;case _0xe338('0x8e'):if(_0x560e69==_0xe338('0xd2')||_0x560e69=='RECEIVED_BY_RECIPIENT'){return _0x542bac[_0xe338('0x65')]({'read':!![]});}else{logger[_0xe338('0x29')](_0xe338('0x26'),_0xe338('0x2f'),_0xe338('0x8e'),util[_0xe338('0xc8')](_0x965087['body'],{'showHidden':![],'depth':null}));}break;case _0xe338('0xd0'):if(_0x560e69==='DELIVRD'||_0x560e69===_0xe338('0xd3')){return _0x542bac[_0xe338('0x65')]({'read':!![]});}else{logger['error'](_0xe338('0x26'),_0xe338('0x2f'),_0xe338('0xd0'),util[_0xe338('0xc8')](_0x965087[_0xe338('0x5f')],{'showHidden':![],'depth':null}));}break;}return _0x542bac;}})[_0xe338('0x23')](respondWithResult(_0x35189a,null))[_0xe338('0x2d')](handleError(_0x35189a,null));};exports[_0xe338('0xd4')]=function(_0x50ab28,_0x5dac5c,_0x390dcd){var _0x37cfda,_0x53faa4,_0x292589;return db[_0xe338('0x52')][_0xe338('0x5d')]({'where':{'id':_0x50ab28['params']['id']}})[_0xe338('0x23')](handleEntityNotFound(_0x5dac5c,null))[_0xe338('0x23')](function(_0x4b7c37){if(_0x4b7c37){_0x292589=_0x4b7c37;logger['debug'](_0xe338('0x26'),'status','received\x20delivery\x20report\x20from',_0x4b7c37['type'],util[_0xe338('0xc8')](_0x50ab28['query'],{'showHidden':![],'depth':null}));switch(_0x4b7c37['type']){case'csc':if(_0x50ab28[_0xe338('0x43')][_0xe338('0xd5')]&&_0x50ab28['query'][_0xe338('0xd6')]){_0x53faa4=_0x50ab28[_0xe338('0x43')][_0xe338('0xd6')];return db[_0xe338('0xa7')][_0xe338('0x5d')]({'where':{'messageId':_0x50ab28['query'][_0xe338('0xd5')]}});}break;}}})[_0xe338('0x23')](handleEntityNotFound(_0x5dac5c,null))[_0xe338('0x23')](function(_0x52b60a){if(_0x52b60a){_0x37cfda=_0x52b60a;switch(_0x292589['type']){case'csc':if(_0x53faa4==='2'||_0x53faa4==='6'){return _0x37cfda[_0xe338('0x65')]({'read':!![]});}else{logger[_0xe338('0x29')](_0xe338('0x26'),_0xe338('0x2f'),'csc',util[_0xe338('0xc8')](_0x50ab28[_0xe338('0x43')],{'showHidden':![],'depth':null}));};break;}return _0x37cfda;}})[_0xe338('0x23')](respondWithResult(_0x5dac5c,null))['catch'](handleError(_0x5dac5c,null));};exports[_0xe338('0xd7')]=function(_0x4a621d,_0x406c4b,_0x1fa2a1){return db[_0xe338('0x52')]['find']({'where':{'id':_0x4a621d[_0xe338('0x59')]['id']}})[_0xe338('0x23')](handleEntityNotFound(_0x406c4b,null))[_0xe338('0x23')](function(_0x4289fc){if(_0x4289fc){return _0x4289fc['addAgents'](_0x4a621d[_0xe338('0x5f')][_0xe338('0x6c')],_[_0xe338('0x9b')](_0x4a621d[_0xe338('0x5f')],['ids','id'])||{})[_0xe338('0x9e')](function(_0x1c76cb){for(var _0x289231=0x0;_0x289231<_0x4a621d[_0xe338('0x5f')]['ids'][_0xe338('0x49')];_0x289231+=0x1){socket['emit'](_0xe338('0xd8'),{'UserId':_0x4a621d['body'][_0xe338('0x6c')][_0x289231],'SmsAccountId':_0x4a621d[_0xe338('0x59')]['id']});}return _0x1c76cb;});}})[_0xe338('0x23')](respondWithResult(_0x406c4b,null))[_0xe338('0x2d')](handleError(_0x406c4b,null));};exports[_0xe338('0xd9')]=function(_0x387a06,_0x2e5843,_0x53e8e8){return db['SmsAccount'][_0xe338('0x5d')]({'where':{'id':_0x387a06[_0xe338('0x59')]['id']}})[_0xe338('0x23')](handleEntityNotFound(_0x2e5843,null))['then'](function(_0x428080){if(_0x428080){return _0x428080[_0xe338('0xd9')](_0x387a06['query'][_0xe338('0x6c')])[_0xe338('0x23')](function(){if(_[_0xe338('0xda')](_0x387a06[_0xe338('0x43')]['ids'])){for(var _0x12da00=0x0;_0x12da00<_0x387a06['query']['ids'][_0xe338('0x49')];_0x12da00+=0x1){socket['emit'](_0xe338('0xdb'),{'UserId':Number(_0x387a06[_0xe338('0x43')][_0xe338('0x6c')][_0x12da00]),'SmsAccountId':Number(_0x387a06[_0xe338('0x59')]['id'])});}}else{socket[_0xe338('0xdc')](_0xe338('0xdb'),{'UserId':Number(_0x387a06[_0xe338('0x43')][_0xe338('0x6c')]),'SmsAccountId':Number(_0x387a06[_0xe338('0x59')]['id'])});}});}})[_0xe338('0x23')](respondWithStatusCode(_0x2e5843,null))[_0xe338('0x2d')](handleError(_0x2e5843,null));};exports['getAgents']=function(_0x1b1a8a,_0x11bc56,_0x4add31){var _0x11ac48={};var _0x4a1cb0={};var _0x559e38;var _0x448de5;return db[_0xe338('0x52')]['findOne']({'where':{'id':_0x1b1a8a[_0xe338('0x59')]['id']}})['then'](handleEntityNotFound(_0x11bc56,null))[_0xe338('0x23')](function(_0x1e2b59){if(_0x1e2b59){_0x559e38=_0x1e2b59;_0x4a1cb0['model']=_[_0xe338('0x44')](db['User'][_0xe338('0x5b')]);_0x4a1cb0[_0xe338('0x43')]=_[_0xe338('0x44')](_0x1b1a8a[_0xe338('0x43')]);_0x4a1cb0[_0xe338('0x45')]=_['intersection'](_0x4a1cb0[_0xe338('0x42')],_0x4a1cb0[_0xe338('0x43')]);_0x11ac48[_0xe338('0x47')]=_[_0xe338('0x46')](_0x4a1cb0[_0xe338('0x42')],qs[_0xe338('0x48')](_0x1b1a8a[_0xe338('0x43')][_0xe338('0x48')]));_0x11ac48['attributes']=_0x11ac48[_0xe338('0x47')]['length']?_0x11ac48[_0xe338('0x47')]:_0x4a1cb0[_0xe338('0x42')];_0x11ac48[_0xe338('0xbb')]=qs[_0xe338('0x4c')](_0x1b1a8a['query'][_0xe338('0x4c')]);_0x11ac48[_0xe338('0x4d')]=qs[_0xe338('0x45')](_['pick'](_0x1b1a8a[_0xe338('0x43')],_0x4a1cb0[_0xe338('0x45')]));if(_0x1b1a8a[_0xe338('0x43')][_0xe338('0x4f')]){_0x11ac48[_0xe338('0x4d')]=_[_0xe338('0x50')](_0x11ac48['where'],{'$or':_[_0xe338('0x3f')](_0x11ac48[_0xe338('0x47')],function(_0x501914){var _0x103a59={};_0x103a59[_0x501914]={'$like':'%'+_0x1b1a8a[_0xe338('0x43')][_0xe338('0x4f')]+'%'};return _0x103a59;})});}_0x11ac48=_[_0xe338('0x50')]({},_0x11ac48,_0x1b1a8a[_0xe338('0x5c')]);return _0x559e38['getAgents'](_0x11ac48);}})[_0xe338('0x23')](function(_0x32eaa2){if(_0x32eaa2){_0x448de5=_0x32eaa2[_0xe338('0x49')];if(!_0x1b1a8a[_0xe338('0x43')][_0xe338('0xb9')](_0xe338('0x4a'))){_0x11ac48[_0xe338('0x4b')]=qs[_0xe338('0x4b')](_0x1b1a8a['query'][_0xe338('0x4b')]);_0x11ac48[_0xe338('0x31')]=qs[_0xe338('0x31')](_0x1b1a8a[_0xe338('0x43')]['offset']);}return _0x559e38[_0xe338('0xdd')](_0x11ac48);}})[_0xe338('0x23')](function(_0x547e43){if(_0x547e43){return _0x547e43?{'count':_0x448de5,'rows':_0x547e43}:null;}})[_0xe338('0x23')](respondWithResult(_0x11bc56,null))['catch'](handleError(_0x11bc56,null));};