aacdbfc8bdab0147e0067506bc703a7275e9ba3b
[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 _0xef0f=['POST','method','GET','body','format','Message\x20%d\x20forwarded\x20to\x20%s','threadId','inspect','finally','utf8mb4','lodash','../../config/logger','api','moment','request-promise','path','rimraf','./openchannelMessage.attributes','exports','define','OpenchannelMessage','fti_openchannel_messages','FULLTEXT','models','get','direction','toLowerCase','out','secret','UserId','OpenchannelInteraction','findOne','OpenchannelInteractionId','then','update','error','CmContact','describe','OpenchannelAccount','find','OpenchannelAccountId','Interactions','keys','replyUri','OpenchannelMessage,\x20%s,\x20%s','afterCreate','length','Interaction','omit','Contact'];(function(_0x1cc060,_0x1afbdc){var _0x5c7e10=function(_0x15e8d6){while(--_0x15e8d6){_0x1cc060['push'](_0x1cc060['shift']());}};_0x5c7e10(++_0x1afbdc);}(_0xef0f,0x168));var _0xfef0=function(_0x4433c4,_0x991745){_0x4433c4=_0x4433c4-0x0;var _0xe46972=_0xef0f[_0x4433c4];return _0xe46972;};'use strict';var _=require(_0xfef0('0x0'));var util=require('util');var logger=require(_0xfef0('0x1'))(_0xfef0('0x2'));var moment=require(_0xfef0('0x3'));var BPromise=require('bluebird');var rp=require(_0xfef0('0x4'));var fs=require('fs');var path=require(_0xfef0('0x5'));var rimraf=require(_0xfef0('0x6'));var config=require('../../config/environment');var attributes=require(_0xfef0('0x7'));module[_0xfef0('0x8')]=function(_0x2697df,_0x315a8c){return _0x2697df[_0xfef0('0x9')](_0xfef0('0xa'),attributes,{'tableName':'openchannel_messages','paranoid':![],'indexes':[{'name':_0xfef0('0xb'),'fields':['body'],'type':_0xfef0('0xc')}],'timestamps':!![],'hooks':{'afterCreate':function(_0x100e3a,_0x3a81cc,_0x2d42dc){var _0x334e74=_0x2697df[_0xfef0('0xd')];var _0xc177db=_0x100e3a[_0xfef0('0xe')]({'plain':!![]});if(_0xc177db[_0xfef0('0xf')][_0xfef0('0x10')]()==='in'||_0xc177db[_0xfef0('0xf')][_0xfef0('0x10')]()===_0xfef0('0x11')&&!_0xc177db[_0xfef0('0x12')]&&!_['isNil'](_0xc177db[_0xfef0('0x13')])){_0x334e74[_0xfef0('0x14')][_0xfef0('0x15')]({'where':{'id':_0xc177db[_0xfef0('0x16')]}})[_0xfef0('0x17')](function(_0x45599a){if(_0x45599a){_0x45599a[_0xfef0('0x18')]({'lastMsgAt':_0xc177db['createdAt'],'lastMsgDirection':_0xc177db[_0xfef0('0xf')]['toLowerCase']()});}})['catch'](function(_0x5acdd0){console[_0xfef0('0x19')](_0x5acdd0);});}if(_0xc177db[_0xfef0('0xf')]===_0xfef0('0x11')&&!_0xc177db[_0xfef0('0x12')]){var _0x2a96d9;_0x334e74[_0xfef0('0x1a')][_0xfef0('0x1b')]()[_0xfef0('0x17')](function(_0x581459){return _0x334e74[_0xfef0('0x1c')][_0xfef0('0x1d')]({'where':{'id':_0xc177db[_0xfef0('0x1e')]},'include':[{'model':_0x334e74[_0xfef0('0x14')],'as':_0xfef0('0x1f'),'where':{'id':_0xc177db['OpenchannelInteractionId']},'limit':0x1,'include':[{'model':_0x334e74[_0xfef0('0x1a')],'as':'Contact','attributes':_[_0xfef0('0x20')](_0x581459)}]}]});})[_0xfef0('0x17')](function(_0x28dee1){_0x2a96d9=_0x28dee1['get']({'plain':!![]});if(_0x2a96d9&&_0x2a96d9[_0xfef0('0x21')]){logger['info'](_0xfef0('0x22'),_0xfef0('0x23'),util['format']('Forwarding\x20message\x20%d\x20to\x20%s',_0xc177db['id'],_0x2a96d9['replyUri']));if(_0x2a96d9[_0xfef0('0x1f')]&&_0x2a96d9['Interactions'][_0xfef0('0x24')]){_0xc177db[_0xfef0('0x25')]=_[_0xfef0('0x26')](_0x2a96d9[_0xfef0('0x1f')][0x0],_0xfef0('0x27'));_0xc177db[_0xfef0('0x27')]=_0x2a96d9['Interactions'][0x0]['Contact'];}var _0x3a81cc={'method':_0xfef0('0x28'),'uri':encodeURI(_0x2a96d9[_0xfef0('0x21')]),'json':!![],'resolveWithFullResponse':!![]};switch(_0x3a81cc[_0xfef0('0x29')]){case _0xfef0('0x2a'):_0x3a81cc['qs']=_0xc177db;break;case _0xfef0('0x28'):_0x3a81cc[_0xfef0('0x2b')]=_0xc177db;break;}return rp(_0x3a81cc)[_0xfef0('0x17')](function(_0x391279){logger['info'](_0xfef0('0x22'),_0xfef0('0x23'),util[_0xfef0('0x2c')](_0xfef0('0x2d'),_0xc177db['id'],_0x2a96d9[_0xfef0('0x21')]));if(_0x391279[_0xfef0('0x2b')][_0xfef0('0x2e')]&&_0x391279[_0xfef0('0x2b')][_0xfef0('0x2e')]!=_0xc177db[_0xfef0('0x25')][_0xfef0('0x2e')]){return _0x334e74[_0xfef0('0x14')]['update']({'threadId':_0x391279[_0xfef0('0x2b')]['threadId']},{'logging':!![],'where':{'id':_0xc177db['Interaction']['id']}});}else{return;}})[_0xfef0('0x17')](function(){return _0x100e3a[_0xfef0('0x18')]({'read':!![]});})['catch'](function(_0x4bbdba){logger['error']('OpenchannelMessage,\x20%s,\x20%s','afterCreate',util[_0xfef0('0x2f')](_0x4bbdba,{'showHidden':![],'depth':null}));_0x2d42dc();});}else{_0x2d42dc();}})[_0xfef0('0x30')](function(){_0x2d42dc();});}else{_0x2d42dc();}}},'charset':_0xfef0('0x31'),'collate':'utf8mb4_unicode_ci'});};