Built motion from commit 10af8726.|2.6.34
[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 _0x6fd5=['inspect','lodash','util','../../config/logger','moment','bluebird','request-promise','exports','define','OpenchannelMessage','openchannel_messages','body','FULLTEXT','models','get','direction','out','secret','UserId','OpenchannelInteraction','findOne','OpenchannelInteractionId','catch','error','CmContact','describe','then','find','OpenchannelAccountId','Interactions','keys','replyUri','OpenchannelMessage,\x20%s,\x20%s','length','Interaction','omit','Contact','POST','method','GET','afterCreate','format','Message\x20%d\x20forwarded\x20to\x20%s','threadId','update'];(function(_0x149033,_0x4fbd54){var _0x1fb5c7=function(_0x7dc3f5){while(--_0x7dc3f5){_0x149033['push'](_0x149033['shift']());}};_0x1fb5c7(++_0x4fbd54);}(_0x6fd5,0xb5));var _0x56fd=function(_0x311c35,_0x534915){_0x311c35=_0x311c35-0x0;var _0x5cc50c=_0x6fd5[_0x311c35];return _0x5cc50c;};'use strict';var _=require(_0x56fd('0x0'));var util=require(_0x56fd('0x1'));var logger=require(_0x56fd('0x2'))('api');var moment=require(_0x56fd('0x3'));var BPromise=require(_0x56fd('0x4'));var rp=require(_0x56fd('0x5'));var fs=require('fs');var path=require('path');var rimraf=require('rimraf');var config=require('../../config/environment');var attributes=require('./openchannelMessage.attributes');module[_0x56fd('0x6')]=function(_0x17baee,_0x1ff23f){return _0x17baee[_0x56fd('0x7')](_0x56fd('0x8'),attributes,{'tableName':_0x56fd('0x9'),'paranoid':![],'indexes':[{'name':'fti_openchannel_messages','fields':[_0x56fd('0xa')],'type':_0x56fd('0xb')}],'timestamps':!![],'hooks':{'afterCreate':function(_0x253f08,_0x5191d8,_0x381fec){var _0x376e3f=_0x17baee[_0x56fd('0xc')];var _0x5d3994=_0x253f08[_0x56fd('0xd')]({'plain':!![]});if(_0x5d3994[_0x56fd('0xe')]['toLowerCase']()==='in'||_0x5d3994[_0x56fd('0xe')]['toLowerCase']()===_0x56fd('0xf')&&!_0x5d3994[_0x56fd('0x10')]&&!_['isNil'](_0x5d3994[_0x56fd('0x11')])){_0x376e3f[_0x56fd('0x12')][_0x56fd('0x13')]({'where':{'id':_0x5d3994[_0x56fd('0x14')]}})['then'](function(_0x54d6f6){if(_0x54d6f6){_0x54d6f6['update']({'lastMsgAt':_0x5d3994['createdAt'],'lastMsgDirection':_0x5d3994[_0x56fd('0xe')]['toLowerCase']()});}})[_0x56fd('0x15')](function(_0x37145b){console[_0x56fd('0x16')](_0x37145b);});}if(_0x5d3994['direction']===_0x56fd('0xf')&&!_0x5d3994[_0x56fd('0x10')]){var _0x193c15;_0x376e3f[_0x56fd('0x17')][_0x56fd('0x18')]()[_0x56fd('0x19')](function(_0x3d9201){return _0x376e3f['OpenchannelAccount'][_0x56fd('0x1a')]({'where':{'id':_0x5d3994[_0x56fd('0x1b')]},'include':[{'model':_0x376e3f[_0x56fd('0x12')],'as':_0x56fd('0x1c'),'where':{'id':_0x5d3994[_0x56fd('0x14')]},'limit':0x1,'include':[{'model':_0x376e3f[_0x56fd('0x17')],'as':'Contact','attributes':_[_0x56fd('0x1d')](_0x3d9201)}]}]});})[_0x56fd('0x19')](function(_0x528643){_0x193c15=_0x528643[_0x56fd('0xd')]({'plain':!![]});if(_0x193c15&&_0x193c15[_0x56fd('0x1e')]){logger['info'](_0x56fd('0x1f'),'afterCreate',util['format']('Forwarding\x20message\x20%d\x20to\x20%s',_0x5d3994['id'],_0x193c15['replyUri']));if(_0x193c15[_0x56fd('0x1c')]&&_0x193c15[_0x56fd('0x1c')][_0x56fd('0x20')]){_0x5d3994[_0x56fd('0x21')]=_[_0x56fd('0x22')](_0x193c15['Interactions'][0x0],_0x56fd('0x23'));_0x5d3994['Contact']=_0x193c15[_0x56fd('0x1c')][0x0]['Contact'];}var _0x5191d8={'method':_0x56fd('0x24'),'uri':encodeURI(_0x193c15[_0x56fd('0x1e')]),'json':!![],'resolveWithFullResponse':!![]};switch(_0x5191d8[_0x56fd('0x25')]){case _0x56fd('0x26'):_0x5191d8['qs']=_0x5d3994;break;case _0x56fd('0x24'):_0x5191d8['body']=_0x5d3994;break;}return rp(_0x5191d8)['then'](function(_0x38a29d){logger['info'](_0x56fd('0x1f'),_0x56fd('0x27'),util[_0x56fd('0x28')](_0x56fd('0x29'),_0x5d3994['id'],_0x193c15[_0x56fd('0x1e')]));if(_0x38a29d[_0x56fd('0xa')]['threadId']&&_0x38a29d[_0x56fd('0xa')]['threadId']!=_0x5d3994[_0x56fd('0x21')][_0x56fd('0x2a')]){return _0x376e3f['OpenchannelInteraction'][_0x56fd('0x2b')]({'threadId':_0x38a29d[_0x56fd('0xa')]['threadId']},{'where':{'id':_0x5d3994[_0x56fd('0x21')]['id']}});}else{return;}})[_0x56fd('0x19')](function(){return _0x253f08[_0x56fd('0x2b')]({'read':!![]});})[_0x56fd('0x15')](function(_0x19c1ff){logger['error']('OpenchannelMessage,\x20%s,\x20%s',_0x56fd('0x27'),util[_0x56fd('0x2c')](_0x19c1ff,{'showHidden':![],'depth':null}));_0x381fec();});}else{_0x381fec();}})['finally'](function(){_0x381fec();});}else{_0x381fec();}}},'charset':'utf8mb4','collate':'utf8mb4_unicode_ci'});};