f528082ba7fa240ae97aa3bf77dd918d5e954b87
[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 _0xa4e2=['Contact','POST','method','format','threadId','inspect','finally','utf8mb4','utf8mb4_unicode_ci','lodash','util','../../config/logger','moment','bluebird','../../config/environment','./openchannelMessage.attributes','exports','define','OpenchannelMessage','body','FULLTEXT','models','get','direction','toLowerCase','out','secret','UserId','OpenchannelInteraction','findOne','update','createdAt','catch','error','CmContact','describe','then','find','OpenchannelAccountId','OpenchannelInteractionId','keys','replyUri','info','OpenchannelMessage,\x20%s,\x20%s','afterCreate','Forwarding\x20message\x20%d\x20to\x20%s','Interactions','length','Interaction'];(function(_0x4ad32d,_0x5840d5){var _0x231098=function(_0x183350){while(--_0x183350){_0x4ad32d['push'](_0x4ad32d['shift']());}};_0x231098(++_0x5840d5);}(_0xa4e2,0x160));var _0x2a4e=function(_0x283b0f,_0x38f58b){_0x283b0f=_0x283b0f-0x0;var _0x59f6b9=_0xa4e2[_0x283b0f];return _0x59f6b9;};'use strict';var _=require(_0x2a4e('0x0'));var util=require(_0x2a4e('0x1'));var logger=require(_0x2a4e('0x2'))('api');var moment=require(_0x2a4e('0x3'));var BPromise=require(_0x2a4e('0x4'));var rp=require('request-promise');var fs=require('fs');var path=require('path');var rimraf=require('rimraf');var config=require(_0x2a4e('0x5'));var attributes=require(_0x2a4e('0x6'));module[_0x2a4e('0x7')]=function(_0x3657cd,_0x5efc2){return _0x3657cd[_0x2a4e('0x8')](_0x2a4e('0x9'),attributes,{'tableName':'openchannel_messages','paranoid':![],'indexes':[{'name':'fti_openchannel_messages','fields':[_0x2a4e('0xa')],'type':_0x2a4e('0xb')}],'timestamps':!![],'hooks':{'afterCreate':function(_0x5a89b7,_0x500f0d,_0x4d9c96){var _0xe0eaf5=_0x3657cd[_0x2a4e('0xc')];var _0x3d2258=_0x5a89b7[_0x2a4e('0xd')]({'plain':!![]});if(_0x3d2258[_0x2a4e('0xe')][_0x2a4e('0xf')]()==='in'||_0x3d2258[_0x2a4e('0xe')][_0x2a4e('0xf')]()===_0x2a4e('0x10')&&!_0x3d2258[_0x2a4e('0x11')]&&!_['isNil'](_0x3d2258[_0x2a4e('0x12')])){_0xe0eaf5[_0x2a4e('0x13')][_0x2a4e('0x14')]({'where':{'id':_0x3d2258['OpenchannelInteractionId']}})['then'](function(_0x2d6ff3){if(_0x2d6ff3){_0x2d6ff3[_0x2a4e('0x15')]({'lastMsgAt':_0x3d2258[_0x2a4e('0x16')],'lastMsgDirection':_0x3d2258[_0x2a4e('0xe')][_0x2a4e('0xf')]()});}})[_0x2a4e('0x17')](function(_0xb33944){console[_0x2a4e('0x18')](_0xb33944);});}if(_0x3d2258[_0x2a4e('0xe')]==='out'&&!_0x3d2258[_0x2a4e('0x11')]){var _0x3988cf;_0xe0eaf5[_0x2a4e('0x19')][_0x2a4e('0x1a')]()[_0x2a4e('0x1b')](function(_0x4a8f01){return _0xe0eaf5['OpenchannelAccount'][_0x2a4e('0x1c')]({'where':{'id':_0x3d2258[_0x2a4e('0x1d')]},'include':[{'model':_0xe0eaf5[_0x2a4e('0x13')],'as':'Interactions','where':{'id':_0x3d2258[_0x2a4e('0x1e')]},'limit':0x1,'include':[{'model':_0xe0eaf5[_0x2a4e('0x19')],'as':'Contact','attributes':_[_0x2a4e('0x1f')](_0x4a8f01)}]}]});})[_0x2a4e('0x1b')](function(_0x53df8f){_0x3988cf=_0x53df8f[_0x2a4e('0xd')]({'plain':!![]});if(_0x3988cf&&_0x3988cf[_0x2a4e('0x20')]){logger[_0x2a4e('0x21')](_0x2a4e('0x22'),_0x2a4e('0x23'),util['format'](_0x2a4e('0x24'),_0x3d2258['id'],_0x3988cf['replyUri']));if(_0x3988cf[_0x2a4e('0x25')]&&_0x3988cf[_0x2a4e('0x25')][_0x2a4e('0x26')]){_0x3d2258[_0x2a4e('0x27')]=_['omit'](_0x3988cf[_0x2a4e('0x25')][0x0],_0x2a4e('0x28'));_0x3d2258['Contact']=_0x3988cf[_0x2a4e('0x25')][0x0][_0x2a4e('0x28')];}var _0x500f0d={'method':_0x2a4e('0x29'),'uri':encodeURI(_0x3988cf[_0x2a4e('0x20')]),'json':!![],'resolveWithFullResponse':!![]};switch(_0x500f0d[_0x2a4e('0x2a')]){case'GET':_0x500f0d['qs']=_0x3d2258;break;case _0x2a4e('0x29'):_0x500f0d[_0x2a4e('0xa')]=_0x3d2258;break;}return rp(_0x500f0d)[_0x2a4e('0x1b')](function(_0x1a8d2c){logger[_0x2a4e('0x21')](_0x2a4e('0x22'),'afterCreate',util[_0x2a4e('0x2b')]('Message\x20%d\x20forwarded\x20to\x20%s',_0x3d2258['id'],_0x3988cf[_0x2a4e('0x20')]));if(_0x1a8d2c[_0x2a4e('0xa')][_0x2a4e('0x2c')]&&_0x1a8d2c[_0x2a4e('0xa')][_0x2a4e('0x2c')]!=_0x3d2258[_0x2a4e('0x27')][_0x2a4e('0x2c')]){return _0xe0eaf5['OpenchannelInteraction'][_0x2a4e('0x15')]({'threadId':_0x1a8d2c[_0x2a4e('0xa')][_0x2a4e('0x2c')]},{'where':{'id':_0x3d2258[_0x2a4e('0x27')]['id']}});}else{return;}})['then'](function(){return _0x5a89b7[_0x2a4e('0x15')]({'read':!![]});})[_0x2a4e('0x17')](function(_0x151f14){logger['error'](_0x2a4e('0x22'),_0x2a4e('0x23'),util[_0x2a4e('0x2d')](_0x151f14,{'showHidden':![],'depth':null}));_0x4d9c96();});}else{_0x4d9c96();}})[_0x2a4e('0x2e')](function(){_0x4d9c96();});}else{_0x4d9c96();}}},'charset':_0x2a4e('0x2f'),'collate':_0x2a4e('0x30')});};