Built motion from commit 25580385.|2.6.2
[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 _0x087b=['threadId','OpenchannelInteraction','error','inspect','finally','utf8mb4','utf8mb4_unicode_ci','lodash','util','moment','request-promise','path','rimraf','../../config/environment','./openchannelMessage.attributes','exports','define','OpenchannelMessage','openchannel_messages','fti_openchannel_messages','body','FULLTEXT','models','get','direction','toLowerCase','secret','isNil','UserId','findOne','OpenchannelInteractionId','then','update','createdAt','catch','out','CmContact','describe','OpenchannelAccount','find','OpenchannelAccountId','Interactions','Contact','replyUri','info','OpenchannelMessage,\x20%s,\x20%s','afterCreate','format','Forwarding\x20message\x20%d\x20to\x20%s','length','Interaction','omit','GET','POST','Message\x20%d\x20forwarded\x20to\x20%s'];(function(_0x5da19d,_0x559e81){var _0x42722e=function(_0x9fce15){while(--_0x9fce15){_0x5da19d['push'](_0x5da19d['shift']());}};_0x42722e(++_0x559e81);}(_0x087b,0x11a));var _0xb087=function(_0x263a74,_0xc31414){_0x263a74=_0x263a74-0x0;var _0x2aa86c=_0x087b[_0x263a74];return _0x2aa86c;};'use strict';var _=require(_0xb087('0x0'));var util=require(_0xb087('0x1'));var logger=require('../../config/logger')('api');var moment=require(_0xb087('0x2'));var BPromise=require('bluebird');var rp=require(_0xb087('0x3'));var fs=require('fs');var path=require(_0xb087('0x4'));var rimraf=require(_0xb087('0x5'));var config=require(_0xb087('0x6'));var attributes=require(_0xb087('0x7'));module[_0xb087('0x8')]=function(_0x40156d,_0x17d6e8){return _0x40156d[_0xb087('0x9')](_0xb087('0xa'),attributes,{'tableName':_0xb087('0xb'),'paranoid':![],'indexes':[{'name':_0xb087('0xc'),'fields':[_0xb087('0xd')],'type':_0xb087('0xe')}],'timestamps':!![],'hooks':{'afterCreate':function(_0x2f14bc,_0x23cdd7,_0x379041){var _0x583d25=_0x40156d[_0xb087('0xf')];var _0x108451=_0x2f14bc[_0xb087('0x10')]({'plain':!![]});if(_0x108451[_0xb087('0x11')][_0xb087('0x12')]()==='in'||_0x108451[_0xb087('0x11')][_0xb087('0x12')]()==='out'&&!_0x108451[_0xb087('0x13')]&&!_[_0xb087('0x14')](_0x108451[_0xb087('0x15')])){_0x583d25['OpenchannelInteraction'][_0xb087('0x16')]({'where':{'id':_0x108451[_0xb087('0x17')]}})[_0xb087('0x18')](function(_0x46410b){if(_0x46410b){_0x46410b[_0xb087('0x19')]({'lastMsgAt':_0x108451[_0xb087('0x1a')],'lastMsgDirection':_0x108451[_0xb087('0x11')][_0xb087('0x12')]()});}})[_0xb087('0x1b')](function(_0x16d0b7){console['error'](_0x16d0b7);});}if(_0x108451[_0xb087('0x11')]===_0xb087('0x1c')&&!_0x108451['secret']){var _0xcc4426;_0x583d25[_0xb087('0x1d')][_0xb087('0x1e')]()['then'](function(_0x330005){return _0x583d25[_0xb087('0x1f')][_0xb087('0x20')]({'where':{'id':_0x108451[_0xb087('0x21')]},'include':[{'model':_0x583d25['OpenchannelInteraction'],'as':_0xb087('0x22'),'where':{'id':_0x108451[_0xb087('0x17')]},'limit':0x1,'include':[{'model':_0x583d25[_0xb087('0x1d')],'as':_0xb087('0x23'),'attributes':_['keys'](_0x330005)}]}]});})['then'](function(_0x5ea3dc){_0xcc4426=_0x5ea3dc['get']({'plain':!![]});if(_0xcc4426&&_0xcc4426[_0xb087('0x24')]){logger[_0xb087('0x25')](_0xb087('0x26'),_0xb087('0x27'),util[_0xb087('0x28')](_0xb087('0x29'),_0x108451['id'],_0xcc4426[_0xb087('0x24')]));if(_0xcc4426['Interactions']&&_0xcc4426[_0xb087('0x22')][_0xb087('0x2a')]){_0x108451[_0xb087('0x2b')]=_[_0xb087('0x2c')](_0xcc4426[_0xb087('0x22')][0x0],'Contact');_0x108451[_0xb087('0x23')]=_0xcc4426[_0xb087('0x22')][0x0]['Contact'];}var _0x23cdd7={'method':'POST','uri':encodeURI(_0xcc4426['replyUri']),'json':!![],'resolveWithFullResponse':!![]};switch(_0x23cdd7['method']){case _0xb087('0x2d'):_0x23cdd7['qs']=_0x108451;break;case _0xb087('0x2e'):_0x23cdd7[_0xb087('0xd')]=_0x108451;break;}return rp(_0x23cdd7)[_0xb087('0x18')](function(_0xd9ec66){logger[_0xb087('0x25')](_0xb087('0x26'),_0xb087('0x27'),util[_0xb087('0x28')](_0xb087('0x2f'),_0x108451['id'],_0xcc4426[_0xb087('0x24')]));if(_0xd9ec66[_0xb087('0xd')][_0xb087('0x30')]&&_0xd9ec66[_0xb087('0xd')]['threadId']!=_0x108451[_0xb087('0x2b')][_0xb087('0x30')]){return _0x583d25[_0xb087('0x31')][_0xb087('0x19')]({'threadId':_0xd9ec66[_0xb087('0xd')][_0xb087('0x30')]},{'logging':!![],'where':{'id':_0x108451[_0xb087('0x2b')]['id']}});}else{return;}})[_0xb087('0x18')](function(){return _0x2f14bc['update']({'read':!![]});})['catch'](function(_0x3f9311){logger[_0xb087('0x32')]('OpenchannelMessage,\x20%s,\x20%s',_0xb087('0x27'),util[_0xb087('0x33')](_0x3f9311,{'showHidden':![],'depth':null}));_0x379041();});}else{_0x379041();}})[_0xb087('0x34')](function(){_0x379041();});}else{_0x379041();}}},'charset':_0xb087('0x35'),'collate':_0xb087('0x36')});};