Built motion from commit 3e059bc2.|2.5.32
[motion2.git] / server / api / whatsappMessage / whatsappMessage.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 _0xe7e4=['createdAt','toLowerCase','catch','error','find','WhatsappAccountId','type','twilio','accountSid','authToken','phone','messages','create','whatsapp:','remote','/api/whatsapp/messages/','/status?token=','token','sid','WhatsappMessage,\x20%s,\x20%s,\x20%s','finally','utf8mb4_unicode_ci','util','../../config/logger','moment','bluebird','request-promise','path','rimraf','../../config/environment','./whatsappMessage.attributes','exports','WhatsappMessage','whatsapp_messages','messageId','fti_whatsapp_messages','FULLTEXT','models','get','direction','out','secret','isNil','WhatsappInteraction','findOne','then','update'];(function(_0x2dafbe,_0x5d04de){var _0x58a45a=function(_0x50ac96){while(--_0x50ac96){_0x2dafbe['push'](_0x2dafbe['shift']());}};_0x58a45a(++_0x5d04de);}(_0xe7e4,0xa3));var _0x4e7e=function(_0x5947f3,_0x251513){_0x5947f3=_0x5947f3-0x0;var _0x4afcef=_0xe7e4[_0x5947f3];return _0x4afcef;};'use strict';var _=require('lodash');var util=require(_0x4e7e('0x0'));var logger=require(_0x4e7e('0x1'))('api');var moment=require(_0x4e7e('0x2'));var BPromise=require(_0x4e7e('0x3'));var rp=require(_0x4e7e('0x4'));var fs=require('fs');var path=require(_0x4e7e('0x5'));var rimraf=require(_0x4e7e('0x6'));var config=require(_0x4e7e('0x7'));var attributes=require(_0x4e7e('0x8'));module[_0x4e7e('0x9')]=function(_0x4f038a,_0x38a076){return _0x4f038a['define'](_0x4e7e('0xa'),attributes,{'tableName':_0x4e7e('0xb'),'paranoid':![],'indexes':[{'name':'messageId','fields':[_0x4e7e('0xc')]},{'name':_0x4e7e('0xd'),'fields':['body'],'type':_0x4e7e('0xe')}],'timestamps':!![],'hooks':{'afterCreate':function(_0x18705c,_0xbe340f,_0x5afd0f){var _0x443d60=_0x4f038a[_0x4e7e('0xf')];var _0x26f82d=_0x18705c[_0x4e7e('0x10')]({'plain':!![]});if(_0x26f82d['direction']['toLowerCase']()==='in'||_0x26f82d[_0x4e7e('0x11')]['toLowerCase']()===_0x4e7e('0x12')&&!_0x26f82d[_0x4e7e('0x13')]&&!_[_0x4e7e('0x14')](_0x26f82d['UserId'])){_0x443d60[_0x4e7e('0x15')][_0x4e7e('0x16')]({'where':{'id':_0x26f82d['WhatsappInteractionId']}})[_0x4e7e('0x17')](function(_0x57be33){if(_0x57be33){_0x57be33[_0x4e7e('0x18')]({'lastMsgAt':_0x26f82d[_0x4e7e('0x19')],'lastMsgDirection':_0x26f82d['direction'][_0x4e7e('0x1a')]()});}})[_0x4e7e('0x1b')](function(_0x56362a){console[_0x4e7e('0x1c')](_0x56362a);});}if(_0x26f82d['direction']===_0x4e7e('0x12')&&!_0x26f82d[_0x4e7e('0x13')]){var _0x5a6971;_0x443d60['WhatsappAccount'][_0x4e7e('0x1d')]({'where':{'id':_0x26f82d[_0x4e7e('0x1e')]},'raw':!![]})[_0x4e7e('0x17')](function(_0x48fcf9){_0x5a6971=_0x48fcf9;if(_0x5a6971&&_0x5a6971[_0x4e7e('0x1f')]){switch(_0x5a6971[_0x4e7e('0x1f')]){case _0x4e7e('0x20'):var _0x56f4c5=require(_0x4e7e('0x20'));if(_0x5a6971[_0x4e7e('0x21')]&&_0x5a6971[_0x4e7e('0x22')]&&_0x5a6971[_0x4e7e('0x23')]){var _0x3bf6a6=new _0x56f4c5(_0x5a6971[_0x4e7e('0x21')],_0x5a6971[_0x4e7e('0x22')]);_0x3bf6a6[_0x4e7e('0x24')][_0x4e7e('0x25')]({'body':_0x26f82d['body'],'to':_0x4e7e('0x26')+_0x26f82d[_0x4e7e('0x23')],'from':'whatsapp:'+_0x5a6971[_0x4e7e('0x23')],'statusCallback':_0x5a6971[_0x4e7e('0x27')]+_0x4e7e('0x28')+_0x26f82d['id']+_0x4e7e('0x29')+_0x5a6971[_0x4e7e('0x2a')]})['then'](function(_0x199eda){if(_0x199eda[_0x4e7e('0x2b')]){return _0x18705c[_0x4e7e('0x18')]({'messageId':_0x199eda['sid']});}})[_0x4e7e('0x1b')](function(_0x29076f){logger['error'](_0x4e7e('0x2c'),'afterCreate',_0x4e7e('0x20'),util['inspect'](_0x29076f,{'showHidden':![],'depth':null}));});}else{logger[_0x4e7e('0x1c')]('WhatsappMessage,\x20%s,\x20%s,\x20%s','afterCreate','twilio','Missing\x20parameters:\x20phone,\x20accountSid\x20or\x20authToken');}break;}}})[_0x4e7e('0x2d')](function(){_0x5afd0f();});}else{_0x5afd0f();}}},'charset':'utf8mb4','collate':_0x4e7e('0x2e')});};