4d3e1b594c4bdab2a0a07f64e7c6434e23cb323a
[motion2.git] / server / api / openchannelMessage / openchannelMessage.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 _0x9221=['utf8mb4','utf8mb4_unicode_ci','util','../../config/logger','moment','bluebird','path','rimraf','../../config/environment','./openchannelMessage.attributes','exports','OpenchannelMessage','openchannel_messages','fti_openchannel_messages','FULLTEXT','get','toLowerCase','secret','isNil','UserId','OpenchannelInteractionId','then','update','createdAt','error','direction','out','CmContact','describe','OpenchannelAccount','OpenchannelAccountId','OpenchannelInteraction','keys','info','OpenchannelMessage,\x20%s,\x20%s','afterCreate','format','replyUri','Interactions','Interaction','Contact','POST','method','GET','body','Message\x20%d\x20forwarded\x20to\x20%s','threadId','catch','finally'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x9221,0x64));var _0x1922=function(_0x1dc82c,_0x4f43eb){_0x1dc82c=_0x1dc82c-0x0;var _0x39b34a=_0x9221[_0x1dc82c];return _0x39b34a;};'use strict';var _=require('lodash');var util=require(_0x1922('0x0'));var logger=require(_0x1922('0x1'))('api');var moment=require(_0x1922('0x2'));var BPromise=require(_0x1922('0x3'));var rp=require('request-promise');var fs=require('fs');var path=require(_0x1922('0x4'));var rimraf=require(_0x1922('0x5'));var config=require(_0x1922('0x6'));var attributes=require(_0x1922('0x7'));module[_0x1922('0x8')]=function(_0x1944a5,_0x1351a0){return _0x1944a5['define'](_0x1922('0x9'),attributes,{'tableName':_0x1922('0xa'),'paranoid':![],'indexes':[{'name':_0x1922('0xb'),'fields':['body'],'type':_0x1922('0xc')}],'timestamps':!![],'hooks':{'afterCreate':function(_0x5e9060,_0x2b6c51,_0xc1ae7){var _0x1082d8=_0x1944a5['models'];var _0x288bfa=_0x5e9060[_0x1922('0xd')]({'plain':!![]});if(_0x288bfa['direction'][_0x1922('0xe')]()==='in'||_0x288bfa['direction'][_0x1922('0xe')]()==='out'&&!_0x288bfa[_0x1922('0xf')]&&!_[_0x1922('0x10')](_0x288bfa[_0x1922('0x11')])){_0x1082d8['OpenchannelInteraction']['findOne']({'where':{'id':_0x288bfa[_0x1922('0x12')]}})[_0x1922('0x13')](function(_0x3d1bfb){if(_0x3d1bfb){_0x3d1bfb[_0x1922('0x14')]({'lastMsgAt':_0x288bfa[_0x1922('0x15')],'lastMsgDirection':_0x288bfa['direction'][_0x1922('0xe')]()});}})['catch'](function(_0x6b9389){console[_0x1922('0x16')](_0x6b9389);});}if(_0x288bfa[_0x1922('0x17')]===_0x1922('0x18')&&!_0x288bfa['secret']){var _0x459511;_0x1082d8[_0x1922('0x19')][_0x1922('0x1a')]()['then'](function(_0x482f68){return _0x1082d8[_0x1922('0x1b')]['find']({'where':{'id':_0x288bfa[_0x1922('0x1c')]},'include':[{'model':_0x1082d8[_0x1922('0x1d')],'as':'Interactions','where':{'id':_0x288bfa['OpenchannelInteractionId']},'limit':0x1,'include':[{'model':_0x1082d8[_0x1922('0x19')],'as':'Contact','attributes':_[_0x1922('0x1e')](_0x482f68)}]}]});})[_0x1922('0x13')](function(_0x1fb6a4){_0x459511=_0x1fb6a4[_0x1922('0xd')]({'plain':!![]});if(_0x459511&&_0x459511['replyUri']){logger[_0x1922('0x1f')](_0x1922('0x20'),_0x1922('0x21'),util[_0x1922('0x22')]('Forwarding\x20message\x20%d\x20to\x20%s',_0x288bfa['id'],_0x459511[_0x1922('0x23')]));if(_0x459511[_0x1922('0x24')]&&_0x459511[_0x1922('0x24')]['length']){_0x288bfa[_0x1922('0x25')]=_['omit'](_0x459511['Interactions'][0x0],_0x1922('0x26'));_0x288bfa[_0x1922('0x26')]=_0x459511[_0x1922('0x24')][0x0][_0x1922('0x26')];}var _0x2b6c51={'method':_0x1922('0x27'),'uri':encodeURI(_0x459511[_0x1922('0x23')]),'json':!![],'resolveWithFullResponse':!![]};switch(_0x2b6c51[_0x1922('0x28')]){case _0x1922('0x29'):_0x2b6c51['qs']=_0x288bfa;break;case _0x1922('0x27'):_0x2b6c51[_0x1922('0x2a')]=_0x288bfa;break;}return rp(_0x2b6c51)['then'](function(_0x3db249){logger['info'](_0x1922('0x20'),_0x1922('0x21'),util[_0x1922('0x22')](_0x1922('0x2b'),_0x288bfa['id'],_0x459511[_0x1922('0x23')]));if(_0x3db249[_0x1922('0x2a')][_0x1922('0x2c')]&&_0x3db249[_0x1922('0x2a')][_0x1922('0x2c')]!=_0x288bfa['Interaction'][_0x1922('0x2c')]){return _0x1082d8[_0x1922('0x1d')][_0x1922('0x14')]({'threadId':_0x3db249[_0x1922('0x2a')][_0x1922('0x2c')]},{'logging':!![],'where':{'id':_0x288bfa['Interaction']['id']}});}else{return;}})[_0x1922('0x13')](function(){return _0x5e9060[_0x1922('0x14')]({'read':!![]});})[_0x1922('0x2d')](function(_0x1b3934){logger[_0x1922('0x16')](_0x1922('0x20'),_0x1922('0x21'),util['inspect'](_0x1b3934,{'showHidden':![],'depth':null}));_0xc1ae7();});}else{_0xc1ae7();}})[_0x1922('0x2e')](function(){_0xc1ae7();});}else{_0xc1ae7();}}},'charset':_0x1922('0x2f'),'collate':_0x1922('0x30')});};