5959167fc91280b337308df4ad169113959208aa
[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 _0x196c=['threadId','update','inspect','finally','utf8mb4','lodash','util','api','moment','bluebird','path','rimraf','../../config/environment','exports','define','OpenchannelMessage','openchannel_messages','fti_openchannel_messages','body','FULLTEXT','models','get','direction','toLowerCase','secret','isNil','UserId','findOne','OpenchannelInteractionId','then','createdAt','catch','error','out','CmContact','describe','OpenchannelAccount','OpenchannelInteraction','Interactions','Contact','keys','replyUri','info','OpenchannelMessage,\x20%s,\x20%s','afterCreate','Forwarding\x20message\x20%d\x20to\x20%s','Interaction','POST','method','Message\x20%d\x20forwarded\x20to\x20%s'];(function(_0x3c37f3,_0x479b49){var _0x47be1f=function(_0x48836d){while(--_0x48836d){_0x3c37f3['push'](_0x3c37f3['shift']());}};_0x47be1f(++_0x479b49);}(_0x196c,0x131));var _0xc196=function(_0x57c655,_0xdaf449){_0x57c655=_0x57c655-0x0;var _0x2f6450=_0x196c[_0x57c655];return _0x2f6450;};'use strict';var _=require(_0xc196('0x0'));var util=require(_0xc196('0x1'));var logger=require('../../config/logger')(_0xc196('0x2'));var moment=require(_0xc196('0x3'));var BPromise=require(_0xc196('0x4'));var rp=require('request-promise');var fs=require('fs');var path=require(_0xc196('0x5'));var rimraf=require(_0xc196('0x6'));var config=require(_0xc196('0x7'));var attributes=require('./openchannelMessage.attributes');module[_0xc196('0x8')]=function(_0x36a286,_0x53dde8){return _0x36a286[_0xc196('0x9')](_0xc196('0xa'),attributes,{'tableName':_0xc196('0xb'),'paranoid':![],'indexes':[{'name':_0xc196('0xc'),'fields':[_0xc196('0xd')],'type':_0xc196('0xe')}],'timestamps':!![],'hooks':{'afterCreate':function(_0x2873e2,_0x10fd68,_0x22aaf4){var _0x3e5991=_0x36a286[_0xc196('0xf')];var _0xf08151=_0x2873e2[_0xc196('0x10')]({'plain':!![]});if(_0xf08151[_0xc196('0x11')][_0xc196('0x12')]()==='in'||_0xf08151[_0xc196('0x11')]['toLowerCase']()==='out'&&!_0xf08151[_0xc196('0x13')]&&!_[_0xc196('0x14')](_0xf08151[_0xc196('0x15')])){_0x3e5991['OpenchannelInteraction'][_0xc196('0x16')]({'where':{'id':_0xf08151[_0xc196('0x17')]}})[_0xc196('0x18')](function(_0x5b7b8c){if(_0x5b7b8c){_0x5b7b8c['update']({'lastMsgAt':_0xf08151[_0xc196('0x19')],'lastMsgDirection':_0xf08151[_0xc196('0x11')]['toLowerCase']()});}})[_0xc196('0x1a')](function(_0x19a4b1){console[_0xc196('0x1b')](_0x19a4b1);});}if(_0xf08151[_0xc196('0x11')]===_0xc196('0x1c')&&!_0xf08151[_0xc196('0x13')]){var _0xda8907;_0x3e5991[_0xc196('0x1d')][_0xc196('0x1e')]()[_0xc196('0x18')](function(_0x424970){return _0x3e5991[_0xc196('0x1f')]['find']({'where':{'id':_0xf08151['OpenchannelAccountId']},'include':[{'model':_0x3e5991[_0xc196('0x20')],'as':_0xc196('0x21'),'where':{'id':_0xf08151[_0xc196('0x17')]},'limit':0x1,'include':[{'model':_0x3e5991['CmContact'],'as':_0xc196('0x22'),'attributes':_[_0xc196('0x23')](_0x424970)}]}]});})[_0xc196('0x18')](function(_0x2e4ae1){_0xda8907=_0x2e4ae1[_0xc196('0x10')]({'plain':!![]});if(_0xda8907&&_0xda8907[_0xc196('0x24')]){logger[_0xc196('0x25')](_0xc196('0x26'),_0xc196('0x27'),util['format'](_0xc196('0x28'),_0xf08151['id'],_0xda8907['replyUri']));if(_0xda8907[_0xc196('0x21')]&&_0xda8907['Interactions']['length']){_0xf08151[_0xc196('0x29')]=_['omit'](_0xda8907[_0xc196('0x21')][0x0],_0xc196('0x22'));_0xf08151['Contact']=_0xda8907['Interactions'][0x0][_0xc196('0x22')];}var _0x10fd68={'method':_0xc196('0x2a'),'uri':encodeURI(_0xda8907[_0xc196('0x24')]),'json':!![],'resolveWithFullResponse':!![]};switch(_0x10fd68[_0xc196('0x2b')]){case'GET':_0x10fd68['qs']=_0xf08151;break;case _0xc196('0x2a'):_0x10fd68[_0xc196('0xd')]=_0xf08151;break;}return rp(_0x10fd68)['then'](function(_0x4249e1){logger[_0xc196('0x25')](_0xc196('0x26'),_0xc196('0x27'),util['format'](_0xc196('0x2c'),_0xf08151['id'],_0xda8907[_0xc196('0x24')]));if(_0x4249e1[_0xc196('0xd')][_0xc196('0x2d')]&&_0x4249e1['body'][_0xc196('0x2d')]!=_0xf08151[_0xc196('0x29')][_0xc196('0x2d')]){return _0x3e5991[_0xc196('0x20')]['update']({'threadId':_0x4249e1[_0xc196('0xd')][_0xc196('0x2d')]},{'logging':!![],'where':{'id':_0xf08151[_0xc196('0x29')]['id']}});}else{return;}})[_0xc196('0x18')](function(){return _0x2873e2[_0xc196('0x2e')]({'read':!![]});})[_0xc196('0x1a')](function(_0x4587c9){logger[_0xc196('0x1b')]('OpenchannelMessage,\x20%s,\x20%s','afterCreate',util[_0xc196('0x2f')](_0x4587c9,{'showHidden':![],'depth':null}));_0x22aaf4();});}else{_0x22aaf4();}})[_0xc196('0x30')](function(){_0x22aaf4();});}else{_0x22aaf4();}}},'charset':_0xc196('0x31'),'collate':'utf8mb4_unicode_ci'});};