Built motion from commit 0d14f64c.|2.6.34
[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 _0x949d=['inspect','finally','utf8mb4','utf8mb4_unicode_ci','lodash','util','../../config/logger','moment','bluebird','request-promise','path','../../config/environment','./openchannelMessage.attributes','exports','define','OpenchannelMessage','openchannel_messages','fti_openchannel_messages','body','FULLTEXT','models','direction','toLowerCase','out','secret','UserId','OpenchannelInteraction','findOne','update','createdAt','error','describe','OpenchannelAccount','find','OpenchannelAccountId','OpenchannelInteractionId','CmContact','keys','then','replyUri','info','OpenchannelMessage,\x20%s,\x20%s','afterCreate','Interactions','omit','Contact','method','GET','Message\x20%d\x20forwarded\x20to\x20%s','threadId','Interaction'];(function(_0x3866a0,_0x501e9a){var _0x4de61c=function(_0x581267){while(--_0x581267){_0x3866a0['push'](_0x3866a0['shift']());}};_0x4de61c(++_0x501e9a);}(_0x949d,0x6a));var _0xd949=function(_0x50a46f,_0x188384){_0x50a46f=_0x50a46f-0x0;var _0x428db1=_0x949d[_0x50a46f];return _0x428db1;};'use strict';var _=require(_0xd949('0x0'));var util=require(_0xd949('0x1'));var logger=require(_0xd949('0x2'))('api');var moment=require(_0xd949('0x3'));var BPromise=require(_0xd949('0x4'));var rp=require(_0xd949('0x5'));var fs=require('fs');var path=require(_0xd949('0x6'));var rimraf=require('rimraf');var config=require(_0xd949('0x7'));var attributes=require(_0xd949('0x8'));module[_0xd949('0x9')]=function(_0x42edf8,_0x15a864){return _0x42edf8[_0xd949('0xa')](_0xd949('0xb'),attributes,{'tableName':_0xd949('0xc'),'paranoid':![],'indexes':[{'name':_0xd949('0xd'),'fields':[_0xd949('0xe')],'type':_0xd949('0xf')}],'timestamps':!![],'hooks':{'afterCreate':function(_0x40c4b3,_0x352256,_0xc1bb03){var _0x4d9ba7=_0x42edf8[_0xd949('0x10')];var _0x1ad12e=_0x40c4b3['get']({'plain':!![]});if(_0x1ad12e[_0xd949('0x11')]['toLowerCase']()==='in'||_0x1ad12e['direction'][_0xd949('0x12')]()===_0xd949('0x13')&&!_0x1ad12e[_0xd949('0x14')]&&!_['isNil'](_0x1ad12e[_0xd949('0x15')])){_0x4d9ba7[_0xd949('0x16')][_0xd949('0x17')]({'where':{'id':_0x1ad12e['OpenchannelInteractionId']}})['then'](function(_0x1c73c9){if(_0x1c73c9){_0x1c73c9[_0xd949('0x18')]({'lastMsgAt':_0x1ad12e[_0xd949('0x19')],'lastMsgDirection':_0x1ad12e[_0xd949('0x11')][_0xd949('0x12')]()});}})['catch'](function(_0xc9788f){console[_0xd949('0x1a')](_0xc9788f);});}if(_0x1ad12e[_0xd949('0x11')]===_0xd949('0x13')&&!_0x1ad12e['secret']){var _0x20eaaf;_0x4d9ba7['CmContact'][_0xd949('0x1b')]()['then'](function(_0x29ad08){return _0x4d9ba7[_0xd949('0x1c')][_0xd949('0x1d')]({'where':{'id':_0x1ad12e[_0xd949('0x1e')]},'include':[{'model':_0x4d9ba7[_0xd949('0x16')],'as':'Interactions','where':{'id':_0x1ad12e[_0xd949('0x1f')]},'limit':0x1,'include':[{'model':_0x4d9ba7[_0xd949('0x20')],'as':'Contact','attributes':_[_0xd949('0x21')](_0x29ad08)}]}]});})[_0xd949('0x22')](function(_0x10aa6b){_0x20eaaf=_0x10aa6b['get']({'plain':!![]});if(_0x20eaaf&&_0x20eaaf[_0xd949('0x23')]){logger[_0xd949('0x24')](_0xd949('0x25'),_0xd949('0x26'),util['format']('Forwarding\x20message\x20%d\x20to\x20%s',_0x1ad12e['id'],_0x20eaaf['replyUri']));if(_0x20eaaf['Interactions']&&_0x20eaaf[_0xd949('0x27')]['length']){_0x1ad12e['Interaction']=_[_0xd949('0x28')](_0x20eaaf[_0xd949('0x27')][0x0],_0xd949('0x29'));_0x1ad12e[_0xd949('0x29')]=_0x20eaaf[_0xd949('0x27')][0x0]['Contact'];}var _0x352256={'method':'POST','uri':encodeURI(_0x20eaaf[_0xd949('0x23')]),'json':!![],'resolveWithFullResponse':!![]};switch(_0x352256[_0xd949('0x2a')]){case _0xd949('0x2b'):_0x352256['qs']=_0x1ad12e;break;case'POST':_0x352256[_0xd949('0xe')]=_0x1ad12e;break;}return rp(_0x352256)['then'](function(_0x56f617){logger[_0xd949('0x24')](_0xd949('0x25'),_0xd949('0x26'),util['format'](_0xd949('0x2c'),_0x1ad12e['id'],_0x20eaaf[_0xd949('0x23')]));if(_0x56f617[_0xd949('0xe')]['threadId']&&_0x56f617['body'][_0xd949('0x2d')]!=_0x1ad12e['Interaction']['threadId']){return _0x4d9ba7[_0xd949('0x16')]['update']({'threadId':_0x56f617[_0xd949('0xe')][_0xd949('0x2d')]},{'where':{'id':_0x1ad12e[_0xd949('0x2e')]['id']}});}else{return;}})['then'](function(){return _0x40c4b3[_0xd949('0x18')]({'read':!![]});})['catch'](function(_0x2e8973){logger['error'](_0xd949('0x25'),_0xd949('0x26'),util[_0xd949('0x2f')](_0x2e8973,{'showHidden':![],'depth':null}));_0xc1bb03();});}else{_0xc1bb03();}})[_0xd949('0x30')](function(){_0xc1bb03();});}else{_0xc1bb03();}}},'charset':_0xd949('0x31'),'collate':_0xd949('0x32')});};