e08300369ec6e28112caa439369b928c40944bff
[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 _0x26a3=['Contact','keys','replyUri','info','OpenchannelMessage,\x20%s,\x20%s','Forwarding\x20message\x20%d\x20to\x20%s','length','Interaction','omit','POST','method','GET','format','threadId','update','inspect','finally','utf8mb4','lodash','util','../../config/logger','api','moment','bluebird','request-promise','path','../../config/environment','./openchannelMessage.attributes','exports','define','OpenchannelMessage','openchannel_messages','fti_openchannel_messages','body','FULLTEXT','models','get','direction','toLowerCase','out','secret','isNil','UserId','OpenchannelInteraction','then','createdAt','catch','error','CmContact','describe','OpenchannelAccount','find','OpenchannelAccountId','Interactions','OpenchannelInteractionId'];(function(_0x18b344,_0x271f68){var _0x5ef6bb=function(_0x3345b3){while(--_0x3345b3){_0x18b344['push'](_0x18b344['shift']());}};_0x5ef6bb(++_0x271f68);}(_0x26a3,0x193));var _0x326a=function(_0x46c402,_0x3f10da){_0x46c402=_0x46c402-0x0;var _0x5153fa=_0x26a3[_0x46c402];return _0x5153fa;};'use strict';var _=require(_0x326a('0x0'));var util=require(_0x326a('0x1'));var logger=require(_0x326a('0x2'))(_0x326a('0x3'));var moment=require(_0x326a('0x4'));var BPromise=require(_0x326a('0x5'));var rp=require(_0x326a('0x6'));var fs=require('fs');var path=require(_0x326a('0x7'));var rimraf=require('rimraf');var config=require(_0x326a('0x8'));var attributes=require(_0x326a('0x9'));module[_0x326a('0xa')]=function(_0x368114,_0x34fa16){return _0x368114[_0x326a('0xb')](_0x326a('0xc'),attributes,{'tableName':_0x326a('0xd'),'paranoid':![],'indexes':[{'name':_0x326a('0xe'),'fields':[_0x326a('0xf')],'type':_0x326a('0x10')}],'timestamps':!![],'hooks':{'afterCreate':function(_0x34057d,_0xc4f832,_0x5d824f){var _0x4e6b2d=_0x368114[_0x326a('0x11')];var _0x5c74c2=_0x34057d[_0x326a('0x12')]({'plain':!![]});if(_0x5c74c2[_0x326a('0x13')]['toLowerCase']()==='in'||_0x5c74c2['direction'][_0x326a('0x14')]()===_0x326a('0x15')&&!_0x5c74c2[_0x326a('0x16')]&&!_[_0x326a('0x17')](_0x5c74c2[_0x326a('0x18')])){_0x4e6b2d[_0x326a('0x19')]['findOne']({'where':{'id':_0x5c74c2['OpenchannelInteractionId']}})[_0x326a('0x1a')](function(_0x36964b){if(_0x36964b){_0x36964b['update']({'lastMsgAt':_0x5c74c2[_0x326a('0x1b')],'lastMsgDirection':_0x5c74c2['direction'][_0x326a('0x14')]()});}})[_0x326a('0x1c')](function(_0x527671){console[_0x326a('0x1d')](_0x527671);});}if(_0x5c74c2['direction']===_0x326a('0x15')&&!_0x5c74c2['secret']){var _0x2ea7bc;_0x4e6b2d[_0x326a('0x1e')][_0x326a('0x1f')]()[_0x326a('0x1a')](function(_0x288cde){return _0x4e6b2d[_0x326a('0x20')][_0x326a('0x21')]({'where':{'id':_0x5c74c2[_0x326a('0x22')]},'include':[{'model':_0x4e6b2d[_0x326a('0x19')],'as':_0x326a('0x23'),'where':{'id':_0x5c74c2[_0x326a('0x24')]},'limit':0x1,'include':[{'model':_0x4e6b2d[_0x326a('0x1e')],'as':_0x326a('0x25'),'attributes':_[_0x326a('0x26')](_0x288cde)}]}]});})[_0x326a('0x1a')](function(_0x3cd6b6){_0x2ea7bc=_0x3cd6b6[_0x326a('0x12')]({'plain':!![]});if(_0x2ea7bc&&_0x2ea7bc[_0x326a('0x27')]){logger[_0x326a('0x28')](_0x326a('0x29'),'afterCreate',util['format'](_0x326a('0x2a'),_0x5c74c2['id'],_0x2ea7bc[_0x326a('0x27')]));if(_0x2ea7bc['Interactions']&&_0x2ea7bc[_0x326a('0x23')][_0x326a('0x2b')]){_0x5c74c2[_0x326a('0x2c')]=_[_0x326a('0x2d')](_0x2ea7bc[_0x326a('0x23')][0x0],_0x326a('0x25'));_0x5c74c2[_0x326a('0x25')]=_0x2ea7bc[_0x326a('0x23')][0x0][_0x326a('0x25')];}var _0xc4f832={'method':_0x326a('0x2e'),'uri':encodeURI(_0x2ea7bc[_0x326a('0x27')]),'json':!![],'resolveWithFullResponse':!![]};switch(_0xc4f832[_0x326a('0x2f')]){case _0x326a('0x30'):_0xc4f832['qs']=_0x5c74c2;break;case _0x326a('0x2e'):_0xc4f832[_0x326a('0xf')]=_0x5c74c2;break;}return rp(_0xc4f832)[_0x326a('0x1a')](function(_0x48c864){logger[_0x326a('0x28')]('OpenchannelMessage,\x20%s,\x20%s','afterCreate',util[_0x326a('0x31')]('Message\x20%d\x20forwarded\x20to\x20%s',_0x5c74c2['id'],_0x2ea7bc[_0x326a('0x27')]));if(_0x48c864['body'][_0x326a('0x32')]&&_0x48c864['body'][_0x326a('0x32')]!=_0x5c74c2['Interaction']['threadId']){return _0x4e6b2d[_0x326a('0x19')][_0x326a('0x33')]({'threadId':_0x48c864[_0x326a('0xf')][_0x326a('0x32')]},{'where':{'id':_0x5c74c2['Interaction']['id']}});}else{return;}})[_0x326a('0x1a')](function(){return _0x34057d['update']({'read':!![]});})['catch'](function(_0xbad52b){logger['error'](_0x326a('0x29'),'afterCreate',util[_0x326a('0x34')](_0xbad52b,{'showHidden':![],'depth':null}));_0x5d824f();});}else{_0x5d824f();}})[_0x326a('0x35')](function(){_0x5d824f();});}else{_0x5d824f();}}},'charset':_0x326a('0x36'),'collate':'utf8mb4_unicode_ci'});};