Built motion from commit bab6f49e.|2.6.17
[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 _0x2213=['method','GET','POST','OpenchannelMessage,\x20%s,\x20%s','afterCreate','threadId','error','inspect','finally','utf8mb4_unicode_ci','util','../../config/logger','api','moment','bluebird','path','rimraf','./openchannelMessage.attributes','define','OpenchannelMessage','openchannel_messages','body','FULLTEXT','models','direction','toLowerCase','out','secret','isNil','UserId','OpenchannelInteraction','OpenchannelInteractionId','then','update','createdAt','catch','CmContact','describe','OpenchannelAccount','find','OpenchannelAccountId','Interactions','Contact','keys','get','info','format','Forwarding\x20message\x20%d\x20to\x20%s','replyUri','length','omit'];(function(_0x486a95,_0x18bed7){var _0x1cc0ec=function(_0x53a230){while(--_0x53a230){_0x486a95['push'](_0x486a95['shift']());}};_0x1cc0ec(++_0x18bed7);}(_0x2213,0xd6));var _0x3221=function(_0x2da982,_0x3597fe){_0x2da982=_0x2da982-0x0;var _0x160450=_0x2213[_0x2da982];return _0x160450;};'use strict';var _=require('lodash');var util=require(_0x3221('0x0'));var logger=require(_0x3221('0x1'))(_0x3221('0x2'));var moment=require(_0x3221('0x3'));var BPromise=require(_0x3221('0x4'));var rp=require('request-promise');var fs=require('fs');var path=require(_0x3221('0x5'));var rimraf=require(_0x3221('0x6'));var config=require('../../config/environment');var attributes=require(_0x3221('0x7'));module['exports']=function(_0x3ca925,_0x36c4a1){return _0x3ca925[_0x3221('0x8')](_0x3221('0x9'),attributes,{'tableName':_0x3221('0xa'),'paranoid':![],'indexes':[{'name':'fti_openchannel_messages','fields':[_0x3221('0xb')],'type':_0x3221('0xc')}],'timestamps':!![],'hooks':{'afterCreate':function(_0x5c9c9c,_0x219349,_0x14cb18){var _0x442d76=_0x3ca925[_0x3221('0xd')];var _0x227221=_0x5c9c9c['get']({'plain':!![]});if(_0x227221[_0x3221('0xe')][_0x3221('0xf')]()==='in'||_0x227221[_0x3221('0xe')]['toLowerCase']()===_0x3221('0x10')&&!_0x227221[_0x3221('0x11')]&&!_[_0x3221('0x12')](_0x227221[_0x3221('0x13')])){_0x442d76[_0x3221('0x14')]['findOne']({'where':{'id':_0x227221[_0x3221('0x15')]}})[_0x3221('0x16')](function(_0x2c21f9){if(_0x2c21f9){_0x2c21f9[_0x3221('0x17')]({'lastMsgAt':_0x227221[_0x3221('0x18')],'lastMsgDirection':_0x227221[_0x3221('0xe')]['toLowerCase']()});}})[_0x3221('0x19')](function(_0x336aab){console['error'](_0x336aab);});}if(_0x227221[_0x3221('0xe')]==='out'&&!_0x227221['secret']){var _0xe535d6;_0x442d76[_0x3221('0x1a')][_0x3221('0x1b')]()[_0x3221('0x16')](function(_0x29e931){return _0x442d76[_0x3221('0x1c')][_0x3221('0x1d')]({'where':{'id':_0x227221[_0x3221('0x1e')]},'include':[{'model':_0x442d76[_0x3221('0x14')],'as':_0x3221('0x1f'),'where':{'id':_0x227221[_0x3221('0x15')]},'limit':0x1,'include':[{'model':_0x442d76[_0x3221('0x1a')],'as':_0x3221('0x20'),'attributes':_[_0x3221('0x21')](_0x29e931)}]}]});})[_0x3221('0x16')](function(_0x4052dc){_0xe535d6=_0x4052dc[_0x3221('0x22')]({'plain':!![]});if(_0xe535d6&&_0xe535d6['replyUri']){logger[_0x3221('0x23')]('OpenchannelMessage,\x20%s,\x20%s','afterCreate',util[_0x3221('0x24')](_0x3221('0x25'),_0x227221['id'],_0xe535d6[_0x3221('0x26')]));if(_0xe535d6[_0x3221('0x1f')]&&_0xe535d6[_0x3221('0x1f')][_0x3221('0x27')]){_0x227221['Interaction']=_[_0x3221('0x28')](_0xe535d6[_0x3221('0x1f')][0x0],'Contact');_0x227221[_0x3221('0x20')]=_0xe535d6['Interactions'][0x0]['Contact'];}var _0x219349={'method':'POST','uri':encodeURI(_0xe535d6[_0x3221('0x26')]),'json':!![],'resolveWithFullResponse':!![]};switch(_0x219349[_0x3221('0x29')]){case _0x3221('0x2a'):_0x219349['qs']=_0x227221;break;case _0x3221('0x2b'):_0x219349[_0x3221('0xb')]=_0x227221;break;}return rp(_0x219349)[_0x3221('0x16')](function(_0x22db21){logger[_0x3221('0x23')](_0x3221('0x2c'),_0x3221('0x2d'),util[_0x3221('0x24')]('Message\x20%d\x20forwarded\x20to\x20%s',_0x227221['id'],_0xe535d6['replyUri']));if(_0x22db21[_0x3221('0xb')][_0x3221('0x2e')]&&_0x22db21[_0x3221('0xb')][_0x3221('0x2e')]!=_0x227221['Interaction'][_0x3221('0x2e')]){return _0x442d76[_0x3221('0x14')]['update']({'threadId':_0x22db21[_0x3221('0xb')][_0x3221('0x2e')]},{'where':{'id':_0x227221['Interaction']['id']}});}else{return;}})[_0x3221('0x16')](function(){return _0x5c9c9c['update']({'read':!![]});})[_0x3221('0x19')](function(_0x529396){logger[_0x3221('0x2f')]('OpenchannelMessage,\x20%s,\x20%s',_0x3221('0x2d'),util[_0x3221('0x30')](_0x529396,{'showHidden':![],'depth':null}));_0x14cb18();});}else{_0x14cb18();}})[_0x3221('0x31')](function(){_0x14cb18();});}else{_0x14cb18();}}},'charset':'utf8mb4','collate':_0x3221('0x32')});};