Built motion from commit da617fac.|2.6.6
[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 _0x4b63=['POST','info','OpenchannelMessage,\x20%s,\x20%s','Message\x20%d\x20forwarded\x20to\x20%s','threadId','error','inspect','utf8mb4','utf8mb4_unicode_ci','lodash','util','api','moment','bluebird','request-promise','path','../../config/environment','./openchannelMessage.attributes','fti_openchannel_messages','body','FULLTEXT','models','get','direction','out','secret','isNil','UserId','OpenchannelInteractionId','update','createdAt','catch','CmContact','describe','OpenchannelAccount','find','OpenchannelInteraction','Interactions','keys','then','replyUri','afterCreate','format','Forwarding\x20message\x20%d\x20to\x20%s','length','Interaction','omit','Contact','method','GET'];(function(_0x2ea4d4,_0x15af14){var _0x1ef235=function(_0x260c1a){while(--_0x260c1a){_0x2ea4d4['push'](_0x2ea4d4['shift']());}};_0x1ef235(++_0x15af14);}(_0x4b63,0x199));var _0x34b6=function(_0x377cce,_0x3b4f48){_0x377cce=_0x377cce-0x0;var _0x256bc9=_0x4b63[_0x377cce];return _0x256bc9;};'use strict';var _=require(_0x34b6('0x0'));var util=require(_0x34b6('0x1'));var logger=require('../../config/logger')(_0x34b6('0x2'));var moment=require(_0x34b6('0x3'));var BPromise=require(_0x34b6('0x4'));var rp=require(_0x34b6('0x5'));var fs=require('fs');var path=require(_0x34b6('0x6'));var rimraf=require('rimraf');var config=require(_0x34b6('0x7'));var attributes=require(_0x34b6('0x8'));module['exports']=function(_0x8f6f0f,_0x1f7c6f){return _0x8f6f0f['define']('OpenchannelMessage',attributes,{'tableName':'openchannel_messages','paranoid':![],'indexes':[{'name':_0x34b6('0x9'),'fields':[_0x34b6('0xa')],'type':_0x34b6('0xb')}],'timestamps':!![],'hooks':{'afterCreate':function(_0x4e7dea,_0x5d9094,_0x243a15){var _0x20bf26=_0x8f6f0f[_0x34b6('0xc')];var _0x2709cc=_0x4e7dea[_0x34b6('0xd')]({'plain':!![]});if(_0x2709cc[_0x34b6('0xe')]['toLowerCase']()==='in'||_0x2709cc['direction']['toLowerCase']()===_0x34b6('0xf')&&!_0x2709cc[_0x34b6('0x10')]&&!_[_0x34b6('0x11')](_0x2709cc[_0x34b6('0x12')])){_0x20bf26['OpenchannelInteraction']['findOne']({'where':{'id':_0x2709cc[_0x34b6('0x13')]}})['then'](function(_0x24dd8c){if(_0x24dd8c){_0x24dd8c[_0x34b6('0x14')]({'lastMsgAt':_0x2709cc[_0x34b6('0x15')],'lastMsgDirection':_0x2709cc[_0x34b6('0xe')]['toLowerCase']()});}})[_0x34b6('0x16')](function(_0x242baf){console['error'](_0x242baf);});}if(_0x2709cc['direction']===_0x34b6('0xf')&&!_0x2709cc[_0x34b6('0x10')]){var _0x1cc619;_0x20bf26[_0x34b6('0x17')][_0x34b6('0x18')]()['then'](function(_0x5f1f5d){return _0x20bf26[_0x34b6('0x19')][_0x34b6('0x1a')]({'where':{'id':_0x2709cc['OpenchannelAccountId']},'include':[{'model':_0x20bf26[_0x34b6('0x1b')],'as':_0x34b6('0x1c'),'where':{'id':_0x2709cc['OpenchannelInteractionId']},'limit':0x1,'include':[{'model':_0x20bf26[_0x34b6('0x17')],'as':'Contact','attributes':_[_0x34b6('0x1d')](_0x5f1f5d)}]}]});})[_0x34b6('0x1e')](function(_0x3c0f7e){_0x1cc619=_0x3c0f7e[_0x34b6('0xd')]({'plain':!![]});if(_0x1cc619&&_0x1cc619[_0x34b6('0x1f')]){logger['info']('OpenchannelMessage,\x20%s,\x20%s',_0x34b6('0x20'),util[_0x34b6('0x21')](_0x34b6('0x22'),_0x2709cc['id'],_0x1cc619[_0x34b6('0x1f')]));if(_0x1cc619['Interactions']&&_0x1cc619['Interactions'][_0x34b6('0x23')]){_0x2709cc[_0x34b6('0x24')]=_[_0x34b6('0x25')](_0x1cc619[_0x34b6('0x1c')][0x0],_0x34b6('0x26'));_0x2709cc['Contact']=_0x1cc619[_0x34b6('0x1c')][0x0][_0x34b6('0x26')];}var _0x5d9094={'method':'POST','uri':encodeURI(_0x1cc619[_0x34b6('0x1f')]),'json':!![],'resolveWithFullResponse':!![]};switch(_0x5d9094[_0x34b6('0x27')]){case _0x34b6('0x28'):_0x5d9094['qs']=_0x2709cc;break;case _0x34b6('0x29'):_0x5d9094[_0x34b6('0xa')]=_0x2709cc;break;}return rp(_0x5d9094)[_0x34b6('0x1e')](function(_0x196b83){logger[_0x34b6('0x2a')](_0x34b6('0x2b'),_0x34b6('0x20'),util[_0x34b6('0x21')](_0x34b6('0x2c'),_0x2709cc['id'],_0x1cc619[_0x34b6('0x1f')]));if(_0x196b83[_0x34b6('0xa')][_0x34b6('0x2d')]&&_0x196b83['body'][_0x34b6('0x2d')]!=_0x2709cc[_0x34b6('0x24')][_0x34b6('0x2d')]){return _0x20bf26['OpenchannelInteraction'][_0x34b6('0x14')]({'threadId':_0x196b83[_0x34b6('0xa')][_0x34b6('0x2d')]},{'where':{'id':_0x2709cc[_0x34b6('0x24')]['id']}});}else{return;}})[_0x34b6('0x1e')](function(){return _0x4e7dea[_0x34b6('0x14')]({'read':!![]});})[_0x34b6('0x16')](function(_0x46ae2b){logger[_0x34b6('0x2e')]('OpenchannelMessage,\x20%s,\x20%s',_0x34b6('0x20'),util[_0x34b6('0x2f')](_0x46ae2b,{'showHidden':![],'depth':null}));_0x243a15();});}else{_0x243a15();}})['finally'](function(){_0x243a15();});}else{_0x243a15();}}},'charset':_0x34b6('0x30'),'collate':_0x34b6('0x31')});};