8a14cc6f9ced4035c023116613eb417dad9b3344
[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 _0x37df=['POST','GET','threadId','body','catch','inspect','finally','utf8mb4','utf8mb4_unicode_ci','lodash','../../config/logger','api','moment','bluebird','request-promise','rimraf','../../config/environment','./openchannelMessage.attributes','exports','define','OpenchannelMessage','fti_openchannel_messages','FULLTEXT','models','direction','toLowerCase','out','secret','isNil','UserId','OpenchannelInteraction','findOne','OpenchannelInteractionId','update','createdAt','error','CmContact','describe','then','OpenchannelAccount','find','OpenchannelAccountId','Contact','keys','replyUri','info','OpenchannelMessage,\x20%s,\x20%s','afterCreate','format','Forwarding\x20message\x20%d\x20to\x20%s','Interactions','Interaction'];(function(_0x2c3d4f,_0x448a69){var _0x2dddb6=function(_0x35974e){while(--_0x35974e){_0x2c3d4f['push'](_0x2c3d4f['shift']());}};_0x2dddb6(++_0x448a69);}(_0x37df,0x10d));var _0xf37d=function(_0x4fbb86,_0x374ed0){_0x4fbb86=_0x4fbb86-0x0;var _0xb141fe=_0x37df[_0x4fbb86];return _0xb141fe;};'use strict';var _=require(_0xf37d('0x0'));var util=require('util');var logger=require(_0xf37d('0x1'))(_0xf37d('0x2'));var moment=require(_0xf37d('0x3'));var BPromise=require(_0xf37d('0x4'));var rp=require(_0xf37d('0x5'));var fs=require('fs');var path=require('path');var rimraf=require(_0xf37d('0x6'));var config=require(_0xf37d('0x7'));var attributes=require(_0xf37d('0x8'));module[_0xf37d('0x9')]=function(_0x3bbad6,_0x28cdba){return _0x3bbad6[_0xf37d('0xa')](_0xf37d('0xb'),attributes,{'tableName':'openchannel_messages','paranoid':![],'indexes':[{'name':_0xf37d('0xc'),'fields':['body'],'type':_0xf37d('0xd')}],'timestamps':!![],'hooks':{'afterCreate':function(_0x5c0c28,_0x2eed8a,_0xe7e3c1){var _0x19f3e4=_0x3bbad6[_0xf37d('0xe')];var _0x37bf6e=_0x5c0c28['get']({'plain':!![]});if(_0x37bf6e[_0xf37d('0xf')]['toLowerCase']()==='in'||_0x37bf6e['direction'][_0xf37d('0x10')]()===_0xf37d('0x11')&&!_0x37bf6e[_0xf37d('0x12')]&&!_[_0xf37d('0x13')](_0x37bf6e[_0xf37d('0x14')])){_0x19f3e4[_0xf37d('0x15')][_0xf37d('0x16')]({'where':{'id':_0x37bf6e[_0xf37d('0x17')]}})['then'](function(_0xe8f42f){if(_0xe8f42f){_0xe8f42f[_0xf37d('0x18')]({'lastMsgAt':_0x37bf6e[_0xf37d('0x19')],'lastMsgDirection':_0x37bf6e[_0xf37d('0xf')][_0xf37d('0x10')]()});}})['catch'](function(_0x39520e){console[_0xf37d('0x1a')](_0x39520e);});}if(_0x37bf6e[_0xf37d('0xf')]===_0xf37d('0x11')&&!_0x37bf6e[_0xf37d('0x12')]){var _0x39eb60;_0x19f3e4[_0xf37d('0x1b')][_0xf37d('0x1c')]()[_0xf37d('0x1d')](function(_0x522c38){return _0x19f3e4[_0xf37d('0x1e')][_0xf37d('0x1f')]({'where':{'id':_0x37bf6e[_0xf37d('0x20')]},'include':[{'model':_0x19f3e4[_0xf37d('0x15')],'as':'Interactions','where':{'id':_0x37bf6e[_0xf37d('0x17')]},'limit':0x1,'include':[{'model':_0x19f3e4['CmContact'],'as':_0xf37d('0x21'),'attributes':_[_0xf37d('0x22')](_0x522c38)}]}]});})['then'](function(_0x4d5624){_0x39eb60=_0x4d5624['get']({'plain':!![]});if(_0x39eb60&&_0x39eb60[_0xf37d('0x23')]){logger[_0xf37d('0x24')](_0xf37d('0x25'),_0xf37d('0x26'),util[_0xf37d('0x27')](_0xf37d('0x28'),_0x37bf6e['id'],_0x39eb60[_0xf37d('0x23')]));if(_0x39eb60[_0xf37d('0x29')]&&_0x39eb60[_0xf37d('0x29')]['length']){_0x37bf6e[_0xf37d('0x2a')]=_['omit'](_0x39eb60['Interactions'][0x0],_0xf37d('0x21'));_0x37bf6e['Contact']=_0x39eb60[_0xf37d('0x29')][0x0][_0xf37d('0x21')];}var _0x2eed8a={'method':_0xf37d('0x2b'),'uri':encodeURI(_0x39eb60[_0xf37d('0x23')]),'json':!![],'resolveWithFullResponse':!![]};switch(_0x2eed8a['method']){case _0xf37d('0x2c'):_0x2eed8a['qs']=_0x37bf6e;break;case _0xf37d('0x2b'):_0x2eed8a['body']=_0x37bf6e;break;}return rp(_0x2eed8a)['then'](function(_0x13e1bf){logger[_0xf37d('0x24')]('OpenchannelMessage,\x20%s,\x20%s',_0xf37d('0x26'),util[_0xf37d('0x27')]('Message\x20%d\x20forwarded\x20to\x20%s',_0x37bf6e['id'],_0x39eb60[_0xf37d('0x23')]));if(_0x13e1bf['body'][_0xf37d('0x2d')]&&_0x13e1bf[_0xf37d('0x2e')][_0xf37d('0x2d')]!=_0x37bf6e[_0xf37d('0x2a')][_0xf37d('0x2d')]){return _0x19f3e4['OpenchannelInteraction'][_0xf37d('0x18')]({'threadId':_0x13e1bf[_0xf37d('0x2e')][_0xf37d('0x2d')]},{'where':{'id':_0x37bf6e['Interaction']['id']}});}else{return;}})['then'](function(){return _0x5c0c28[_0xf37d('0x18')]({'read':!![]});})[_0xf37d('0x2f')](function(_0x41bc6b){logger[_0xf37d('0x1a')](_0xf37d('0x25'),'afterCreate',util[_0xf37d('0x30')](_0x41bc6b,{'showHidden':![],'depth':null}));_0xe7e3c1();});}else{_0xe7e3c1();}})[_0xf37d('0x31')](function(){_0xe7e3c1();});}else{_0xe7e3c1();}}},'charset':_0xf37d('0x32'),'collate':_0xf37d('0x33')});};