cda197459876babfd1a08522e42e2481cdae05f5
[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 _0xcc77=['Interaction','omit','Contact','POST','GET','threadId','update','inspect','finally','utf8mb4','utf8mb4_unicode_ci','lodash','util','../../config/logger','api','bluebird','request-promise','path','rimraf','../../config/environment','./openchannelMessage.attributes','exports','fti_openchannel_messages','body','FULLTEXT','models','toLowerCase','direction','out','isNil','UserId','OpenchannelInteraction','findOne','OpenchannelInteractionId','then','createdAt','catch','error','secret','CmContact','describe','OpenchannelAccount','find','OpenchannelAccountId','get','replyUri','info','OpenchannelMessage,\x20%s,\x20%s','afterCreate','format','Forwarding\x20message\x20%d\x20to\x20%s','Interactions','length'];(function(_0x41456a,_0x332577){var _0x1c0a79=function(_0x4eb0c6){while(--_0x4eb0c6){_0x41456a['push'](_0x41456a['shift']());}};_0x1c0a79(++_0x332577);}(_0xcc77,0x114));var _0x7cc7=function(_0x449e91,_0x491fe7){_0x449e91=_0x449e91-0x0;var _0x1fe42a=_0xcc77[_0x449e91];return _0x1fe42a;};'use strict';var _=require(_0x7cc7('0x0'));var util=require(_0x7cc7('0x1'));var logger=require(_0x7cc7('0x2'))(_0x7cc7('0x3'));var moment=require('moment');var BPromise=require(_0x7cc7('0x4'));var rp=require(_0x7cc7('0x5'));var fs=require('fs');var path=require(_0x7cc7('0x6'));var rimraf=require(_0x7cc7('0x7'));var config=require(_0x7cc7('0x8'));var attributes=require(_0x7cc7('0x9'));module[_0x7cc7('0xa')]=function(_0x34c4fd,_0x1c9421){return _0x34c4fd['define']('OpenchannelMessage',attributes,{'tableName':'openchannel_messages','paranoid':![],'indexes':[{'name':_0x7cc7('0xb'),'fields':[_0x7cc7('0xc')],'type':_0x7cc7('0xd')}],'timestamps':!![],'hooks':{'afterCreate':function(_0x1aebb1,_0x2cd87c,_0x2f2f3c){var _0x348f73=_0x34c4fd[_0x7cc7('0xe')];var _0x543a7f=_0x1aebb1['get']({'plain':!![]});if(_0x543a7f['direction'][_0x7cc7('0xf')]()==='in'||_0x543a7f[_0x7cc7('0x10')][_0x7cc7('0xf')]()===_0x7cc7('0x11')&&!_0x543a7f['secret']&&!_[_0x7cc7('0x12')](_0x543a7f[_0x7cc7('0x13')])){_0x348f73[_0x7cc7('0x14')][_0x7cc7('0x15')]({'where':{'id':_0x543a7f[_0x7cc7('0x16')]}})[_0x7cc7('0x17')](function(_0x45cf5c){if(_0x45cf5c){_0x45cf5c['update']({'lastMsgAt':_0x543a7f[_0x7cc7('0x18')],'lastMsgDirection':_0x543a7f[_0x7cc7('0x10')]['toLowerCase']()});}})[_0x7cc7('0x19')](function(_0x3fd42e){console[_0x7cc7('0x1a')](_0x3fd42e);});}if(_0x543a7f[_0x7cc7('0x10')]===_0x7cc7('0x11')&&!_0x543a7f[_0x7cc7('0x1b')]){var _0x29ac9c;_0x348f73[_0x7cc7('0x1c')][_0x7cc7('0x1d')]()[_0x7cc7('0x17')](function(_0x397f26){return _0x348f73[_0x7cc7('0x1e')][_0x7cc7('0x1f')]({'where':{'id':_0x543a7f[_0x7cc7('0x20')]},'include':[{'model':_0x348f73[_0x7cc7('0x14')],'as':'Interactions','where':{'id':_0x543a7f['OpenchannelInteractionId']},'limit':0x1,'include':[{'model':_0x348f73[_0x7cc7('0x1c')],'as':'Contact','attributes':_['keys'](_0x397f26)}]}]});})['then'](function(_0x382203){_0x29ac9c=_0x382203[_0x7cc7('0x21')]({'plain':!![]});if(_0x29ac9c&&_0x29ac9c[_0x7cc7('0x22')]){logger[_0x7cc7('0x23')](_0x7cc7('0x24'),_0x7cc7('0x25'),util[_0x7cc7('0x26')](_0x7cc7('0x27'),_0x543a7f['id'],_0x29ac9c[_0x7cc7('0x22')]));if(_0x29ac9c[_0x7cc7('0x28')]&&_0x29ac9c[_0x7cc7('0x28')][_0x7cc7('0x29')]){_0x543a7f[_0x7cc7('0x2a')]=_[_0x7cc7('0x2b')](_0x29ac9c['Interactions'][0x0],_0x7cc7('0x2c'));_0x543a7f[_0x7cc7('0x2c')]=_0x29ac9c[_0x7cc7('0x28')][0x0][_0x7cc7('0x2c')];}var _0x2cd87c={'method':_0x7cc7('0x2d'),'uri':encodeURI(_0x29ac9c[_0x7cc7('0x22')]),'json':!![],'resolveWithFullResponse':!![]};switch(_0x2cd87c['method']){case _0x7cc7('0x2e'):_0x2cd87c['qs']=_0x543a7f;break;case _0x7cc7('0x2d'):_0x2cd87c[_0x7cc7('0xc')]=_0x543a7f;break;}return rp(_0x2cd87c)['then'](function(_0x42a9d1){logger[_0x7cc7('0x23')](_0x7cc7('0x24'),_0x7cc7('0x25'),util[_0x7cc7('0x26')]('Message\x20%d\x20forwarded\x20to\x20%s',_0x543a7f['id'],_0x29ac9c[_0x7cc7('0x22')]));if(_0x42a9d1['body'][_0x7cc7('0x2f')]&&_0x42a9d1[_0x7cc7('0xc')][_0x7cc7('0x2f')]!=_0x543a7f[_0x7cc7('0x2a')][_0x7cc7('0x2f')]){return _0x348f73[_0x7cc7('0x14')][_0x7cc7('0x30')]({'threadId':_0x42a9d1[_0x7cc7('0xc')][_0x7cc7('0x2f')]},{'where':{'id':_0x543a7f[_0x7cc7('0x2a')]['id']}});}else{return;}})['then'](function(){return _0x1aebb1[_0x7cc7('0x30')]({'read':!![]});})[_0x7cc7('0x19')](function(_0x230d4d){logger[_0x7cc7('0x1a')](_0x7cc7('0x24'),_0x7cc7('0x25'),util[_0x7cc7('0x31')](_0x230d4d,{'showHidden':![],'depth':null}));_0x2f2f3c();});}else{_0x2f2f3c();}})[_0x7cc7('0x32')](function(){_0x2f2f3c();});}else{_0x2f2f3c();}}},'charset':_0x7cc7('0x33'),'collate':_0x7cc7('0x34')});};