3ecbe8ef52ac80ded5aff654d2eee01804147091
[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 _0xdaf8=['Message\x20%d\x20forwarded\x20to\x20%s','threadId','update','afterCreate','finally','utf8mb4','utf8mb4_unicode_ci','util','../../config/logger','api','bluebird','request-promise','path','../../config/environment','./openchannelMessage.attributes','exports','OpenchannelMessage','fti_openchannel_messages','FULLTEXT','get','direction','toLowerCase','secret','isNil','OpenchannelInteraction','findOne','then','createdAt','error','out','CmContact','describe','OpenchannelAccount','OpenchannelAccountId','Contact','keys','info','OpenchannelMessage,\x20%s,\x20%s','format','Forwarding\x20message\x20%d\x20to\x20%s','replyUri','Interactions','length','Interaction','omit','POST','method','GET','body'];(function(_0x260dd2,_0xa0cfd4){var _0x2e9866=function(_0x323261){while(--_0x323261){_0x260dd2['push'](_0x260dd2['shift']());}};_0x2e9866(++_0xa0cfd4);}(_0xdaf8,0x18f));var _0x8daf=function(_0x14cbcc,_0x432324){_0x14cbcc=_0x14cbcc-0x0;var _0x37a788=_0xdaf8[_0x14cbcc];return _0x37a788;};'use strict';var _=require('lodash');var util=require(_0x8daf('0x0'));var logger=require(_0x8daf('0x1'))(_0x8daf('0x2'));var moment=require('moment');var BPromise=require(_0x8daf('0x3'));var rp=require(_0x8daf('0x4'));var fs=require('fs');var path=require(_0x8daf('0x5'));var rimraf=require('rimraf');var config=require(_0x8daf('0x6'));var attributes=require(_0x8daf('0x7'));module[_0x8daf('0x8')]=function(_0xf68eec,_0x4ec474){return _0xf68eec['define'](_0x8daf('0x9'),attributes,{'tableName':'openchannel_messages','paranoid':![],'indexes':[{'name':_0x8daf('0xa'),'fields':['body'],'type':_0x8daf('0xb')}],'timestamps':!![],'hooks':{'afterCreate':function(_0x1631b1,_0x5e3306,_0x824e2c){var _0x6ab19d=_0xf68eec['models'];var _0x4b1af1=_0x1631b1[_0x8daf('0xc')]({'plain':!![]});if(_0x4b1af1[_0x8daf('0xd')][_0x8daf('0xe')]()==='in'||_0x4b1af1[_0x8daf('0xd')][_0x8daf('0xe')]()==='out'&&!_0x4b1af1[_0x8daf('0xf')]&&!_[_0x8daf('0x10')](_0x4b1af1['UserId'])){_0x6ab19d[_0x8daf('0x11')][_0x8daf('0x12')]({'where':{'id':_0x4b1af1['OpenchannelInteractionId']}})[_0x8daf('0x13')](function(_0x23c2e3){if(_0x23c2e3){_0x23c2e3['update']({'lastMsgAt':_0x4b1af1[_0x8daf('0x14')],'lastMsgDirection':_0x4b1af1['direction'][_0x8daf('0xe')]()});}})['catch'](function(_0x3ad191){console[_0x8daf('0x15')](_0x3ad191);});}if(_0x4b1af1['direction']===_0x8daf('0x16')&&!_0x4b1af1[_0x8daf('0xf')]){var _0x310909;_0x6ab19d[_0x8daf('0x17')][_0x8daf('0x18')]()[_0x8daf('0x13')](function(_0x5b16cc){return _0x6ab19d[_0x8daf('0x19')]['find']({'where':{'id':_0x4b1af1[_0x8daf('0x1a')]},'include':[{'model':_0x6ab19d['OpenchannelInteraction'],'as':'Interactions','where':{'id':_0x4b1af1['OpenchannelInteractionId']},'limit':0x1,'include':[{'model':_0x6ab19d[_0x8daf('0x17')],'as':_0x8daf('0x1b'),'attributes':_[_0x8daf('0x1c')](_0x5b16cc)}]}]});})[_0x8daf('0x13')](function(_0x222c24){_0x310909=_0x222c24[_0x8daf('0xc')]({'plain':!![]});if(_0x310909&&_0x310909['replyUri']){logger[_0x8daf('0x1d')](_0x8daf('0x1e'),'afterCreate',util[_0x8daf('0x1f')](_0x8daf('0x20'),_0x4b1af1['id'],_0x310909[_0x8daf('0x21')]));if(_0x310909['Interactions']&&_0x310909[_0x8daf('0x22')][_0x8daf('0x23')]){_0x4b1af1[_0x8daf('0x24')]=_[_0x8daf('0x25')](_0x310909['Interactions'][0x0],_0x8daf('0x1b'));_0x4b1af1['Contact']=_0x310909[_0x8daf('0x22')][0x0][_0x8daf('0x1b')];}var _0x5e3306={'method':_0x8daf('0x26'),'uri':encodeURI(_0x310909[_0x8daf('0x21')]),'json':!![],'resolveWithFullResponse':!![]};switch(_0x5e3306[_0x8daf('0x27')]){case _0x8daf('0x28'):_0x5e3306['qs']=_0x4b1af1;break;case _0x8daf('0x26'):_0x5e3306[_0x8daf('0x29')]=_0x4b1af1;break;}return rp(_0x5e3306)[_0x8daf('0x13')](function(_0x15a063){logger[_0x8daf('0x1d')](_0x8daf('0x1e'),'afterCreate',util['format'](_0x8daf('0x2a'),_0x4b1af1['id'],_0x310909[_0x8daf('0x21')]));if(_0x15a063[_0x8daf('0x29')][_0x8daf('0x2b')]&&_0x15a063['body'][_0x8daf('0x2b')]!=_0x4b1af1['Interaction'][_0x8daf('0x2b')]){return _0x6ab19d[_0x8daf('0x11')][_0x8daf('0x2c')]({'threadId':_0x15a063[_0x8daf('0x29')][_0x8daf('0x2b')]},{'where':{'id':_0x4b1af1[_0x8daf('0x24')]['id']}});}else{return;}})[_0x8daf('0x13')](function(){return _0x1631b1[_0x8daf('0x2c')]({'read':!![]});})['catch'](function(_0x15955a){logger['error'](_0x8daf('0x1e'),_0x8daf('0x2d'),util['inspect'](_0x15955a,{'showHidden':![],'depth':null}));_0x824e2c();});}else{_0x824e2c();}})[_0x8daf('0x2e')](function(){_0x824e2c();});}else{_0x824e2c();}}},'charset':_0x8daf('0x2f'),'collate':_0x8daf('0x30')});};