1c07e021eec2260d2098ffbb87f303d70faf3977
[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 _0x17d3=['OpenchannelInteraction','OpenchannelInteractionId','update','catch','error','CmContact','OpenchannelAccount','find','OpenchannelAccountId','Interactions','Contact','then','replyUri','info','OpenchannelMessage,\x20%s,\x20%s','afterCreate','format','length','Interaction','method','GET','POST','threadId','inspect','finally','utf8mb4_unicode_ci','util','../../config/logger','api','moment','path','rimraf','../../config/environment','./openchannelMessage.attributes','exports','define','openchannel_messages','fti_openchannel_messages','body','FULLTEXT','models','get','toLowerCase','direction','out','secret','isNil'];(function(_0x22da96,_0xfc5108){var _0x5a35dd=function(_0x19f9bc){while(--_0x19f9bc){_0x22da96['push'](_0x22da96['shift']());}};_0x5a35dd(++_0xfc5108);}(_0x17d3,0x1c1));var _0x317d=function(_0x9f1809,_0x32f07e){_0x9f1809=_0x9f1809-0x0;var _0x23a67b=_0x17d3[_0x9f1809];return _0x23a67b;};'use strict';var _=require('lodash');var util=require(_0x317d('0x0'));var logger=require(_0x317d('0x1'))(_0x317d('0x2'));var moment=require(_0x317d('0x3'));var BPromise=require('bluebird');var rp=require('request-promise');var fs=require('fs');var path=require(_0x317d('0x4'));var rimraf=require(_0x317d('0x5'));var config=require(_0x317d('0x6'));var attributes=require(_0x317d('0x7'));module[_0x317d('0x8')]=function(_0x4edf74,_0x2c3767){return _0x4edf74[_0x317d('0x9')]('OpenchannelMessage',attributes,{'tableName':_0x317d('0xa'),'paranoid':![],'indexes':[{'name':_0x317d('0xb'),'fields':[_0x317d('0xc')],'type':_0x317d('0xd')}],'timestamps':!![],'hooks':{'afterCreate':function(_0x56fd19,_0x4e9edf,_0x91c504){var _0x1acf28=_0x4edf74[_0x317d('0xe')];var _0x26a3b=_0x56fd19[_0x317d('0xf')]({'plain':!![]});if(_0x26a3b['direction'][_0x317d('0x10')]()==='in'||_0x26a3b[_0x317d('0x11')][_0x317d('0x10')]()===_0x317d('0x12')&&!_0x26a3b[_0x317d('0x13')]&&!_[_0x317d('0x14')](_0x26a3b['UserId'])){_0x1acf28[_0x317d('0x15')]['findOne']({'where':{'id':_0x26a3b[_0x317d('0x16')]}})['then'](function(_0x32dc85){if(_0x32dc85){_0x32dc85[_0x317d('0x17')]({'lastMsgAt':_0x26a3b['createdAt'],'lastMsgDirection':_0x26a3b[_0x317d('0x11')][_0x317d('0x10')]()});}})[_0x317d('0x18')](function(_0x1d650a){console[_0x317d('0x19')](_0x1d650a);});}if(_0x26a3b[_0x317d('0x11')]==='out'&&!_0x26a3b['secret']){var _0x195691;_0x1acf28[_0x317d('0x1a')]['describe']()['then'](function(_0x2fcf7c){return _0x1acf28[_0x317d('0x1b')][_0x317d('0x1c')]({'where':{'id':_0x26a3b[_0x317d('0x1d')]},'include':[{'model':_0x1acf28[_0x317d('0x15')],'as':_0x317d('0x1e'),'where':{'id':_0x26a3b[_0x317d('0x16')]},'limit':0x1,'include':[{'model':_0x1acf28['CmContact'],'as':_0x317d('0x1f'),'attributes':_['keys'](_0x2fcf7c)}]}]});})[_0x317d('0x20')](function(_0x5d01b9){_0x195691=_0x5d01b9[_0x317d('0xf')]({'plain':!![]});if(_0x195691&&_0x195691[_0x317d('0x21')]){logger[_0x317d('0x22')](_0x317d('0x23'),_0x317d('0x24'),util[_0x317d('0x25')]('Forwarding\x20message\x20%d\x20to\x20%s',_0x26a3b['id'],_0x195691['replyUri']));if(_0x195691['Interactions']&&_0x195691[_0x317d('0x1e')][_0x317d('0x26')]){_0x26a3b[_0x317d('0x27')]=_['omit'](_0x195691[_0x317d('0x1e')][0x0],_0x317d('0x1f'));_0x26a3b[_0x317d('0x1f')]=_0x195691['Interactions'][0x0][_0x317d('0x1f')];}var _0x4e9edf={'method':'POST','uri':encodeURI(_0x195691[_0x317d('0x21')]),'json':!![],'resolveWithFullResponse':!![]};switch(_0x4e9edf[_0x317d('0x28')]){case _0x317d('0x29'):_0x4e9edf['qs']=_0x26a3b;break;case _0x317d('0x2a'):_0x4e9edf[_0x317d('0xc')]=_0x26a3b;break;}return rp(_0x4e9edf)[_0x317d('0x20')](function(_0x1a58a6){logger['info']('OpenchannelMessage,\x20%s,\x20%s',_0x317d('0x24'),util['format']('Message\x20%d\x20forwarded\x20to\x20%s',_0x26a3b['id'],_0x195691['replyUri']));if(_0x1a58a6[_0x317d('0xc')]['threadId']&&_0x1a58a6[_0x317d('0xc')][_0x317d('0x2b')]!=_0x26a3b[_0x317d('0x27')][_0x317d('0x2b')]){return _0x1acf28[_0x317d('0x15')][_0x317d('0x17')]({'threadId':_0x1a58a6[_0x317d('0xc')]['threadId']},{'where':{'id':_0x26a3b[_0x317d('0x27')]['id']}});}else{return;}})[_0x317d('0x20')](function(){return _0x56fd19['update']({'read':!![]});})['catch'](function(_0x57fe22){logger[_0x317d('0x19')](_0x317d('0x23'),'afterCreate',util[_0x317d('0x2c')](_0x57fe22,{'showHidden':![],'depth':null}));_0x91c504();});}else{_0x91c504();}})[_0x317d('0x2d')](function(){_0x91c504();});}else{_0x91c504();}}},'charset':'utf8mb4','collate':_0x317d('0x2e')});};