77ad17ff0a5774fefd09821961214b6b66133fec
[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 _0x0b8e=['exports','define','OpenchannelMessage','openchannel_messages','body','FULLTEXT','models','get','direction','toLowerCase','secret','isNil','UserId','findOne','OpenchannelInteractionId','update','createdAt','catch','error','out','CmContact','describe','then','OpenchannelAccount','find','OpenchannelAccountId','Interactions','keys','replyUri','info','afterCreate','format','Forwarding\x20message\x20%d\x20to\x20%s','length','omit','Contact','POST','OpenchannelMessage,\x20%s,\x20%s','Message\x20%d\x20forwarded\x20to\x20%s','threadId','Interaction','OpenchannelInteraction','inspect','finally','utf8mb4','utf8mb4_unicode_ci','lodash','api','bluebird','request-promise','path','./openchannelMessage.attributes'];(function(_0x5cf913,_0xb24fb3){var _0x17e551=function(_0x5f1139){while(--_0x5f1139){_0x5cf913['push'](_0x5cf913['shift']());}};_0x17e551(++_0xb24fb3);}(_0x0b8e,0x166));var _0xe0b8=function(_0x1b79dc,_0x13eda1){_0x1b79dc=_0x1b79dc-0x0;var _0x3fc312=_0x0b8e[_0x1b79dc];return _0x3fc312;};'use strict';var _=require(_0xe0b8('0x0'));var util=require('util');var logger=require('../../config/logger')(_0xe0b8('0x1'));var moment=require('moment');var BPromise=require(_0xe0b8('0x2'));var rp=require(_0xe0b8('0x3'));var fs=require('fs');var path=require(_0xe0b8('0x4'));var rimraf=require('rimraf');var config=require('../../config/environment');var attributes=require(_0xe0b8('0x5'));module[_0xe0b8('0x6')]=function(_0x54b1a8,_0x19997a){return _0x54b1a8[_0xe0b8('0x7')](_0xe0b8('0x8'),attributes,{'tableName':_0xe0b8('0x9'),'paranoid':![],'indexes':[{'name':'fti_openchannel_messages','fields':[_0xe0b8('0xa')],'type':_0xe0b8('0xb')}],'timestamps':!![],'hooks':{'afterCreate':function(_0x34bf65,_0x34a5e8,_0x240833){var _0x412fa4=_0x54b1a8[_0xe0b8('0xc')];var _0xb0cd5e=_0x34bf65[_0xe0b8('0xd')]({'plain':!![]});if(_0xb0cd5e[_0xe0b8('0xe')][_0xe0b8('0xf')]()==='in'||_0xb0cd5e['direction']['toLowerCase']()==='out'&&!_0xb0cd5e[_0xe0b8('0x10')]&&!_[_0xe0b8('0x11')](_0xb0cd5e[_0xe0b8('0x12')])){_0x412fa4['OpenchannelInteraction'][_0xe0b8('0x13')]({'where':{'id':_0xb0cd5e[_0xe0b8('0x14')]}})['then'](function(_0xd2804c){if(_0xd2804c){_0xd2804c[_0xe0b8('0x15')]({'lastMsgAt':_0xb0cd5e[_0xe0b8('0x16')],'lastMsgDirection':_0xb0cd5e[_0xe0b8('0xe')][_0xe0b8('0xf')]()});}})[_0xe0b8('0x17')](function(_0x4d59f0){console[_0xe0b8('0x18')](_0x4d59f0);});}if(_0xb0cd5e[_0xe0b8('0xe')]===_0xe0b8('0x19')&&!_0xb0cd5e[_0xe0b8('0x10')]){var _0x72dec7;_0x412fa4[_0xe0b8('0x1a')][_0xe0b8('0x1b')]()[_0xe0b8('0x1c')](function(_0x3e47e4){return _0x412fa4[_0xe0b8('0x1d')][_0xe0b8('0x1e')]({'where':{'id':_0xb0cd5e[_0xe0b8('0x1f')]},'include':[{'model':_0x412fa4['OpenchannelInteraction'],'as':_0xe0b8('0x20'),'where':{'id':_0xb0cd5e[_0xe0b8('0x14')]},'limit':0x1,'include':[{'model':_0x412fa4[_0xe0b8('0x1a')],'as':'Contact','attributes':_[_0xe0b8('0x21')](_0x3e47e4)}]}]});})['then'](function(_0xbca20f){_0x72dec7=_0xbca20f[_0xe0b8('0xd')]({'plain':!![]});if(_0x72dec7&&_0x72dec7[_0xe0b8('0x22')]){logger[_0xe0b8('0x23')]('OpenchannelMessage,\x20%s,\x20%s',_0xe0b8('0x24'),util[_0xe0b8('0x25')](_0xe0b8('0x26'),_0xb0cd5e['id'],_0x72dec7[_0xe0b8('0x22')]));if(_0x72dec7[_0xe0b8('0x20')]&&_0x72dec7[_0xe0b8('0x20')][_0xe0b8('0x27')]){_0xb0cd5e['Interaction']=_[_0xe0b8('0x28')](_0x72dec7[_0xe0b8('0x20')][0x0],'Contact');_0xb0cd5e[_0xe0b8('0x29')]=_0x72dec7[_0xe0b8('0x20')][0x0][_0xe0b8('0x29')];}var _0x34a5e8={'method':_0xe0b8('0x2a'),'uri':encodeURI(_0x72dec7[_0xe0b8('0x22')]),'json':!![],'resolveWithFullResponse':!![]};switch(_0x34a5e8['method']){case'GET':_0x34a5e8['qs']=_0xb0cd5e;break;case'POST':_0x34a5e8[_0xe0b8('0xa')]=_0xb0cd5e;break;}return rp(_0x34a5e8)[_0xe0b8('0x1c')](function(_0x4ca159){logger['info'](_0xe0b8('0x2b'),_0xe0b8('0x24'),util[_0xe0b8('0x25')](_0xe0b8('0x2c'),_0xb0cd5e['id'],_0x72dec7[_0xe0b8('0x22')]));if(_0x4ca159[_0xe0b8('0xa')][_0xe0b8('0x2d')]&&_0x4ca159['body'][_0xe0b8('0x2d')]!=_0xb0cd5e[_0xe0b8('0x2e')][_0xe0b8('0x2d')]){return _0x412fa4[_0xe0b8('0x2f')][_0xe0b8('0x15')]({'threadId':_0x4ca159[_0xe0b8('0xa')][_0xe0b8('0x2d')]},{'where':{'id':_0xb0cd5e[_0xe0b8('0x2e')]['id']}});}else{return;}})['then'](function(){return _0x34bf65[_0xe0b8('0x15')]({'read':!![]});})[_0xe0b8('0x17')](function(_0x48e587){logger[_0xe0b8('0x18')]('OpenchannelMessage,\x20%s,\x20%s',_0xe0b8('0x24'),util[_0xe0b8('0x30')](_0x48e587,{'showHidden':![],'depth':null}));_0x240833();});}else{_0x240833();}})[_0xe0b8('0x31')](function(){_0x240833();});}else{_0x240833();}}},'charset':_0xe0b8('0x32'),'collate':_0xe0b8('0x33')});};