fbb76bdb1af48d4e5b697bdf7df695d66ffcf726
[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 _0x2534=['inspect','finally','utf8mb4','utf8mb4_unicode_ci','lodash','util','../../config/logger','api','moment','bluebird','path','../../config/environment','exports','define','OpenchannelMessage','openchannel_messages','FULLTEXT','models','get','direction','toLowerCase','out','secret','isNil','UserId','OpenchannelInteraction','findOne','OpenchannelInteractionId','then','update','createdAt','catch','CmContact','OpenchannelAccount','find','Interactions','Contact','replyUri','afterCreate','format','Forwarding\x20message\x20%d\x20to\x20%s','length','omit','POST','method','GET','body','info','Message\x20%d\x20forwarded\x20to\x20%s','threadId','Interaction'];(function(_0x537b3c,_0x12aff2){var _0x3d9d55=function(_0x121ae2){while(--_0x121ae2){_0x537b3c['push'](_0x537b3c['shift']());}};_0x3d9d55(++_0x12aff2);}(_0x2534,0x6a));var _0x4253=function(_0x120327,_0x45d353){_0x120327=_0x120327-0x0;var _0x54c362=_0x2534[_0x120327];return _0x54c362;};'use strict';var _=require(_0x4253('0x0'));var util=require(_0x4253('0x1'));var logger=require(_0x4253('0x2'))(_0x4253('0x3'));var moment=require(_0x4253('0x4'));var BPromise=require(_0x4253('0x5'));var rp=require('request-promise');var fs=require('fs');var path=require(_0x4253('0x6'));var rimraf=require('rimraf');var config=require(_0x4253('0x7'));var attributes=require('./openchannelMessage.attributes');module[_0x4253('0x8')]=function(_0x21ff11,_0x3158a4){return _0x21ff11[_0x4253('0x9')](_0x4253('0xa'),attributes,{'tableName':_0x4253('0xb'),'paranoid':![],'indexes':[{'name':'fti_openchannel_messages','fields':['body'],'type':_0x4253('0xc')}],'timestamps':!![],'hooks':{'afterCreate':function(_0x4cb32a,_0x520db5,_0x4956b3){var _0x54447a=_0x21ff11[_0x4253('0xd')];var _0x2c2932=_0x4cb32a[_0x4253('0xe')]({'plain':!![]});if(_0x2c2932[_0x4253('0xf')]['toLowerCase']()==='in'||_0x2c2932['direction'][_0x4253('0x10')]()===_0x4253('0x11')&&!_0x2c2932[_0x4253('0x12')]&&!_[_0x4253('0x13')](_0x2c2932[_0x4253('0x14')])){_0x54447a[_0x4253('0x15')][_0x4253('0x16')]({'where':{'id':_0x2c2932[_0x4253('0x17')]}})[_0x4253('0x18')](function(_0x83aade){if(_0x83aade){_0x83aade[_0x4253('0x19')]({'lastMsgAt':_0x2c2932[_0x4253('0x1a')],'lastMsgDirection':_0x2c2932['direction'][_0x4253('0x10')]()});}})[_0x4253('0x1b')](function(_0x59c9d5){console['error'](_0x59c9d5);});}if(_0x2c2932['direction']===_0x4253('0x11')&&!_0x2c2932[_0x4253('0x12')]){var _0x4ea1ed;_0x54447a[_0x4253('0x1c')]['describe']()[_0x4253('0x18')](function(_0xa62857){return _0x54447a[_0x4253('0x1d')][_0x4253('0x1e')]({'where':{'id':_0x2c2932['OpenchannelAccountId']},'include':[{'model':_0x54447a[_0x4253('0x15')],'as':_0x4253('0x1f'),'where':{'id':_0x2c2932[_0x4253('0x17')]},'limit':0x1,'include':[{'model':_0x54447a['CmContact'],'as':_0x4253('0x20'),'attributes':_['keys'](_0xa62857)}]}]});})[_0x4253('0x18')](function(_0x1cc3c7){_0x4ea1ed=_0x1cc3c7[_0x4253('0xe')]({'plain':!![]});if(_0x4ea1ed&&_0x4ea1ed[_0x4253('0x21')]){logger['info']('OpenchannelMessage,\x20%s,\x20%s',_0x4253('0x22'),util[_0x4253('0x23')](_0x4253('0x24'),_0x2c2932['id'],_0x4ea1ed['replyUri']));if(_0x4ea1ed[_0x4253('0x1f')]&&_0x4ea1ed[_0x4253('0x1f')][_0x4253('0x25')]){_0x2c2932['Interaction']=_[_0x4253('0x26')](_0x4ea1ed['Interactions'][0x0],'Contact');_0x2c2932['Contact']=_0x4ea1ed[_0x4253('0x1f')][0x0][_0x4253('0x20')];}var _0x520db5={'method':_0x4253('0x27'),'uri':encodeURI(_0x4ea1ed[_0x4253('0x21')]),'json':!![],'resolveWithFullResponse':!![]};switch(_0x520db5[_0x4253('0x28')]){case _0x4253('0x29'):_0x520db5['qs']=_0x2c2932;break;case _0x4253('0x27'):_0x520db5[_0x4253('0x2a')]=_0x2c2932;break;}return rp(_0x520db5)[_0x4253('0x18')](function(_0x174d98){logger[_0x4253('0x2b')]('OpenchannelMessage,\x20%s,\x20%s','afterCreate',util[_0x4253('0x23')](_0x4253('0x2c'),_0x2c2932['id'],_0x4ea1ed[_0x4253('0x21')]));if(_0x174d98[_0x4253('0x2a')][_0x4253('0x2d')]&&_0x174d98[_0x4253('0x2a')][_0x4253('0x2d')]!=_0x2c2932[_0x4253('0x2e')][_0x4253('0x2d')]){return _0x54447a[_0x4253('0x15')][_0x4253('0x19')]({'threadId':_0x174d98[_0x4253('0x2a')][_0x4253('0x2d')]},{'where':{'id':_0x2c2932['Interaction']['id']}});}else{return;}})[_0x4253('0x18')](function(){return _0x4cb32a[_0x4253('0x19')]({'read':!![]});})[_0x4253('0x1b')](function(_0x10ccf6){logger['error']('OpenchannelMessage,\x20%s,\x20%s','afterCreate',util[_0x4253('0x2f')](_0x10ccf6,{'showHidden':![],'depth':null}));_0x4956b3();});}else{_0x4956b3();}})[_0x4253('0x30')](function(){_0x4956b3();});}else{_0x4956b3();}}},'charset':_0x4253('0x31'),'collate':_0x4253('0x32')});};