Built motion from commit 639a1a7f.|2.6.19
[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 _0xbd24=['toLowerCase','catch','error','CmContact','describe','then','OpenchannelAccount','find','OpenchannelInteraction','Contact','keys','replyUri','afterCreate','format','Interactions','length','Interaction','omit','GET','OpenchannelMessage,\x20%s,\x20%s','Message\x20%d\x20forwarded\x20to\x20%s','threadId','inspect','finally','utf8mb4_unicode_ci','util','api','moment','request-promise','path','./openchannelMessage.attributes','exports','define','OpenchannelMessage','fti_openchannel_messages','body','FULLTEXT','direction','out','secret','UserId','findOne','OpenchannelInteractionId','update','createdAt'];(function(_0x414810,_0x5e924d){var _0x2d4df5=function(_0x390860){while(--_0x390860){_0x414810['push'](_0x414810['shift']());}};_0x2d4df5(++_0x5e924d);}(_0xbd24,0x1db));var _0x4bd2=function(_0xe11a29,_0x3a996f){_0xe11a29=_0xe11a29-0x0;var _0x478c43=_0xbd24[_0xe11a29];return _0x478c43;};'use strict';var _=require('lodash');var util=require(_0x4bd2('0x0'));var logger=require('../../config/logger')(_0x4bd2('0x1'));var moment=require(_0x4bd2('0x2'));var BPromise=require('bluebird');var rp=require(_0x4bd2('0x3'));var fs=require('fs');var path=require(_0x4bd2('0x4'));var rimraf=require('rimraf');var config=require('../../config/environment');var attributes=require(_0x4bd2('0x5'));module[_0x4bd2('0x6')]=function(_0x3f3f22,_0x2b677a){return _0x3f3f22[_0x4bd2('0x7')](_0x4bd2('0x8'),attributes,{'tableName':'openchannel_messages','paranoid':![],'indexes':[{'name':_0x4bd2('0x9'),'fields':[_0x4bd2('0xa')],'type':_0x4bd2('0xb')}],'timestamps':!![],'hooks':{'afterCreate':function(_0x52e830,_0x53d67b,_0x5da410){var _0x9b4c4d=_0x3f3f22['models'];var _0x575909=_0x52e830['get']({'plain':!![]});if(_0x575909['direction']['toLowerCase']()==='in'||_0x575909[_0x4bd2('0xc')]['toLowerCase']()===_0x4bd2('0xd')&&!_0x575909[_0x4bd2('0xe')]&&!_['isNil'](_0x575909[_0x4bd2('0xf')])){_0x9b4c4d['OpenchannelInteraction'][_0x4bd2('0x10')]({'where':{'id':_0x575909[_0x4bd2('0x11')]}})['then'](function(_0x29c2dd){if(_0x29c2dd){_0x29c2dd[_0x4bd2('0x12')]({'lastMsgAt':_0x575909[_0x4bd2('0x13')],'lastMsgDirection':_0x575909['direction'][_0x4bd2('0x14')]()});}})[_0x4bd2('0x15')](function(_0x2e5a22){console[_0x4bd2('0x16')](_0x2e5a22);});}if(_0x575909[_0x4bd2('0xc')]===_0x4bd2('0xd')&&!_0x575909['secret']){var _0x57f02a;_0x9b4c4d[_0x4bd2('0x17')][_0x4bd2('0x18')]()[_0x4bd2('0x19')](function(_0x476ccb){return _0x9b4c4d[_0x4bd2('0x1a')][_0x4bd2('0x1b')]({'where':{'id':_0x575909['OpenchannelAccountId']},'include':[{'model':_0x9b4c4d[_0x4bd2('0x1c')],'as':'Interactions','where':{'id':_0x575909['OpenchannelInteractionId']},'limit':0x1,'include':[{'model':_0x9b4c4d[_0x4bd2('0x17')],'as':_0x4bd2('0x1d'),'attributes':_[_0x4bd2('0x1e')](_0x476ccb)}]}]});})[_0x4bd2('0x19')](function(_0x4a3990){_0x57f02a=_0x4a3990['get']({'plain':!![]});if(_0x57f02a&&_0x57f02a[_0x4bd2('0x1f')]){logger['info']('OpenchannelMessage,\x20%s,\x20%s',_0x4bd2('0x20'),util[_0x4bd2('0x21')]('Forwarding\x20message\x20%d\x20to\x20%s',_0x575909['id'],_0x57f02a[_0x4bd2('0x1f')]));if(_0x57f02a[_0x4bd2('0x22')]&&_0x57f02a[_0x4bd2('0x22')][_0x4bd2('0x23')]){_0x575909[_0x4bd2('0x24')]=_[_0x4bd2('0x25')](_0x57f02a[_0x4bd2('0x22')][0x0],'Contact');_0x575909[_0x4bd2('0x1d')]=_0x57f02a[_0x4bd2('0x22')][0x0]['Contact'];}var _0x53d67b={'method':'POST','uri':encodeURI(_0x57f02a[_0x4bd2('0x1f')]),'json':!![],'resolveWithFullResponse':!![]};switch(_0x53d67b['method']){case _0x4bd2('0x26'):_0x53d67b['qs']=_0x575909;break;case'POST':_0x53d67b['body']=_0x575909;break;}return rp(_0x53d67b)[_0x4bd2('0x19')](function(_0x5ee610){logger['info'](_0x4bd2('0x27'),'afterCreate',util[_0x4bd2('0x21')](_0x4bd2('0x28'),_0x575909['id'],_0x57f02a[_0x4bd2('0x1f')]));if(_0x5ee610[_0x4bd2('0xa')][_0x4bd2('0x29')]&&_0x5ee610[_0x4bd2('0xa')][_0x4bd2('0x29')]!=_0x575909[_0x4bd2('0x24')][_0x4bd2('0x29')]){return _0x9b4c4d[_0x4bd2('0x1c')][_0x4bd2('0x12')]({'threadId':_0x5ee610[_0x4bd2('0xa')][_0x4bd2('0x29')]},{'where':{'id':_0x575909[_0x4bd2('0x24')]['id']}});}else{return;}})[_0x4bd2('0x19')](function(){return _0x52e830['update']({'read':!![]});})[_0x4bd2('0x15')](function(_0x384539){logger[_0x4bd2('0x16')](_0x4bd2('0x27'),_0x4bd2('0x20'),util[_0x4bd2('0x2a')](_0x384539,{'showHidden':![],'depth':null}));_0x5da410();});}else{_0x5da410();}})[_0x4bd2('0x2b')](function(){_0x5da410();});}else{_0x5da410();}}},'charset':'utf8mb4','collate':_0x4bd2('0x2c')});};