39d652cc7800d4d052bb8f45b17c221479828671
[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 _0x9c34=['length','omit','POST','method','GET','Message\x20%d\x20forwarded\x20to\x20%s','body','Interaction','threadId','inspect','finally','utf8mb4','utf8mb4_unicode_ci','lodash','util','../../config/logger','api','bluebird','request-promise','rimraf','./openchannelMessage.attributes','exports','define','OpenchannelMessage','openchannel_messages','fti_openchannel_messages','FULLTEXT','direction','toLowerCase','out','isNil','UserId','OpenchannelInteraction','findOne','OpenchannelInteractionId','update','createdAt','catch','error','CmContact','describe','then','OpenchannelAccount','find','OpenchannelAccountId','Interactions','Contact','keys','get','replyUri','info','OpenchannelMessage,\x20%s,\x20%s','afterCreate','format','Forwarding\x20message\x20%d\x20to\x20%s'];(function(_0x2f1cdf,_0x1f422e){var _0x476c6e=function(_0x30375a){while(--_0x30375a){_0x2f1cdf['push'](_0x2f1cdf['shift']());}};_0x476c6e(++_0x1f422e);}(_0x9c34,0xb2));var _0x49c3=function(_0x5d810b,_0x5d07fd){_0x5d810b=_0x5d810b-0x0;var _0x53b0ed=_0x9c34[_0x5d810b];return _0x53b0ed;};'use strict';var _=require(_0x49c3('0x0'));var util=require(_0x49c3('0x1'));var logger=require(_0x49c3('0x2'))(_0x49c3('0x3'));var moment=require('moment');var BPromise=require(_0x49c3('0x4'));var rp=require(_0x49c3('0x5'));var fs=require('fs');var path=require('path');var rimraf=require(_0x49c3('0x6'));var config=require('../../config/environment');var attributes=require(_0x49c3('0x7'));module[_0x49c3('0x8')]=function(_0x307e87,_0x596c98){return _0x307e87[_0x49c3('0x9')](_0x49c3('0xa'),attributes,{'tableName':_0x49c3('0xb'),'paranoid':![],'indexes':[{'name':_0x49c3('0xc'),'fields':['body'],'type':_0x49c3('0xd')}],'timestamps':!![],'hooks':{'afterCreate':function(_0x560b82,_0x5b490e,_0x2bd3c1){var _0x43760e=_0x307e87['models'];var _0x1a75ef=_0x560b82['get']({'plain':!![]});if(_0x1a75ef[_0x49c3('0xe')][_0x49c3('0xf')]()==='in'||_0x1a75ef[_0x49c3('0xe')][_0x49c3('0xf')]()===_0x49c3('0x10')&&!_0x1a75ef['secret']&&!_[_0x49c3('0x11')](_0x1a75ef[_0x49c3('0x12')])){_0x43760e[_0x49c3('0x13')][_0x49c3('0x14')]({'where':{'id':_0x1a75ef[_0x49c3('0x15')]}})['then'](function(_0x15fb01){if(_0x15fb01){_0x15fb01[_0x49c3('0x16')]({'lastMsgAt':_0x1a75ef[_0x49c3('0x17')],'lastMsgDirection':_0x1a75ef[_0x49c3('0xe')][_0x49c3('0xf')]()});}})[_0x49c3('0x18')](function(_0xb57de4){console[_0x49c3('0x19')](_0xb57de4);});}if(_0x1a75ef[_0x49c3('0xe')]==='out'&&!_0x1a75ef['secret']){var _0x34a696;_0x43760e[_0x49c3('0x1a')][_0x49c3('0x1b')]()[_0x49c3('0x1c')](function(_0x3058a7){return _0x43760e[_0x49c3('0x1d')][_0x49c3('0x1e')]({'where':{'id':_0x1a75ef[_0x49c3('0x1f')]},'include':[{'model':_0x43760e[_0x49c3('0x13')],'as':_0x49c3('0x20'),'where':{'id':_0x1a75ef['OpenchannelInteractionId']},'limit':0x1,'include':[{'model':_0x43760e[_0x49c3('0x1a')],'as':_0x49c3('0x21'),'attributes':_[_0x49c3('0x22')](_0x3058a7)}]}]});})[_0x49c3('0x1c')](function(_0x49a529){_0x34a696=_0x49a529[_0x49c3('0x23')]({'plain':!![]});if(_0x34a696&&_0x34a696[_0x49c3('0x24')]){logger[_0x49c3('0x25')](_0x49c3('0x26'),_0x49c3('0x27'),util[_0x49c3('0x28')](_0x49c3('0x29'),_0x1a75ef['id'],_0x34a696['replyUri']));if(_0x34a696['Interactions']&&_0x34a696[_0x49c3('0x20')][_0x49c3('0x2a')]){_0x1a75ef['Interaction']=_[_0x49c3('0x2b')](_0x34a696['Interactions'][0x0],'Contact');_0x1a75ef['Contact']=_0x34a696[_0x49c3('0x20')][0x0][_0x49c3('0x21')];}var _0x5b490e={'method':_0x49c3('0x2c'),'uri':encodeURI(_0x34a696[_0x49c3('0x24')]),'json':!![],'resolveWithFullResponse':!![]};switch(_0x5b490e[_0x49c3('0x2d')]){case _0x49c3('0x2e'):_0x5b490e['qs']=_0x1a75ef;break;case'POST':_0x5b490e['body']=_0x1a75ef;break;}return rp(_0x5b490e)[_0x49c3('0x1c')](function(_0x43380f){logger[_0x49c3('0x25')]('OpenchannelMessage,\x20%s,\x20%s','afterCreate',util[_0x49c3('0x28')](_0x49c3('0x2f'),_0x1a75ef['id'],_0x34a696['replyUri']));if(_0x43380f['body']['threadId']&&_0x43380f[_0x49c3('0x30')]['threadId']!=_0x1a75ef[_0x49c3('0x31')]['threadId']){return _0x43760e[_0x49c3('0x13')]['update']({'threadId':_0x43380f[_0x49c3('0x30')][_0x49c3('0x32')]},{'where':{'id':_0x1a75ef[_0x49c3('0x31')]['id']}});}else{return;}})[_0x49c3('0x1c')](function(){return _0x560b82[_0x49c3('0x16')]({'read':!![]});})[_0x49c3('0x18')](function(_0xebcb20){logger[_0x49c3('0x19')](_0x49c3('0x26'),'afterCreate',util[_0x49c3('0x33')](_0xebcb20,{'showHidden':![],'depth':null}));_0x2bd3c1();});}else{_0x2bd3c1();}})[_0x49c3('0x34')](function(){_0x2bd3c1();});}else{_0x2bd3c1();}}},'charset':_0x49c3('0x35'),'collate':_0x49c3('0x36')});};