b70d6de3873a77920c0ded18fe416bb30752aa82
[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 _0x2b07=['threadId','update','finally','utf8mb4','utf8mb4_unicode_ci','../../config/logger','api','moment','bluebird','request-promise','path','rimraf','../../config/environment','exports','define','openchannel_messages','fti_openchannel_messages','body','models','get','direction','toLowerCase','out','secret','isNil','UserId','findOne','OpenchannelInteractionId','then','catch','error','OpenchannelAccount','find','OpenchannelAccountId','OpenchannelInteraction','Interactions','CmContact','Contact','keys','replyUri','info','OpenchannelMessage,\x20%s,\x20%s','afterCreate','length','omit','method','GET','POST','format','Message\x20%d\x20forwarded\x20to\x20%s'];(function(_0x3b8f2e,_0x5a99a8){var _0x1433d5=function(_0x5e0353){while(--_0x5e0353){_0x3b8f2e['push'](_0x3b8f2e['shift']());}};_0x1433d5(++_0x5a99a8);}(_0x2b07,0xcd));var _0x72b0=function(_0x1fafa5,_0x1aa281){_0x1fafa5=_0x1fafa5-0x0;var _0xcf08c9=_0x2b07[_0x1fafa5];return _0xcf08c9;};'use strict';var _=require('lodash');var util=require('util');var logger=require(_0x72b0('0x0'))(_0x72b0('0x1'));var moment=require(_0x72b0('0x2'));var BPromise=require(_0x72b0('0x3'));var rp=require(_0x72b0('0x4'));var fs=require('fs');var path=require(_0x72b0('0x5'));var rimraf=require(_0x72b0('0x6'));var config=require(_0x72b0('0x7'));var attributes=require('./openchannelMessage.attributes');module[_0x72b0('0x8')]=function(_0x4b70a7,_0x236baa){return _0x4b70a7[_0x72b0('0x9')]('OpenchannelMessage',attributes,{'tableName':_0x72b0('0xa'),'paranoid':![],'indexes':[{'name':_0x72b0('0xb'),'fields':[_0x72b0('0xc')],'type':'FULLTEXT'}],'timestamps':!![],'hooks':{'afterCreate':function(_0x39cc76,_0x30e325,_0x19a81c){var _0x361e2d=_0x4b70a7[_0x72b0('0xd')];var _0x243397=_0x39cc76[_0x72b0('0xe')]({'plain':!![]});if(_0x243397[_0x72b0('0xf')][_0x72b0('0x10')]()==='in'||_0x243397[_0x72b0('0xf')][_0x72b0('0x10')]()===_0x72b0('0x11')&&!_0x243397[_0x72b0('0x12')]&&!_[_0x72b0('0x13')](_0x243397[_0x72b0('0x14')])){_0x361e2d['OpenchannelInteraction'][_0x72b0('0x15')]({'where':{'id':_0x243397[_0x72b0('0x16')]}})[_0x72b0('0x17')](function(_0x4ac2f4){if(_0x4ac2f4){_0x4ac2f4['update']({'lastMsgAt':_0x243397['createdAt'],'lastMsgDirection':_0x243397[_0x72b0('0xf')]['toLowerCase']()});}})[_0x72b0('0x18')](function(_0xf8951b){console[_0x72b0('0x19')](_0xf8951b);});}if(_0x243397[_0x72b0('0xf')]===_0x72b0('0x11')&&!_0x243397[_0x72b0('0x12')]){var _0x1c824b;_0x361e2d['CmContact']['describe']()[_0x72b0('0x17')](function(_0x1440b6){return _0x361e2d[_0x72b0('0x1a')][_0x72b0('0x1b')]({'where':{'id':_0x243397[_0x72b0('0x1c')]},'include':[{'model':_0x361e2d[_0x72b0('0x1d')],'as':_0x72b0('0x1e'),'where':{'id':_0x243397[_0x72b0('0x16')]},'limit':0x1,'include':[{'model':_0x361e2d[_0x72b0('0x1f')],'as':_0x72b0('0x20'),'attributes':_[_0x72b0('0x21')](_0x1440b6)}]}]});})[_0x72b0('0x17')](function(_0x337561){_0x1c824b=_0x337561[_0x72b0('0xe')]({'plain':!![]});if(_0x1c824b&&_0x1c824b[_0x72b0('0x22')]){logger[_0x72b0('0x23')](_0x72b0('0x24'),_0x72b0('0x25'),util['format']('Forwarding\x20message\x20%d\x20to\x20%s',_0x243397['id'],_0x1c824b[_0x72b0('0x22')]));if(_0x1c824b[_0x72b0('0x1e')]&&_0x1c824b[_0x72b0('0x1e')][_0x72b0('0x26')]){_0x243397['Interaction']=_[_0x72b0('0x27')](_0x1c824b['Interactions'][0x0],_0x72b0('0x20'));_0x243397[_0x72b0('0x20')]=_0x1c824b[_0x72b0('0x1e')][0x0][_0x72b0('0x20')];}var _0x30e325={'method':'POST','uri':encodeURI(_0x1c824b[_0x72b0('0x22')]),'json':!![],'resolveWithFullResponse':!![]};switch(_0x30e325[_0x72b0('0x28')]){case _0x72b0('0x29'):_0x30e325['qs']=_0x243397;break;case _0x72b0('0x2a'):_0x30e325[_0x72b0('0xc')]=_0x243397;break;}return rp(_0x30e325)[_0x72b0('0x17')](function(_0x10c076){logger[_0x72b0('0x23')]('OpenchannelMessage,\x20%s,\x20%s',_0x72b0('0x25'),util[_0x72b0('0x2b')](_0x72b0('0x2c'),_0x243397['id'],_0x1c824b[_0x72b0('0x22')]));if(_0x10c076['body'][_0x72b0('0x2d')]&&_0x10c076[_0x72b0('0xc')]['threadId']!=_0x243397['Interaction'][_0x72b0('0x2d')]){return _0x361e2d[_0x72b0('0x1d')][_0x72b0('0x2e')]({'threadId':_0x10c076['body']['threadId']},{'logging':!![],'where':{'id':_0x243397['Interaction']['id']}});}else{return;}})[_0x72b0('0x17')](function(){return _0x39cc76[_0x72b0('0x2e')]({'read':!![]});})[_0x72b0('0x18')](function(_0x231292){logger[_0x72b0('0x19')](_0x72b0('0x24'),_0x72b0('0x25'),util['inspect'](_0x231292,{'showHidden':![],'depth':null}));_0x19a81c();});}else{_0x19a81c();}})[_0x72b0('0x2f')](function(){_0x19a81c();});}else{_0x19a81c();}}},'charset':_0x72b0('0x30'),'collate':_0x72b0('0x31')});};