93231619549808f9d8870648cb89d521b4030593
[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 _0x167b=['accountSid','authToken','phone','create','whatsapp:','/api/whatsapp/messages/','/status?token=','token','sid','error','WhatsappMessage,\x20%s,\x20%s,\x20%s','afterCreate','finally','utf8mb4','lodash','util','../../config/logger','moment','bluebird','request-promise','path','rimraf','./whatsappMessage.attributes','exports','whatsapp_messages','messageId','body','FULLTEXT','models','direction','out','secret','WhatsappInteraction','findOne','WhatsappInteractionId','then','update','createdAt','catch','WhatsappAccount','find','WhatsappAccountId','type','twilio'];(function(_0x199572,_0x33e667){var _0x13cfa3=function(_0x53c075){while(--_0x53c075){_0x199572['push'](_0x199572['shift']());}};_0x13cfa3(++_0x33e667);}(_0x167b,0xbe));var _0xb167=function(_0x228c9a,_0x315247){_0x228c9a=_0x228c9a-0x0;var _0x35bc2e=_0x167b[_0x228c9a];return _0x35bc2e;};'use strict';var _=require(_0xb167('0x0'));var util=require(_0xb167('0x1'));var logger=require(_0xb167('0x2'))('api');var moment=require(_0xb167('0x3'));var BPromise=require(_0xb167('0x4'));var rp=require(_0xb167('0x5'));var fs=require('fs');var path=require(_0xb167('0x6'));var rimraf=require(_0xb167('0x7'));var config=require('../../config/environment');var attributes=require(_0xb167('0x8'));module[_0xb167('0x9')]=function(_0x225e42,_0x33a8bd){return _0x225e42['define']('WhatsappMessage',attributes,{'tableName':_0xb167('0xa'),'paranoid':![],'indexes':[{'name':_0xb167('0xb'),'fields':[_0xb167('0xb')]},{'name':'fti_whatsapp_messages','fields':[_0xb167('0xc')],'type':_0xb167('0xd')}],'timestamps':!![],'hooks':{'afterCreate':function(_0x52e0d3,_0x53429b,_0x5277ff){var _0x2da139=_0x225e42[_0xb167('0xe')];var _0xeb4c9a=_0x52e0d3['get']({'plain':!![]});if(_0xeb4c9a[_0xb167('0xf')]['toLowerCase']()==='in'||_0xeb4c9a[_0xb167('0xf')]['toLowerCase']()===_0xb167('0x10')&&!_0xeb4c9a[_0xb167('0x11')]&&!_['isNil'](_0xeb4c9a['UserId'])){_0x2da139[_0xb167('0x12')][_0xb167('0x13')]({'where':{'id':_0xeb4c9a[_0xb167('0x14')]}})[_0xb167('0x15')](function(_0x2770a6){if(_0x2770a6){_0x2770a6[_0xb167('0x16')]({'lastMsgAt':_0xeb4c9a[_0xb167('0x17')],'lastMsgDirection':_0xeb4c9a[_0xb167('0xf')]['toLowerCase']()});}})[_0xb167('0x18')](function(_0x5946a6){console['error'](_0x5946a6);});}if(_0xeb4c9a[_0xb167('0xf')]==='out'&&!_0xeb4c9a['secret']){var _0x1be940;_0x2da139[_0xb167('0x19')][_0xb167('0x1a')]({'where':{'id':_0xeb4c9a[_0xb167('0x1b')]},'raw':!![]})[_0xb167('0x15')](function(_0x1110a6){_0x1be940=_0x1110a6;if(_0x1be940&&_0x1be940['type']){switch(_0x1be940[_0xb167('0x1c')]){case'twilio':var _0x1bd6ed=require(_0xb167('0x1d'));if(_0x1be940[_0xb167('0x1e')]&&_0x1be940[_0xb167('0x1f')]&&_0x1be940[_0xb167('0x20')]){var _0x2a0d70=new _0x1bd6ed(_0x1be940[_0xb167('0x1e')],_0x1be940[_0xb167('0x1f')]);_0x2a0d70['messages'][_0xb167('0x21')]({'body':_0xeb4c9a['body'],'to':_0xb167('0x22')+_0xeb4c9a['phone'],'from':_0xb167('0x22')+_0x1be940[_0xb167('0x20')],'statusCallback':_0x1be940['remote']+_0xb167('0x23')+_0xeb4c9a['id']+_0xb167('0x24')+_0x1be940[_0xb167('0x25')]})[_0xb167('0x15')](function(_0x451c53){if(_0x451c53[_0xb167('0x26')]){return _0x52e0d3['update']({'messageId':_0x451c53['sid']});}})[_0xb167('0x18')](function(_0x47839f){logger[_0xb167('0x27')](_0xb167('0x28'),_0xb167('0x29'),_0xb167('0x1d'),util['inspect'](_0x47839f,{'showHidden':![],'depth':null}));});}else{logger['error'](_0xb167('0x28'),_0xb167('0x29'),_0xb167('0x1d'),'Missing\x20parameters:\x20phone,\x20accountSid\x20or\x20authToken');}break;}}})[_0xb167('0x2a')](function(){_0x5277ff();});}else{_0x5277ff();}}},'charset':_0xb167('0x2b'),'collate':'utf8mb4_unicode_ci'});};