Built motion from commit (unavailable).|2.0.80
[motion2.git] / server / api / smsMessage / smsMessage.model.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 _0xbbe2=['sender_number','send_sms_classic_report','stringify','POST','application/x-www-form-urlencoded','length','utf8','status','success','classic+','deliveryReport','read','skebby','connectel','https://smsapi.connectel.se/api/send/','Missing\x20parameters:\x20authToken','clicksend','xCALLY\x20Motion','%s:%s','https://rest.clicksend.com/v3/sms/send','format','Basic\x20%s','toString','base64','http_code','data','head','messages','message_id','clickSend','plivo','authId','/status?token=','https://api.plivo.com/v1/Account/%s/Message/','message_uuid','finally','utf8mb4','lodash','../../config/logger','moment','bluebird','./smsMessage.attributes','exports','SmsMessage','sms_messages','messageId','models','get','direction','toLowerCase','secret','isNil','UserId','SmsInteraction','SmsInteractionId','update','body','error','out','SmsAccount','find','then','type','twilio','accountSid','authToken','phone','create','remote','/api/sms/messages/','token','sid','catch','SmsMessage,\x20%s,\x20%s,\x20%s','afterCreate','inspect','Missing\x20parameters:\x20phone,\x20accountSid\x20or\x20authToken','username','password','UTF-8','smsMethod','method','classic','send_sms_classic','senderString','sender_string'];(function(_0x441627,_0x50c51a){var _0x2453e6=function(_0x5f0066){while(--_0x5f0066){_0x441627['push'](_0x441627['shift']());}};_0x2453e6(++_0x50c51a);}(_0xbbe2,0x1d3));var _0x2bbe=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0xbbe2[_0x3dd15e];return _0x231fd0;};'use strict';var _=require(_0x2bbe('0x0'));var util=require('util');var logger=require(_0x2bbe('0x1'))('api');var moment=require(_0x2bbe('0x2'));var BPromise=require(_0x2bbe('0x3'));var rp=require('request-promise');var attributes=require(_0x2bbe('0x4'));module[_0x2bbe('0x5')]=function(_0x3e797b,_0x15638f){return _0x3e797b['define'](_0x2bbe('0x6'),attributes,{'tableName':_0x2bbe('0x7'),'paranoid':![],'indexes':[{'name':_0x2bbe('0x8'),'fields':[_0x2bbe('0x8')]}],'timestamps':!![],'hooks':{'afterCreate':function(_0x11b761,_0x152096,_0x420c28){var _0x361baa=_0x3e797b[_0x2bbe('0x9')];var _0x32cf3f=_0x11b761[_0x2bbe('0xa')]({'plain':!![]});if(_0x32cf3f[_0x2bbe('0xb')][_0x2bbe('0xc')]()==='in'||_0x32cf3f[_0x2bbe('0xb')][_0x2bbe('0xc')]()==='out'&&!_0x32cf3f[_0x2bbe('0xd')]&&!_[_0x2bbe('0xe')](_0x32cf3f[_0x2bbe('0xf')])){_0x361baa[_0x2bbe('0x10')]['findOne']({'where':{'id':_0x32cf3f[_0x2bbe('0x11')]}})['then'](function(_0xab4fca){if(_0xab4fca){_0xab4fca[_0x2bbe('0x12')]({'lastMsgAt':_0x32cf3f['createdAt'],'lastMsgDirection':_0x32cf3f[_0x2bbe('0xb')][_0x2bbe('0xc')](),'lastMsgBody':_0x32cf3f[_0x2bbe('0x13')]});}})['catch'](function(_0xf31951){console[_0x2bbe('0x14')](_0xf31951);});}if(_0x32cf3f[_0x2bbe('0xb')]===_0x2bbe('0x15')&&!_0x32cf3f[_0x2bbe('0xd')]){var _0x3abd7b;_0x361baa[_0x2bbe('0x16')][_0x2bbe('0x17')]({'where':{'id':_0x32cf3f['SmsAccountId']},'raw':!![]})[_0x2bbe('0x18')](function(_0x4730b5){_0x3abd7b=_0x4730b5;if(_0x3abd7b&&_0x3abd7b[_0x2bbe('0x19')]){switch(_0x3abd7b[_0x2bbe('0x19')]){case'twilio':var _0x130b02=require(_0x2bbe('0x1a'));if(_0x3abd7b[_0x2bbe('0x1b')]&&_0x3abd7b[_0x2bbe('0x1c')]&&_0x3abd7b[_0x2bbe('0x1d')]){var _0x148cff=new _0x130b02(_0x3abd7b['accountSid'],_0x3abd7b['authToken']);_0x148cff['messages'][_0x2bbe('0x1e')]({'body':_0x32cf3f[_0x2bbe('0x13')],'to':_0x32cf3f[_0x2bbe('0x1d')],'from':_0x3abd7b[_0x2bbe('0x1d')],'statusCallback':_0x3abd7b[_0x2bbe('0x1f')]+_0x2bbe('0x20')+_0x32cf3f['id']+'/status?token='+_0x3abd7b[_0x2bbe('0x21')]})[_0x2bbe('0x18')](function(_0x234eab){if(_0x234eab['sid']){return _0x11b761[_0x2bbe('0x12')]({'messageId':_0x234eab[_0x2bbe('0x22')]});}})[_0x2bbe('0x23')](function(_0x2d8068){logger[_0x2bbe('0x14')](_0x2bbe('0x24'),_0x2bbe('0x25'),_0x2bbe('0x1a'),util[_0x2bbe('0x26')](_0x2d8068,{'showHidden':![],'depth':null}));});}else{logger[_0x2bbe('0x14')](_0x2bbe('0x24'),_0x2bbe('0x25'),_0x2bbe('0x1a'),_0x2bbe('0x27'));}break;case'skebby':var _0xf659d3=require('querystring');if(_0x3abd7b[_0x2bbe('0x28')]&&_0x3abd7b[_0x2bbe('0x29')]){var _0x2d2b06={'username':_0x3abd7b[_0x2bbe('0x28')],'password':_0x3abd7b[_0x2bbe('0x29')],'recipients[]':[_0x32cf3f[_0x2bbe('0x1d')]],'text':_0x32cf3f[_0x2bbe('0x13')],'charset':_0x2bbe('0x2a')};switch(_0x3abd7b[_0x2bbe('0x2b')]){case'basic':_0x2d2b06[_0x2bbe('0x2c')]='send_sms_basic';break;case _0x2bbe('0x2d'):_0x2d2b06[_0x2bbe('0x2c')]=_0x2bbe('0x2e');_0x2d2b06['sender_number']=_0x3abd7b['phone'];if(_0x3abd7b[_0x2bbe('0x2f')]){_0x2d2b06[_0x2bbe('0x30')]=_0x3abd7b[_0x2bbe('0x2f')];}else if(_0x3abd7b[_0x2bbe('0x1d')]){_0x2d2b06[_0x2bbe('0x31')]=_0x3abd7b[_0x2bbe('0x1d')];}break;case'classic+':_0x2d2b06[_0x2bbe('0x2c')]=_0x2bbe('0x32');_0x2d2b06['sender_number']=_0x3abd7b[_0x2bbe('0x1d')];if(_0x3abd7b[_0x2bbe('0x2f')]){_0x2d2b06['sender_string']=_0x3abd7b['senderString'];}else if(_0x3abd7b['phone']){_0x2d2b06['sender_number']=_0x3abd7b[_0x2bbe('0x1d')];}break;}var _0x545391=_0xf659d3[_0x2bbe('0x33')](_0x2d2b06);var _0x152096={'method':_0x2bbe('0x34'),'uri':'https://gateway.skebby.it/api/send/smseasy/advanced/http.php','body':_0x545391,'headers':{'Content-Type':_0x2bbe('0x35'),'Content-Length':_0x545391[_0x2bbe('0x36')],'Content-Encoding':_0x2bbe('0x37')}};rp(_0x152096)[_0x2bbe('0x18')](function(_0x14ec42){var _0x3a6772=_0xf659d3['parse'](_0x14ec42);if(_0x3a6772[_0x2bbe('0x38')]==_0x2bbe('0x39')){var _0x2e08bc={'messageId':_0x3a6772['id']};if(_0x3abd7b['smsMethod']!==_0x2bbe('0x3a')||!_0x3abd7b[_0x2bbe('0x3b')]){_0x2e08bc[_0x2bbe('0x3c')]=!![];}return _0x11b761['update'](_0x2e08bc);}else{logger['error'](_0x2bbe('0x24'),'afterCreate',_0x2bbe('0x3d'),util[_0x2bbe('0x26')](_0x3a6772,{'showHidden':![],'depth':null}));}})[_0x2bbe('0x23')](function(_0x289704){logger[_0x2bbe('0x14')](_0x2bbe('0x24'),_0x2bbe('0x25'),_0x2bbe('0x3d'),util[_0x2bbe('0x26')](_0x289704,{'showHidden':![],'depth':null}));});}else{logger[_0x2bbe('0x14')](_0x2bbe('0x24'),_0x2bbe('0x25'),_0x2bbe('0x3d'),'Missing\x20parameters:\x20username,\x20password');}break;case _0x2bbe('0x3e'):if(_0x3abd7b[_0x2bbe('0x1c')]){var _0x2d2b06={'recipient':_0x32cf3f[_0x2bbe('0x1d')],'message':_0x32cf3f[_0x2bbe('0x13')],'sender':_0x3abd7b[_0x2bbe('0x2f')]||_0x3abd7b[_0x2bbe('0x1d')],'authorization':_0x3abd7b[_0x2bbe('0x1c')]};var _0x152096={'method':'POST','uri':_0x2bbe('0x3f'),'body':_0x2d2b06,'json':!![]};rp(_0x152096)[_0x2bbe('0x18')](function(_0x2d94fd){var _0x547a20={'messageId':_0x2d94fd['requestid']};if(!_0x3abd7b[_0x2bbe('0x3b')]){_0x547a20[_0x2bbe('0x3c')]=!![];}return _0x11b761[_0x2bbe('0x12')](_0x547a20);})[_0x2bbe('0x23')](function(_0x1fc7db){logger[_0x2bbe('0x14')]('SmsMessage,\x20%s,\x20%s,\x20%s',_0x2bbe('0x25'),'connectel',util['inspect'](_0x1fc7db,{'showHidden':![],'depth':null}));});}else{logger[_0x2bbe('0x14')](_0x2bbe('0x24'),_0x2bbe('0x25'),_0x2bbe('0x3e'),_0x2bbe('0x40'));}break;case _0x2bbe('0x41'):if(_0x3abd7b['username']&&_0x3abd7b[_0x2bbe('0x29')]){var _0x2d2b06={'messages':[{'source':_0x2bbe('0x42'),'to':_0x32cf3f[_0x2bbe('0x1d')],'body':_0x32cf3f['body'],'from':_0x3abd7b[_0x2bbe('0x2f')]||_0x3abd7b[_0x2bbe('0x1d')]}]};var _0x5e27b9=util['format'](_0x2bbe('0x43'),_0x3abd7b['username'],_0x3abd7b['password']);var _0x152096={'method':'POST','uri':_0x2bbe('0x44'),'body':_0x2d2b06,'headers':{'Authorization':util[_0x2bbe('0x45')](_0x2bbe('0x46'),new Buffer(_0x5e27b9)[_0x2bbe('0x47')](_0x2bbe('0x48')))},'json':!![]};rp(_0x152096)[_0x2bbe('0x18')](function(_0x14d51a){if(_0x14d51a[_0x2bbe('0x49')]>=0xc8&&_0x14d51a[_0x2bbe('0x49')]<=0xce){if(_0x14d51a[_0x2bbe('0x4a')]&&_0x14d51a[_0x2bbe('0x4a')]['queued_count']>0x0){var _0x418857=_[_0x2bbe('0x4b')](_0x14d51a['data'][_0x2bbe('0x4c')]);var _0x5939d8={'messageId':_0x418857[_0x2bbe('0x4d')]};if(!_0x3abd7b[_0x2bbe('0x3b')]){_0x5939d8['read']=!![];}return _0x11b761[_0x2bbe('0x12')](_0x5939d8);}else{logger[_0x2bbe('0x14')](_0x2bbe('0x24'),'afterCreate',_0x2bbe('0x4e'),util['inspect'](_0x14d51a,{'showHidden':![],'depth':null}));}}else{logger[_0x2bbe('0x14')](_0x2bbe('0x24'),'afterCreate',_0x2bbe('0x4e'),util[_0x2bbe('0x26')](_0x14d51a,{'showHidden':![],'depth':null}));}})[_0x2bbe('0x23')](function(_0x470cbc){logger[_0x2bbe('0x14')](_0x2bbe('0x24'),'afterCreate','clickSend',util[_0x2bbe('0x26')](_0x470cbc,{'showHidden':![],'depth':null}));});}else{logger[_0x2bbe('0x14')](_0x2bbe('0x24'),_0x2bbe('0x25'),_0x2bbe('0x4e'),'Missing\x20parameters:\x20username,\x20password');}break;case _0x2bbe('0x4f'):if(_0x3abd7b[_0x2bbe('0x50')]&&_0x3abd7b[_0x2bbe('0x1c')]){var _0x2d2b06={'dst':_0x32cf3f[_0x2bbe('0x1d')],'text':_0x32cf3f[_0x2bbe('0x13')],'src':_0x3abd7b[_0x2bbe('0x2f')]||_0x3abd7b[_0x2bbe('0x1d')],'url':_0x3abd7b[_0x2bbe('0x1f')]+_0x2bbe('0x20')+_0x32cf3f['id']+_0x2bbe('0x51')+_0x3abd7b[_0x2bbe('0x21')]};var _0x5e27b9=util[_0x2bbe('0x45')](_0x2bbe('0x43'),_0x3abd7b[_0x2bbe('0x50')],_0x3abd7b[_0x2bbe('0x1c')]);var _0x152096={'method':_0x2bbe('0x34'),'uri':util[_0x2bbe('0x45')](_0x2bbe('0x52'),_0x3abd7b['authId']),'body':_0x2d2b06,'headers':{'Authorization':util[_0x2bbe('0x45')](_0x2bbe('0x46'),new Buffer(_0x5e27b9)[_0x2bbe('0x47')](_0x2bbe('0x48')))},'json':!![]};rp(_0x152096)[_0x2bbe('0x18')](function(_0x828909){var _0x5683eb={'messageId':_0x828909[_0x2bbe('0x53')][0x0]};return _0x11b761[_0x2bbe('0x12')](_0x5683eb);})[_0x2bbe('0x23')](function(_0x176b2c){logger['error']('SmsMessage,\x20%s,\x20%s,\x20%s','afterCreate','plivo',util['inspect'](_0x176b2c,{'showHidden':![],'depth':null}));});}else{logger['error'](_0x2bbe('0x24'),'afterCreate',_0x2bbe('0x4f'),'Missing\x20parameters:\x20authId,\x20authToken');}break;}}})[_0x2bbe('0x54')](function(){_0x420c28();});}else{_0x420c28();}}},'charset':_0x2bbe('0x55'),'collate':'utf8mb4_unicode_ci'});};