35875d4c862d4902105acaa7a3edcff1b382e921
[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 _0xf9ee=['OpenchannelInteractionId','then','update','createdAt','catch','error','secret','describe','OpenchannelAccount','find','CmContact','Contact','replyUri','info','format','Forwarding\x20message\x20%d\x20to\x20%s','Interactions','length','omit','method','GET','POST','OpenchannelMessage,\x20%s,\x20%s','afterCreate','threadId','Interaction','OpenchannelInteraction','inspect','finally','utf8mb4','lodash','../../config/logger','api','moment','request-promise','path','rimraf','../../config/environment','exports','define','openchannel_messages','fti_openchannel_messages','body','models','direction','toLowerCase','out','isNil','findOne'];(function(_0x122ef9,_0x451d2a){var _0x42fba0=function(_0x17c9d3){while(--_0x17c9d3){_0x122ef9['push'](_0x122ef9['shift']());}};_0x42fba0(++_0x451d2a);}(_0xf9ee,0xe2));var _0xef9e=function(_0x4b7f79,_0x55d4ce){_0x4b7f79=_0x4b7f79-0x0;var _0x187c44=_0xf9ee[_0x4b7f79];return _0x187c44;};'use strict';var _=require(_0xef9e('0x0'));var util=require('util');var logger=require(_0xef9e('0x1'))(_0xef9e('0x2'));var moment=require(_0xef9e('0x3'));var BPromise=require('bluebird');var rp=require(_0xef9e('0x4'));var fs=require('fs');var path=require(_0xef9e('0x5'));var rimraf=require(_0xef9e('0x6'));var config=require(_0xef9e('0x7'));var attributes=require('./openchannelMessage.attributes');module[_0xef9e('0x8')]=function(_0x124847,_0x4ca84f){return _0x124847[_0xef9e('0x9')]('OpenchannelMessage',attributes,{'tableName':_0xef9e('0xa'),'paranoid':![],'indexes':[{'name':_0xef9e('0xb'),'fields':[_0xef9e('0xc')],'type':'FULLTEXT'}],'timestamps':!![],'hooks':{'afterCreate':function(_0x27c33d,_0x394018,_0x123d49){var _0x478743=_0x124847[_0xef9e('0xd')];var _0x5f1094=_0x27c33d['get']({'plain':!![]});if(_0x5f1094['direction']['toLowerCase']()==='in'||_0x5f1094[_0xef9e('0xe')][_0xef9e('0xf')]()===_0xef9e('0x10')&&!_0x5f1094['secret']&&!_[_0xef9e('0x11')](_0x5f1094['UserId'])){_0x478743['OpenchannelInteraction'][_0xef9e('0x12')]({'where':{'id':_0x5f1094[_0xef9e('0x13')]}})[_0xef9e('0x14')](function(_0x476997){if(_0x476997){_0x476997[_0xef9e('0x15')]({'lastMsgAt':_0x5f1094[_0xef9e('0x16')],'lastMsgDirection':_0x5f1094[_0xef9e('0xe')][_0xef9e('0xf')]()});}})[_0xef9e('0x17')](function(_0xa82f22){console[_0xef9e('0x18')](_0xa82f22);});}if(_0x5f1094[_0xef9e('0xe')]===_0xef9e('0x10')&&!_0x5f1094[_0xef9e('0x19')]){var _0x211e8a;_0x478743['CmContact'][_0xef9e('0x1a')]()[_0xef9e('0x14')](function(_0x2a1701){return _0x478743[_0xef9e('0x1b')][_0xef9e('0x1c')]({'where':{'id':_0x5f1094['OpenchannelAccountId']},'include':[{'model':_0x478743['OpenchannelInteraction'],'as':'Interactions','where':{'id':_0x5f1094[_0xef9e('0x13')]},'limit':0x1,'include':[{'model':_0x478743[_0xef9e('0x1d')],'as':_0xef9e('0x1e'),'attributes':_['keys'](_0x2a1701)}]}]});})[_0xef9e('0x14')](function(_0x2241ff){_0x211e8a=_0x2241ff['get']({'plain':!![]});if(_0x211e8a&&_0x211e8a[_0xef9e('0x1f')]){logger[_0xef9e('0x20')]('OpenchannelMessage,\x20%s,\x20%s','afterCreate',util[_0xef9e('0x21')](_0xef9e('0x22'),_0x5f1094['id'],_0x211e8a[_0xef9e('0x1f')]));if(_0x211e8a[_0xef9e('0x23')]&&_0x211e8a['Interactions'][_0xef9e('0x24')]){_0x5f1094['Interaction']=_[_0xef9e('0x25')](_0x211e8a[_0xef9e('0x23')][0x0],_0xef9e('0x1e'));_0x5f1094[_0xef9e('0x1e')]=_0x211e8a[_0xef9e('0x23')][0x0]['Contact'];}var _0x394018={'method':'POST','uri':encodeURI(_0x211e8a[_0xef9e('0x1f')]),'json':!![],'resolveWithFullResponse':!![]};switch(_0x394018[_0xef9e('0x26')]){case _0xef9e('0x27'):_0x394018['qs']=_0x5f1094;break;case _0xef9e('0x28'):_0x394018[_0xef9e('0xc')]=_0x5f1094;break;}return rp(_0x394018)[_0xef9e('0x14')](function(_0x2650a4){logger['info'](_0xef9e('0x29'),_0xef9e('0x2a'),util[_0xef9e('0x21')]('Message\x20%d\x20forwarded\x20to\x20%s',_0x5f1094['id'],_0x211e8a[_0xef9e('0x1f')]));if(_0x2650a4[_0xef9e('0xc')][_0xef9e('0x2b')]&&_0x2650a4[_0xef9e('0xc')][_0xef9e('0x2b')]!=_0x5f1094[_0xef9e('0x2c')]['threadId']){return _0x478743[_0xef9e('0x2d')][_0xef9e('0x15')]({'threadId':_0x2650a4[_0xef9e('0xc')][_0xef9e('0x2b')]},{'logging':!![],'where':{'id':_0x5f1094[_0xef9e('0x2c')]['id']}});}else{return;}})[_0xef9e('0x14')](function(){return _0x27c33d[_0xef9e('0x15')]({'read':!![]});})[_0xef9e('0x17')](function(_0x1fd0bf){logger['error'](_0xef9e('0x29'),'afterCreate',util[_0xef9e('0x2e')](_0x1fd0bf,{'showHidden':![],'depth':null}));_0x123d49();});}else{_0x123d49();}})[_0xef9e('0x2f')](function(){_0x123d49();});}else{_0x123d49();}}},'charset':_0xef9e('0x30'),'collate':'utf8mb4_unicode_ci'});};