f68a64a2ed4708a1141c2310991e7cbc5166a70d
[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 _0xeee0=['replyUri','info','OpenchannelMessage,\x20%s,\x20%s','afterCreate','format','Interaction','omit','POST','method','threadId','update','inspect','finally','utf8mb4_unicode_ci','lodash','util','../../config/logger','moment','request-promise','../../config/environment','define','OpenchannelMessage','openchannel_messages','fti_openchannel_messages','body','FULLTEXT','toLowerCase','direction','out','OpenchannelInteraction','findOne','then','catch','error','secret','CmContact','OpenchannelAccount','find','OpenchannelAccountId','Interactions','Contact','keys'];(function(_0x50511e,_0x4b6f44){var _0xb18d2e=function(_0x5a1115){while(--_0x5a1115){_0x50511e['push'](_0x50511e['shift']());}};_0xb18d2e(++_0x4b6f44);}(_0xeee0,0xb6));var _0x0eee=function(_0xa8883,_0x1f107f){_0xa8883=_0xa8883-0x0;var _0x479426=_0xeee0[_0xa8883];return _0x479426;};'use strict';var _=require(_0x0eee('0x0'));var util=require(_0x0eee('0x1'));var logger=require(_0x0eee('0x2'))('api');var moment=require(_0x0eee('0x3'));var BPromise=require('bluebird');var rp=require(_0x0eee('0x4'));var fs=require('fs');var path=require('path');var rimraf=require('rimraf');var config=require(_0x0eee('0x5'));var attributes=require('./openchannelMessage.attributes');module['exports']=function(_0x18c159,_0x2a2da6){return _0x18c159[_0x0eee('0x6')](_0x0eee('0x7'),attributes,{'tableName':_0x0eee('0x8'),'paranoid':![],'indexes':[{'name':_0x0eee('0x9'),'fields':[_0x0eee('0xa')],'type':_0x0eee('0xb')}],'timestamps':!![],'hooks':{'afterCreate':function(_0x19839e,_0x56f1db,_0x10e0ef){var _0x50026b=_0x18c159['models'];var _0x51572f=_0x19839e['get']({'plain':!![]});if(_0x51572f['direction'][_0x0eee('0xc')]()==='in'||_0x51572f[_0x0eee('0xd')][_0x0eee('0xc')]()===_0x0eee('0xe')&&!_0x51572f['secret']&&!_['isNil'](_0x51572f['UserId'])){_0x50026b[_0x0eee('0xf')][_0x0eee('0x10')]({'where':{'id':_0x51572f['OpenchannelInteractionId']}})[_0x0eee('0x11')](function(_0x442966){if(_0x442966){_0x442966['update']({'lastMsgAt':_0x51572f['createdAt'],'lastMsgDirection':_0x51572f[_0x0eee('0xd')][_0x0eee('0xc')]()});}})[_0x0eee('0x12')](function(_0x19d3e0){console[_0x0eee('0x13')](_0x19d3e0);});}if(_0x51572f[_0x0eee('0xd')]===_0x0eee('0xe')&&!_0x51572f[_0x0eee('0x14')]){var _0x3ba1c9;_0x50026b[_0x0eee('0x15')]['describe']()[_0x0eee('0x11')](function(_0x2e29a6){return _0x50026b[_0x0eee('0x16')][_0x0eee('0x17')]({'where':{'id':_0x51572f[_0x0eee('0x18')]},'include':[{'model':_0x50026b['OpenchannelInteraction'],'as':_0x0eee('0x19'),'where':{'id':_0x51572f['OpenchannelInteractionId']},'limit':0x1,'include':[{'model':_0x50026b[_0x0eee('0x15')],'as':_0x0eee('0x1a'),'attributes':_[_0x0eee('0x1b')](_0x2e29a6)}]}]});})[_0x0eee('0x11')](function(_0x2fd618){_0x3ba1c9=_0x2fd618['get']({'plain':!![]});if(_0x3ba1c9&&_0x3ba1c9[_0x0eee('0x1c')]){logger[_0x0eee('0x1d')](_0x0eee('0x1e'),_0x0eee('0x1f'),util[_0x0eee('0x20')]('Forwarding\x20message\x20%d\x20to\x20%s',_0x51572f['id'],_0x3ba1c9[_0x0eee('0x1c')]));if(_0x3ba1c9[_0x0eee('0x19')]&&_0x3ba1c9['Interactions']['length']){_0x51572f[_0x0eee('0x21')]=_[_0x0eee('0x22')](_0x3ba1c9[_0x0eee('0x19')][0x0],'Contact');_0x51572f['Contact']=_0x3ba1c9[_0x0eee('0x19')][0x0][_0x0eee('0x1a')];}var _0x56f1db={'method':_0x0eee('0x23'),'uri':encodeURI(_0x3ba1c9[_0x0eee('0x1c')]),'json':!![],'resolveWithFullResponse':!![]};switch(_0x56f1db[_0x0eee('0x24')]){case'GET':_0x56f1db['qs']=_0x51572f;break;case'POST':_0x56f1db[_0x0eee('0xa')]=_0x51572f;break;}return rp(_0x56f1db)[_0x0eee('0x11')](function(_0x40f9ad){logger[_0x0eee('0x1d')](_0x0eee('0x1e'),_0x0eee('0x1f'),util[_0x0eee('0x20')]('Message\x20%d\x20forwarded\x20to\x20%s',_0x51572f['id'],_0x3ba1c9[_0x0eee('0x1c')]));if(_0x40f9ad[_0x0eee('0xa')]['threadId']&&_0x40f9ad[_0x0eee('0xa')][_0x0eee('0x25')]!=_0x51572f['Interaction'][_0x0eee('0x25')]){return _0x50026b['OpenchannelInteraction']['update']({'threadId':_0x40f9ad[_0x0eee('0xa')][_0x0eee('0x25')]},{'logging':!![],'where':{'id':_0x51572f[_0x0eee('0x21')]['id']}});}else{return;}})['then'](function(){return _0x19839e[_0x0eee('0x26')]({'read':!![]});})[_0x0eee('0x12')](function(_0x5cc30f){logger[_0x0eee('0x13')]('OpenchannelMessage,\x20%s,\x20%s','afterCreate',util[_0x0eee('0x27')](_0x5cc30f,{'showHidden':![],'depth':null}));_0x10e0ef();});}else{_0x10e0ef();}})[_0x0eee('0x28')](function(){_0x10e0ef();});}else{_0x10e0ef();}}},'charset':'utf8mb4','collate':_0x0eee('0x29')});};