53160a417e86709cabf9474b350dc4fab1749837
[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 _0x1a5e=['update','createdAt','error','OpenchannelAccount','OpenchannelInteraction','Interactions','CmContact','Contact','keys','replyUri','info','afterCreate','format','Forwarding\x20message\x20%d\x20to\x20%s','length','Interaction','method','GET','OpenchannelMessage,\x20%s,\x20%s','Message\x20%d\x20forwarded\x20to\x20%s','threadId','catch','inspect','finally','utf8mb4_unicode_ci','lodash','util','../../config/logger','bluebird','request-promise','path','rimraf','OpenchannelMessage','body','get','direction','toLowerCase','out','secret','isNil','UserId','OpenchannelInteractionId','then'];(function(_0x328654,_0x59603f){var _0x58e52a=function(_0x3029f6){while(--_0x3029f6){_0x328654['push'](_0x328654['shift']());}};_0x58e52a(++_0x59603f);}(_0x1a5e,0x1c7));var _0xe1a5=function(_0x2f4446,_0x6a70f0){_0x2f4446=_0x2f4446-0x0;var _0x50d3db=_0x1a5e[_0x2f4446];return _0x50d3db;};'use strict';var _=require(_0xe1a5('0x0'));var util=require(_0xe1a5('0x1'));var logger=require(_0xe1a5('0x2'))('api');var moment=require('moment');var BPromise=require(_0xe1a5('0x3'));var rp=require(_0xe1a5('0x4'));var fs=require('fs');var path=require(_0xe1a5('0x5'));var rimraf=require(_0xe1a5('0x6'));var config=require('../../config/environment');var attributes=require('./openchannelMessage.attributes');module['exports']=function(_0x2f20cd,_0x4db301){return _0x2f20cd['define'](_0xe1a5('0x7'),attributes,{'tableName':'openchannel_messages','paranoid':![],'indexes':[{'name':'fti_openchannel_messages','fields':[_0xe1a5('0x8')],'type':'FULLTEXT'}],'timestamps':!![],'hooks':{'afterCreate':function(_0x1d810a,_0x163642,_0x199311){var _0xd6c38a=_0x2f20cd['models'];var _0x5130ed=_0x1d810a[_0xe1a5('0x9')]({'plain':!![]});if(_0x5130ed[_0xe1a5('0xa')][_0xe1a5('0xb')]()==='in'||_0x5130ed[_0xe1a5('0xa')][_0xe1a5('0xb')]()===_0xe1a5('0xc')&&!_0x5130ed[_0xe1a5('0xd')]&&!_[_0xe1a5('0xe')](_0x5130ed[_0xe1a5('0xf')])){_0xd6c38a['OpenchannelInteraction']['findOne']({'where':{'id':_0x5130ed[_0xe1a5('0x10')]}})[_0xe1a5('0x11')](function(_0x577549){if(_0x577549){_0x577549[_0xe1a5('0x12')]({'lastMsgAt':_0x5130ed[_0xe1a5('0x13')],'lastMsgDirection':_0x5130ed[_0xe1a5('0xa')][_0xe1a5('0xb')]()});}})['catch'](function(_0x11c8d4){console[_0xe1a5('0x14')](_0x11c8d4);});}if(_0x5130ed['direction']===_0xe1a5('0xc')&&!_0x5130ed['secret']){var _0x94f7e;_0xd6c38a['CmContact']['describe']()[_0xe1a5('0x11')](function(_0x4ab0f7){return _0xd6c38a[_0xe1a5('0x15')]['find']({'where':{'id':_0x5130ed['OpenchannelAccountId']},'include':[{'model':_0xd6c38a[_0xe1a5('0x16')],'as':_0xe1a5('0x17'),'where':{'id':_0x5130ed[_0xe1a5('0x10')]},'limit':0x1,'include':[{'model':_0xd6c38a[_0xe1a5('0x18')],'as':_0xe1a5('0x19'),'attributes':_[_0xe1a5('0x1a')](_0x4ab0f7)}]}]});})[_0xe1a5('0x11')](function(_0x30f85e){_0x94f7e=_0x30f85e[_0xe1a5('0x9')]({'plain':!![]});if(_0x94f7e&&_0x94f7e[_0xe1a5('0x1b')]){logger[_0xe1a5('0x1c')]('OpenchannelMessage,\x20%s,\x20%s',_0xe1a5('0x1d'),util[_0xe1a5('0x1e')](_0xe1a5('0x1f'),_0x5130ed['id'],_0x94f7e[_0xe1a5('0x1b')]));if(_0x94f7e[_0xe1a5('0x17')]&&_0x94f7e[_0xe1a5('0x17')][_0xe1a5('0x20')]){_0x5130ed[_0xe1a5('0x21')]=_['omit'](_0x94f7e[_0xe1a5('0x17')][0x0],'Contact');_0x5130ed[_0xe1a5('0x19')]=_0x94f7e[_0xe1a5('0x17')][0x0][_0xe1a5('0x19')];}var _0x163642={'method':'POST','uri':encodeURI(_0x94f7e['replyUri']),'json':!![],'resolveWithFullResponse':!![]};switch(_0x163642[_0xe1a5('0x22')]){case _0xe1a5('0x23'):_0x163642['qs']=_0x5130ed;break;case'POST':_0x163642['body']=_0x5130ed;break;}return rp(_0x163642)[_0xe1a5('0x11')](function(_0x4636ce){logger[_0xe1a5('0x1c')](_0xe1a5('0x24'),_0xe1a5('0x1d'),util[_0xe1a5('0x1e')](_0xe1a5('0x25'),_0x5130ed['id'],_0x94f7e[_0xe1a5('0x1b')]));if(_0x4636ce[_0xe1a5('0x8')]['threadId']&&_0x4636ce[_0xe1a5('0x8')][_0xe1a5('0x26')]!=_0x5130ed[_0xe1a5('0x21')][_0xe1a5('0x26')]){return _0xd6c38a[_0xe1a5('0x16')][_0xe1a5('0x12')]({'threadId':_0x4636ce[_0xe1a5('0x8')]['threadId']},{'where':{'id':_0x5130ed[_0xe1a5('0x21')]['id']}});}else{return;}})[_0xe1a5('0x11')](function(){return _0x1d810a[_0xe1a5('0x12')]({'read':!![]});})[_0xe1a5('0x27')](function(_0x32cea2){logger[_0xe1a5('0x14')](_0xe1a5('0x24'),'afterCreate',util[_0xe1a5('0x28')](_0x32cea2,{'showHidden':![],'depth':null}));_0x199311();});}else{_0x199311();}})[_0xe1a5('0x29')](function(){_0x199311();});}else{_0x199311();}}},'charset':'utf8mb4','collate':_0xe1a5('0x2a')});};