e53c8fe398bb2122e8d1413b7828cce72e3db19e
[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 _0xe93b=['catch','error','CmContact','describe','OpenchannelAccount','find','OpenchannelInteraction','Interactions','Contact','keys','replyUri','info','OpenchannelMessage,\x20%s,\x20%s','afterCreate','Forwarding\x20message\x20%d\x20to\x20%s','length','POST','method','GET','Message\x20%d\x20forwarded\x20to\x20%s','threadId','update','inspect','finally','utf8mb4','utf8mb4_unicode_ci','util','../../config/logger','api','bluebird','request-promise','path','rimraf','../../config/environment','./openchannelMessage.attributes','exports','define','OpenchannelMessage','openchannel_messages','fti_openchannel_messages','body','FULLTEXT','models','get','direction','toLowerCase','out','secret','isNil','findOne','OpenchannelInteractionId','then','createdAt'];(function(_0x25f7c6,_0x2b881f){var _0x368167=function(_0xc9d242){while(--_0xc9d242){_0x25f7c6['push'](_0x25f7c6['shift']());}};_0x368167(++_0x2b881f);}(_0xe93b,0x1c2));var _0xbe93=function(_0x574a4b,_0x528765){_0x574a4b=_0x574a4b-0x0;var _0x37e9e7=_0xe93b[_0x574a4b];return _0x37e9e7;};'use strict';var _=require('lodash');var util=require(_0xbe93('0x0'));var logger=require(_0xbe93('0x1'))(_0xbe93('0x2'));var moment=require('moment');var BPromise=require(_0xbe93('0x3'));var rp=require(_0xbe93('0x4'));var fs=require('fs');var path=require(_0xbe93('0x5'));var rimraf=require(_0xbe93('0x6'));var config=require(_0xbe93('0x7'));var attributes=require(_0xbe93('0x8'));module[_0xbe93('0x9')]=function(_0x704555,_0x5ad742){return _0x704555[_0xbe93('0xa')](_0xbe93('0xb'),attributes,{'tableName':_0xbe93('0xc'),'paranoid':![],'indexes':[{'name':_0xbe93('0xd'),'fields':[_0xbe93('0xe')],'type':_0xbe93('0xf')}],'timestamps':!![],'hooks':{'afterCreate':function(_0x13e142,_0x3ed10a,_0x124e9d){var _0x4d2971=_0x704555[_0xbe93('0x10')];var _0x125609=_0x13e142[_0xbe93('0x11')]({'plain':!![]});if(_0x125609[_0xbe93('0x12')][_0xbe93('0x13')]()==='in'||_0x125609[_0xbe93('0x12')]['toLowerCase']()===_0xbe93('0x14')&&!_0x125609[_0xbe93('0x15')]&&!_[_0xbe93('0x16')](_0x125609['UserId'])){_0x4d2971['OpenchannelInteraction'][_0xbe93('0x17')]({'where':{'id':_0x125609[_0xbe93('0x18')]}})[_0xbe93('0x19')](function(_0x5c9c57){if(_0x5c9c57){_0x5c9c57['update']({'lastMsgAt':_0x125609[_0xbe93('0x1a')],'lastMsgDirection':_0x125609[_0xbe93('0x12')][_0xbe93('0x13')]()});}})[_0xbe93('0x1b')](function(_0x2a4f52){console[_0xbe93('0x1c')](_0x2a4f52);});}if(_0x125609['direction']===_0xbe93('0x14')&&!_0x125609[_0xbe93('0x15')]){var _0x481af3;_0x4d2971[_0xbe93('0x1d')][_0xbe93('0x1e')]()['then'](function(_0x4cdbb9){return _0x4d2971[_0xbe93('0x1f')][_0xbe93('0x20')]({'where':{'id':_0x125609['OpenchannelAccountId']},'include':[{'model':_0x4d2971[_0xbe93('0x21')],'as':_0xbe93('0x22'),'where':{'id':_0x125609[_0xbe93('0x18')]},'limit':0x1,'include':[{'model':_0x4d2971[_0xbe93('0x1d')],'as':_0xbe93('0x23'),'attributes':_[_0xbe93('0x24')](_0x4cdbb9)}]}]});})[_0xbe93('0x19')](function(_0x4f7088){_0x481af3=_0x4f7088[_0xbe93('0x11')]({'plain':!![]});if(_0x481af3&&_0x481af3[_0xbe93('0x25')]){logger[_0xbe93('0x26')](_0xbe93('0x27'),_0xbe93('0x28'),util['format'](_0xbe93('0x29'),_0x125609['id'],_0x481af3[_0xbe93('0x25')]));if(_0x481af3[_0xbe93('0x22')]&&_0x481af3[_0xbe93('0x22')][_0xbe93('0x2a')]){_0x125609['Interaction']=_['omit'](_0x481af3[_0xbe93('0x22')][0x0],_0xbe93('0x23'));_0x125609[_0xbe93('0x23')]=_0x481af3[_0xbe93('0x22')][0x0]['Contact'];}var _0x3ed10a={'method':_0xbe93('0x2b'),'uri':encodeURI(_0x481af3[_0xbe93('0x25')]),'json':!![],'resolveWithFullResponse':!![]};switch(_0x3ed10a[_0xbe93('0x2c')]){case _0xbe93('0x2d'):_0x3ed10a['qs']=_0x125609;break;case _0xbe93('0x2b'):_0x3ed10a[_0xbe93('0xe')]=_0x125609;break;}return rp(_0x3ed10a)[_0xbe93('0x19')](function(_0x28da32){logger[_0xbe93('0x26')](_0xbe93('0x27'),_0xbe93('0x28'),util['format'](_0xbe93('0x2e'),_0x125609['id'],_0x481af3[_0xbe93('0x25')]));if(_0x28da32[_0xbe93('0xe')][_0xbe93('0x2f')]&&_0x28da32['body'][_0xbe93('0x2f')]!=_0x125609['Interaction']['threadId']){return _0x4d2971[_0xbe93('0x21')][_0xbe93('0x30')]({'threadId':_0x28da32[_0xbe93('0xe')][_0xbe93('0x2f')]},{'logging':!![],'where':{'id':_0x125609['Interaction']['id']}});}else{return;}})['then'](function(){return _0x13e142[_0xbe93('0x30')]({'read':!![]});})[_0xbe93('0x1b')](function(_0x36ab55){logger[_0xbe93('0x1c')](_0xbe93('0x27'),_0xbe93('0x28'),util[_0xbe93('0x31')](_0x36ab55,{'showHidden':![],'depth':null}));_0x124e9d();});}else{_0x124e9d();}})[_0xbe93('0x32')](function(){_0x124e9d();});}else{_0x124e9d();}}},'charset':_0xbe93('0x33'),'collate':_0xbe93('0x34')});};