ac340e66b4fed480c2064af8656ec995d1f768f4
[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 _0xea48=['utf8mb4','lodash','util','api','moment','bluebird','request-promise','path','../../config/environment','./openchannelMessage.attributes','exports','define','OpenchannelMessage','openchannel_messages','fti_openchannel_messages','body','models','get','direction','toLowerCase','out','secret','UserId','OpenchannelInteraction','findOne','OpenchannelInteractionId','then','update','error','CmContact','find','OpenchannelAccountId','Interactions','Contact','keys','replyUri','info','OpenchannelMessage,\x20%s,\x20%s','afterCreate','format','length','omit','POST','method','GET','threadId','inspect'];(function(_0x5a3018,_0xe6f19a){var _0x53399d=function(_0x5e1b34){while(--_0x5e1b34){_0x5a3018['push'](_0x5a3018['shift']());}};_0x53399d(++_0xe6f19a);}(_0xea48,0x1d7));var _0x8ea4=function(_0x50efca,_0xf4584e){_0x50efca=_0x50efca-0x0;var _0x34a1c6=_0xea48[_0x50efca];return _0x34a1c6;};'use strict';var _=require(_0x8ea4('0x0'));var util=require(_0x8ea4('0x1'));var logger=require('../../config/logger')(_0x8ea4('0x2'));var moment=require(_0x8ea4('0x3'));var BPromise=require(_0x8ea4('0x4'));var rp=require(_0x8ea4('0x5'));var fs=require('fs');var path=require(_0x8ea4('0x6'));var rimraf=require('rimraf');var config=require(_0x8ea4('0x7'));var attributes=require(_0x8ea4('0x8'));module[_0x8ea4('0x9')]=function(_0x281176,_0x5f481a){return _0x281176[_0x8ea4('0xa')](_0x8ea4('0xb'),attributes,{'tableName':_0x8ea4('0xc'),'paranoid':![],'indexes':[{'name':_0x8ea4('0xd'),'fields':[_0x8ea4('0xe')],'type':'FULLTEXT'}],'timestamps':!![],'hooks':{'afterCreate':function(_0x556683,_0x2d14a5,_0x235bee){var _0x4fa61e=_0x281176[_0x8ea4('0xf')];var _0x3565b6=_0x556683[_0x8ea4('0x10')]({'plain':!![]});if(_0x3565b6[_0x8ea4('0x11')][_0x8ea4('0x12')]()==='in'||_0x3565b6[_0x8ea4('0x11')]['toLowerCase']()===_0x8ea4('0x13')&&!_0x3565b6[_0x8ea4('0x14')]&&!_['isNil'](_0x3565b6[_0x8ea4('0x15')])){_0x4fa61e[_0x8ea4('0x16')][_0x8ea4('0x17')]({'where':{'id':_0x3565b6[_0x8ea4('0x18')]}})[_0x8ea4('0x19')](function(_0x35a76c){if(_0x35a76c){_0x35a76c[_0x8ea4('0x1a')]({'lastMsgAt':_0x3565b6['createdAt'],'lastMsgDirection':_0x3565b6['direction'][_0x8ea4('0x12')]()});}})['catch'](function(_0x2aa27d){console[_0x8ea4('0x1b')](_0x2aa27d);});}if(_0x3565b6[_0x8ea4('0x11')]===_0x8ea4('0x13')&&!_0x3565b6[_0x8ea4('0x14')]){var _0x3c3685;_0x4fa61e[_0x8ea4('0x1c')]['describe']()[_0x8ea4('0x19')](function(_0x355f82){return _0x4fa61e['OpenchannelAccount'][_0x8ea4('0x1d')]({'where':{'id':_0x3565b6[_0x8ea4('0x1e')]},'include':[{'model':_0x4fa61e[_0x8ea4('0x16')],'as':_0x8ea4('0x1f'),'where':{'id':_0x3565b6[_0x8ea4('0x18')]},'limit':0x1,'include':[{'model':_0x4fa61e[_0x8ea4('0x1c')],'as':_0x8ea4('0x20'),'attributes':_[_0x8ea4('0x21')](_0x355f82)}]}]});})[_0x8ea4('0x19')](function(_0x348948){_0x3c3685=_0x348948[_0x8ea4('0x10')]({'plain':!![]});if(_0x3c3685&&_0x3c3685[_0x8ea4('0x22')]){logger[_0x8ea4('0x23')](_0x8ea4('0x24'),_0x8ea4('0x25'),util[_0x8ea4('0x26')]('Forwarding\x20message\x20%d\x20to\x20%s',_0x3565b6['id'],_0x3c3685['replyUri']));if(_0x3c3685[_0x8ea4('0x1f')]&&_0x3c3685['Interactions'][_0x8ea4('0x27')]){_0x3565b6['Interaction']=_[_0x8ea4('0x28')](_0x3c3685[_0x8ea4('0x1f')][0x0],_0x8ea4('0x20'));_0x3565b6[_0x8ea4('0x20')]=_0x3c3685['Interactions'][0x0][_0x8ea4('0x20')];}var _0x2d14a5={'method':_0x8ea4('0x29'),'uri':encodeURI(_0x3c3685[_0x8ea4('0x22')]),'json':!![],'resolveWithFullResponse':!![]};switch(_0x2d14a5[_0x8ea4('0x2a')]){case _0x8ea4('0x2b'):_0x2d14a5['qs']=_0x3565b6;break;case _0x8ea4('0x29'):_0x2d14a5[_0x8ea4('0xe')]=_0x3565b6;break;}return rp(_0x2d14a5)[_0x8ea4('0x19')](function(_0x1d9225){logger[_0x8ea4('0x23')](_0x8ea4('0x24'),_0x8ea4('0x25'),util[_0x8ea4('0x26')]('Message\x20%d\x20forwarded\x20to\x20%s',_0x3565b6['id'],_0x3c3685[_0x8ea4('0x22')]));if(_0x1d9225['body'][_0x8ea4('0x2c')]&&_0x1d9225[_0x8ea4('0xe')]['threadId']!=_0x3565b6['Interaction']['threadId']){return _0x4fa61e[_0x8ea4('0x16')][_0x8ea4('0x1a')]({'threadId':_0x1d9225[_0x8ea4('0xe')]['threadId']},{'logging':!![],'where':{'id':_0x3565b6['Interaction']['id']}});}else{return;}})['then'](function(){return _0x556683[_0x8ea4('0x1a')]({'read':!![]});})['catch'](function(_0x2fc781){logger[_0x8ea4('0x1b')]('OpenchannelMessage,\x20%s,\x20%s',_0x8ea4('0x25'),util[_0x8ea4('0x2d')](_0x2fc781,{'showHidden':![],'depth':null}));_0x235bee();});}else{_0x235bee();}})['finally'](function(){_0x235bee();});}else{_0x235bee();}}},'charset':_0x8ea4('0x2e'),'collate':'utf8mb4_unicode_ci'});};