Built motion from commit (unavailable).|2.5.19
[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 _0x3a43=['method','GET','Message\x20%d\x20forwarded\x20to\x20%s','threadId','inspect','utf8mb4','lodash','../../config/logger','bluebird','request-promise','rimraf','../../config/environment','./openchannelMessage.attributes','exports','OpenchannelMessage','openchannel_messages','fti_openchannel_messages','body','models','get','toLowerCase','direction','out','secret','UserId','OpenchannelInteraction','findOne','OpenchannelInteractionId','catch','error','CmContact','describe','then','OpenchannelAccount','Interactions','keys','info','OpenchannelMessage,\x20%s,\x20%s','afterCreate','format','replyUri','Interaction','Contact','POST'];(function(_0x5c3f26,_0xc137ad){var _0xfb5c41=function(_0x33a250){while(--_0x33a250){_0x5c3f26['push'](_0x5c3f26['shift']());}};_0xfb5c41(++_0xc137ad);}(_0x3a43,0xe2));var _0x33a4=function(_0x496333,_0x1c47d6){_0x496333=_0x496333-0x0;var _0x44256e=_0x3a43[_0x496333];return _0x44256e;};'use strict';var _=require(_0x33a4('0x0'));var util=require('util');var logger=require(_0x33a4('0x1'))('api');var moment=require('moment');var BPromise=require(_0x33a4('0x2'));var rp=require(_0x33a4('0x3'));var fs=require('fs');var path=require('path');var rimraf=require(_0x33a4('0x4'));var config=require(_0x33a4('0x5'));var attributes=require(_0x33a4('0x6'));module[_0x33a4('0x7')]=function(_0x113688,_0x18cdcc){return _0x113688['define'](_0x33a4('0x8'),attributes,{'tableName':_0x33a4('0x9'),'paranoid':![],'indexes':[{'name':_0x33a4('0xa'),'fields':[_0x33a4('0xb')],'type':'FULLTEXT'}],'timestamps':!![],'hooks':{'afterCreate':function(_0x1023ec,_0x21320a,_0xad5fa){var _0x3fd0e7=_0x113688[_0x33a4('0xc')];var _0x38506b=_0x1023ec[_0x33a4('0xd')]({'plain':!![]});if(_0x38506b['direction'][_0x33a4('0xe')]()==='in'||_0x38506b[_0x33a4('0xf')][_0x33a4('0xe')]()===_0x33a4('0x10')&&!_0x38506b[_0x33a4('0x11')]&&!_['isNil'](_0x38506b[_0x33a4('0x12')])){_0x3fd0e7[_0x33a4('0x13')][_0x33a4('0x14')]({'where':{'id':_0x38506b[_0x33a4('0x15')]}})['then'](function(_0x11294f){if(_0x11294f){_0x11294f['update']({'lastMsgAt':_0x38506b['createdAt'],'lastMsgDirection':_0x38506b['direction'][_0x33a4('0xe')]()});}})[_0x33a4('0x16')](function(_0x30d22){console[_0x33a4('0x17')](_0x30d22);});}if(_0x38506b[_0x33a4('0xf')]===_0x33a4('0x10')&&!_0x38506b[_0x33a4('0x11')]){var _0x983bf8;_0x3fd0e7[_0x33a4('0x18')][_0x33a4('0x19')]()[_0x33a4('0x1a')](function(_0x548f18){return _0x3fd0e7[_0x33a4('0x1b')]['find']({'where':{'id':_0x38506b['OpenchannelAccountId']},'include':[{'model':_0x3fd0e7['OpenchannelInteraction'],'as':_0x33a4('0x1c'),'where':{'id':_0x38506b[_0x33a4('0x15')]},'limit':0x1,'include':[{'model':_0x3fd0e7[_0x33a4('0x18')],'as':'Contact','attributes':_[_0x33a4('0x1d')](_0x548f18)}]}]});})[_0x33a4('0x1a')](function(_0x33e8ed){_0x983bf8=_0x33e8ed[_0x33a4('0xd')]({'plain':!![]});if(_0x983bf8&&_0x983bf8['replyUri']){logger[_0x33a4('0x1e')](_0x33a4('0x1f'),_0x33a4('0x20'),util[_0x33a4('0x21')]('Forwarding\x20message\x20%d\x20to\x20%s',_0x38506b['id'],_0x983bf8[_0x33a4('0x22')]));if(_0x983bf8[_0x33a4('0x1c')]&&_0x983bf8['Interactions']['length']){_0x38506b[_0x33a4('0x23')]=_['omit'](_0x983bf8[_0x33a4('0x1c')][0x0],_0x33a4('0x24'));_0x38506b[_0x33a4('0x24')]=_0x983bf8[_0x33a4('0x1c')][0x0][_0x33a4('0x24')];}var _0x21320a={'method':_0x33a4('0x25'),'uri':encodeURI(_0x983bf8[_0x33a4('0x22')]),'json':!![],'resolveWithFullResponse':!![]};switch(_0x21320a[_0x33a4('0x26')]){case _0x33a4('0x27'):_0x21320a['qs']=_0x38506b;break;case _0x33a4('0x25'):_0x21320a['body']=_0x38506b;break;}return rp(_0x21320a)[_0x33a4('0x1a')](function(_0x34c163){logger[_0x33a4('0x1e')](_0x33a4('0x1f'),_0x33a4('0x20'),util[_0x33a4('0x21')](_0x33a4('0x28'),_0x38506b['id'],_0x983bf8[_0x33a4('0x22')]));if(_0x34c163[_0x33a4('0xb')][_0x33a4('0x29')]&&_0x34c163[_0x33a4('0xb')]['threadId']!=_0x38506b['Interaction'][_0x33a4('0x29')]){return _0x3fd0e7[_0x33a4('0x13')]['update']({'threadId':_0x34c163[_0x33a4('0xb')][_0x33a4('0x29')]},{'logging':!![],'where':{'id':_0x38506b[_0x33a4('0x23')]['id']}});}else{return;}})[_0x33a4('0x1a')](function(){return _0x1023ec['update']({'read':!![]});})['catch'](function(_0x82dfae){logger['error'](_0x33a4('0x1f'),_0x33a4('0x20'),util[_0x33a4('0x2a')](_0x82dfae,{'showHidden':![],'depth':null}));_0xad5fa();});}else{_0xad5fa();}})['finally'](function(){_0xad5fa();});}else{_0xad5fa();}}},'charset':_0x33a4('0x2b'),'collate':'utf8mb4_unicode_ci'});};