Built motion from commit (unavailable).|2.5.4
[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 _0x0d12=['exports','define','WhatsappMessage','messageId','get','direction','toLowerCase','out','isNil','UserId','findOne','WhatsappInteractionId','then','createdAt','secret','WhatsappAccount','find','WhatsappAccountId','type','twilio','accountSid','authToken','messages','body','whatsapp:','phone','/api/whatsapp/messages/','/status?token=','sid','update','catch','afterCreate','error','WhatsappMessage,\x20%s,\x20%s,\x20%s','finally','utf8mb4','lodash','util','api','moment','bluebird','request-promise','path','../../config/environment'];(function(_0x22947d,_0x2177ca){var _0x489b7b=function(_0x3e190e){while(--_0x3e190e){_0x22947d['push'](_0x22947d['shift']());}};_0x489b7b(++_0x2177ca);}(_0x0d12,0x1b0));var _0x20d1=function(_0x1756f0,_0x35e2cd){_0x1756f0=_0x1756f0-0x0;var _0x2e329d=_0x0d12[_0x1756f0];return _0x2e329d;};'use strict';var _=require(_0x20d1('0x0'));var util=require(_0x20d1('0x1'));var logger=require('../../config/logger')(_0x20d1('0x2'));var moment=require(_0x20d1('0x3'));var BPromise=require(_0x20d1('0x4'));var rp=require(_0x20d1('0x5'));var fs=require('fs');var path=require(_0x20d1('0x6'));var rimraf=require('rimraf');var config=require(_0x20d1('0x7'));var attributes=require('./whatsappMessage.attributes');module[_0x20d1('0x8')]=function(_0x3e87d0,_0x5a1919){return _0x3e87d0[_0x20d1('0x9')](_0x20d1('0xa'),attributes,{'tableName':'whatsapp_messages','paranoid':![],'indexes':[{'name':_0x20d1('0xb'),'fields':[_0x20d1('0xb')]},{'name':'fti_whatsapp_messages','fields':['body'],'type':'FULLTEXT'}],'timestamps':!![],'hooks':{'afterCreate':function(_0x2c1f9c,_0x35c6f2,_0x362ec1){var _0x55625a=_0x3e87d0['models'];var _0x49f3c=_0x2c1f9c[_0x20d1('0xc')]({'plain':!![]});if(_0x49f3c[_0x20d1('0xd')]['toLowerCase']()==='in'||_0x49f3c[_0x20d1('0xd')][_0x20d1('0xe')]()===_0x20d1('0xf')&&!_0x49f3c['secret']&&!_[_0x20d1('0x10')](_0x49f3c[_0x20d1('0x11')])){_0x55625a['WhatsappInteraction'][_0x20d1('0x12')]({'where':{'id':_0x49f3c[_0x20d1('0x13')]}})[_0x20d1('0x14')](function(_0x21826b){if(_0x21826b){_0x21826b['update']({'lastMsgAt':_0x49f3c[_0x20d1('0x15')],'lastMsgDirection':_0x49f3c['direction'][_0x20d1('0xe')]()});}})['catch'](function(_0xc67167){console['error'](_0xc67167);});}if(_0x49f3c[_0x20d1('0xd')]==='out'&&!_0x49f3c[_0x20d1('0x16')]){var _0x1d6672;_0x55625a[_0x20d1('0x17')][_0x20d1('0x18')]({'where':{'id':_0x49f3c[_0x20d1('0x19')]},'raw':!![]})[_0x20d1('0x14')](function(_0x1614bc){_0x1d6672=_0x1614bc;if(_0x1d6672&&_0x1d6672[_0x20d1('0x1a')]){switch(_0x1d6672['type']){case _0x20d1('0x1b'):var _0x396c9c=require(_0x20d1('0x1b'));if(_0x1d6672[_0x20d1('0x1c')]&&_0x1d6672[_0x20d1('0x1d')]&&_0x1d6672['phone']){var _0x145577=new _0x396c9c(_0x1d6672[_0x20d1('0x1c')],_0x1d6672[_0x20d1('0x1d')]);_0x145577[_0x20d1('0x1e')]['create']({'body':_0x49f3c[_0x20d1('0x1f')],'to':_0x20d1('0x20')+_0x49f3c[_0x20d1('0x21')],'from':_0x20d1('0x20')+_0x1d6672[_0x20d1('0x21')],'statusCallback':_0x1d6672['remote']+_0x20d1('0x22')+_0x49f3c['id']+_0x20d1('0x23')+_0x1d6672['token']})[_0x20d1('0x14')](function(_0x19337e){if(_0x19337e[_0x20d1('0x24')]){return _0x2c1f9c[_0x20d1('0x25')]({'messageId':_0x19337e['sid']});}})[_0x20d1('0x26')](function(_0x3fd2be){logger['error']('WhatsappMessage,\x20%s,\x20%s,\x20%s',_0x20d1('0x27'),'twilio',util['inspect'](_0x3fd2be,{'showHidden':![],'depth':null}));});}else{logger[_0x20d1('0x28')](_0x20d1('0x29'),_0x20d1('0x27'),_0x20d1('0x1b'),'Missing\x20parameters:\x20phone,\x20accountSid\x20or\x20authToken');}break;}}})[_0x20d1('0x2a')](function(){_0x362ec1();});}else{_0x362ec1();}}},'charset':_0x20d1('0x2b'),'collate':'utf8mb4_unicode_ci'});};