33277b9f7469fcfc8e1362d37c66c15f51498911
[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 _0x6299=['error','inspect','finally','utf8mb4','utf8mb4_unicode_ci','util','api','moment','bluebird','path','../../config/environment','./openchannelMessage.attributes','exports','define','OpenchannelMessage','openchannel_messages','fti_openchannel_messages','FULLTEXT','get','direction','toLowerCase','secret','UserId','OpenchannelInteraction','findOne','OpenchannelInteractionId','update','createdAt','catch','CmContact','then','OpenchannelAccount','find','OpenchannelAccountId','Interactions','keys','info','OpenchannelMessage,\x20%s,\x20%s','afterCreate','format','Forwarding\x20message\x20%d\x20to\x20%s','replyUri','Interaction','omit','Contact','method','GET','POST','body','Message\x20%d\x20forwarded\x20to\x20%s','threadId'];(function(_0x7233bb,_0xf27042){var _0x4d1317=function(_0x346348){while(--_0x346348){_0x7233bb['push'](_0x7233bb['shift']());}};_0x4d1317(++_0xf27042);}(_0x6299,0x6b));var _0x9629=function(_0x9d0805,_0x36382e){_0x9d0805=_0x9d0805-0x0;var _0x2a5a2e=_0x6299[_0x9d0805];return _0x2a5a2e;};'use strict';var _=require('lodash');var util=require(_0x9629('0x0'));var logger=require('../../config/logger')(_0x9629('0x1'));var moment=require(_0x9629('0x2'));var BPromise=require(_0x9629('0x3'));var rp=require('request-promise');var fs=require('fs');var path=require(_0x9629('0x4'));var rimraf=require('rimraf');var config=require(_0x9629('0x5'));var attributes=require(_0x9629('0x6'));module[_0x9629('0x7')]=function(_0x1fee02,_0x2338ad){return _0x1fee02[_0x9629('0x8')](_0x9629('0x9'),attributes,{'tableName':_0x9629('0xa'),'paranoid':![],'indexes':[{'name':_0x9629('0xb'),'fields':['body'],'type':_0x9629('0xc')}],'timestamps':!![],'hooks':{'afterCreate':function(_0x311244,_0x1b51b2,_0xf6d99f){var _0x7b629d=_0x1fee02['models'];var _0x3132e4=_0x311244[_0x9629('0xd')]({'plain':!![]});if(_0x3132e4[_0x9629('0xe')][_0x9629('0xf')]()==='in'||_0x3132e4[_0x9629('0xe')]['toLowerCase']()==='out'&&!_0x3132e4[_0x9629('0x10')]&&!_['isNil'](_0x3132e4[_0x9629('0x11')])){_0x7b629d[_0x9629('0x12')][_0x9629('0x13')]({'where':{'id':_0x3132e4[_0x9629('0x14')]}})['then'](function(_0x2b99b4){if(_0x2b99b4){_0x2b99b4[_0x9629('0x15')]({'lastMsgAt':_0x3132e4[_0x9629('0x16')],'lastMsgDirection':_0x3132e4[_0x9629('0xe')][_0x9629('0xf')]()});}})[_0x9629('0x17')](function(_0x3f5985){console['error'](_0x3f5985);});}if(_0x3132e4['direction']==='out'&&!_0x3132e4[_0x9629('0x10')]){var _0x2a94f0;_0x7b629d[_0x9629('0x18')]['describe']()[_0x9629('0x19')](function(_0x3b98f1){return _0x7b629d[_0x9629('0x1a')][_0x9629('0x1b')]({'where':{'id':_0x3132e4[_0x9629('0x1c')]},'include':[{'model':_0x7b629d[_0x9629('0x12')],'as':_0x9629('0x1d'),'where':{'id':_0x3132e4[_0x9629('0x14')]},'limit':0x1,'include':[{'model':_0x7b629d[_0x9629('0x18')],'as':'Contact','attributes':_[_0x9629('0x1e')](_0x3b98f1)}]}]});})['then'](function(_0x4c781e){_0x2a94f0=_0x4c781e[_0x9629('0xd')]({'plain':!![]});if(_0x2a94f0&&_0x2a94f0['replyUri']){logger[_0x9629('0x1f')](_0x9629('0x20'),_0x9629('0x21'),util[_0x9629('0x22')](_0x9629('0x23'),_0x3132e4['id'],_0x2a94f0[_0x9629('0x24')]));if(_0x2a94f0[_0x9629('0x1d')]&&_0x2a94f0[_0x9629('0x1d')]['length']){_0x3132e4[_0x9629('0x25')]=_[_0x9629('0x26')](_0x2a94f0[_0x9629('0x1d')][0x0],'Contact');_0x3132e4[_0x9629('0x27')]=_0x2a94f0[_0x9629('0x1d')][0x0][_0x9629('0x27')];}var _0x1b51b2={'method':'POST','uri':encodeURI(_0x2a94f0['replyUri']),'json':!![],'resolveWithFullResponse':!![]};switch(_0x1b51b2[_0x9629('0x28')]){case _0x9629('0x29'):_0x1b51b2['qs']=_0x3132e4;break;case _0x9629('0x2a'):_0x1b51b2[_0x9629('0x2b')]=_0x3132e4;break;}return rp(_0x1b51b2)[_0x9629('0x19')](function(_0x41876b){logger['info'](_0x9629('0x20'),_0x9629('0x21'),util['format'](_0x9629('0x2c'),_0x3132e4['id'],_0x2a94f0[_0x9629('0x24')]));if(_0x41876b[_0x9629('0x2b')][_0x9629('0x2d')]&&_0x41876b['body']['threadId']!=_0x3132e4['Interaction']['threadId']){return _0x7b629d[_0x9629('0x12')][_0x9629('0x15')]({'threadId':_0x41876b[_0x9629('0x2b')][_0x9629('0x2d')]},{'logging':!![],'where':{'id':_0x3132e4['Interaction']['id']}});}else{return;}})['then'](function(){return _0x311244['update']({'read':!![]});})[_0x9629('0x17')](function(_0x3b8bb2){logger[_0x9629('0x2e')](_0x9629('0x20'),'afterCreate',util[_0x9629('0x2f')](_0x3b8bb2,{'showHidden':![],'depth':null}));_0xf6d99f();});}else{_0xf6d99f();}})[_0x9629('0x30')](function(){_0xf6d99f();});}else{_0xf6d99f();}}},'charset':_0x9629('0x31'),'collate':_0x9629('0x32')});};