Built motion from commit 00bf23f6.|2.6.16
[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 _0xdb6e=['catch','error','describe','then','OpenchannelAccount','find','OpenchannelAccountId','CmContact','keys','OpenchannelMessage,\x20%s,\x20%s','afterCreate','format','Forwarding\x20message\x20%d\x20to\x20%s','Interactions','length','omit','Contact','POST','replyUri','GET','Message\x20%d\x20forwarded\x20to\x20%s','body','threadId','Interaction','utf8mb4','lodash','util','api','moment','bluebird','request-promise','path','rimraf','../../config/environment','./openchannelMessage.attributes','exports','OpenchannelMessage','fti_openchannel_messages','FULLTEXT','models','direction','toLowerCase','out','secret','isNil','OpenchannelInteraction','findOne','OpenchannelInteractionId','update','createdAt'];(function(_0x3a030a,_0x19bbda){var _0xf887dc=function(_0x211f20){while(--_0x211f20){_0x3a030a['push'](_0x3a030a['shift']());}};_0xf887dc(++_0x19bbda);}(_0xdb6e,0x145));var _0xedb6=function(_0x5941b7,_0x499160){_0x5941b7=_0x5941b7-0x0;var _0x2ae4df=_0xdb6e[_0x5941b7];return _0x2ae4df;};'use strict';var _=require(_0xedb6('0x0'));var util=require(_0xedb6('0x1'));var logger=require('../../config/logger')(_0xedb6('0x2'));var moment=require(_0xedb6('0x3'));var BPromise=require(_0xedb6('0x4'));var rp=require(_0xedb6('0x5'));var fs=require('fs');var path=require(_0xedb6('0x6'));var rimraf=require(_0xedb6('0x7'));var config=require(_0xedb6('0x8'));var attributes=require(_0xedb6('0x9'));module[_0xedb6('0xa')]=function(_0x43032e,_0x244ecf){return _0x43032e['define'](_0xedb6('0xb'),attributes,{'tableName':'openchannel_messages','paranoid':![],'indexes':[{'name':_0xedb6('0xc'),'fields':['body'],'type':_0xedb6('0xd')}],'timestamps':!![],'hooks':{'afterCreate':function(_0x27e2d0,_0x3d1c6b,_0x2d7a7a){var _0x285cbf=_0x43032e[_0xedb6('0xe')];var _0x18b24e=_0x27e2d0['get']({'plain':!![]});if(_0x18b24e[_0xedb6('0xf')][_0xedb6('0x10')]()==='in'||_0x18b24e[_0xedb6('0xf')][_0xedb6('0x10')]()===_0xedb6('0x11')&&!_0x18b24e[_0xedb6('0x12')]&&!_[_0xedb6('0x13')](_0x18b24e['UserId'])){_0x285cbf[_0xedb6('0x14')][_0xedb6('0x15')]({'where':{'id':_0x18b24e[_0xedb6('0x16')]}})['then'](function(_0x5dc3b6){if(_0x5dc3b6){_0x5dc3b6[_0xedb6('0x17')]({'lastMsgAt':_0x18b24e[_0xedb6('0x18')],'lastMsgDirection':_0x18b24e[_0xedb6('0xf')][_0xedb6('0x10')]()});}})[_0xedb6('0x19')](function(_0x26cb18){console[_0xedb6('0x1a')](_0x26cb18);});}if(_0x18b24e[_0xedb6('0xf')]===_0xedb6('0x11')&&!_0x18b24e['secret']){var _0x4d364a;_0x285cbf['CmContact'][_0xedb6('0x1b')]()[_0xedb6('0x1c')](function(_0x169fde){return _0x285cbf[_0xedb6('0x1d')][_0xedb6('0x1e')]({'where':{'id':_0x18b24e[_0xedb6('0x1f')]},'include':[{'model':_0x285cbf[_0xedb6('0x14')],'as':'Interactions','where':{'id':_0x18b24e['OpenchannelInteractionId']},'limit':0x1,'include':[{'model':_0x285cbf[_0xedb6('0x20')],'as':'Contact','attributes':_[_0xedb6('0x21')](_0x169fde)}]}]});})[_0xedb6('0x1c')](function(_0x4320c8){_0x4d364a=_0x4320c8['get']({'plain':!![]});if(_0x4d364a&&_0x4d364a['replyUri']){logger['info'](_0xedb6('0x22'),_0xedb6('0x23'),util[_0xedb6('0x24')](_0xedb6('0x25'),_0x18b24e['id'],_0x4d364a['replyUri']));if(_0x4d364a[_0xedb6('0x26')]&&_0x4d364a[_0xedb6('0x26')][_0xedb6('0x27')]){_0x18b24e['Interaction']=_[_0xedb6('0x28')](_0x4d364a[_0xedb6('0x26')][0x0],_0xedb6('0x29'));_0x18b24e['Contact']=_0x4d364a[_0xedb6('0x26')][0x0]['Contact'];}var _0x3d1c6b={'method':_0xedb6('0x2a'),'uri':encodeURI(_0x4d364a[_0xedb6('0x2b')]),'json':!![],'resolveWithFullResponse':!![]};switch(_0x3d1c6b['method']){case _0xedb6('0x2c'):_0x3d1c6b['qs']=_0x18b24e;break;case _0xedb6('0x2a'):_0x3d1c6b['body']=_0x18b24e;break;}return rp(_0x3d1c6b)[_0xedb6('0x1c')](function(_0x5c0606){logger['info'](_0xedb6('0x22'),'afterCreate',util[_0xedb6('0x24')](_0xedb6('0x2d'),_0x18b24e['id'],_0x4d364a['replyUri']));if(_0x5c0606[_0xedb6('0x2e')]['threadId']&&_0x5c0606[_0xedb6('0x2e')][_0xedb6('0x2f')]!=_0x18b24e[_0xedb6('0x30')]['threadId']){return _0x285cbf[_0xedb6('0x14')][_0xedb6('0x17')]({'threadId':_0x5c0606[_0xedb6('0x2e')][_0xedb6('0x2f')]},{'where':{'id':_0x18b24e[_0xedb6('0x30')]['id']}});}else{return;}})[_0xedb6('0x1c')](function(){return _0x27e2d0[_0xedb6('0x17')]({'read':!![]});})[_0xedb6('0x19')](function(_0x44bfbe){logger[_0xedb6('0x1a')](_0xedb6('0x22'),_0xedb6('0x23'),util['inspect'](_0x44bfbe,{'showHidden':![],'depth':null}));_0x2d7a7a();});}else{_0x2d7a7a();}})['finally'](function(){_0x2d7a7a();});}else{_0x2d7a7a();}}},'charset':_0xedb6('0x31'),'collate':'utf8mb4_unicode_ci'});};