Built motion from commit (unavailable).|2.5.22
[motion2.git] / server / api / chatInternalMessage / chatInternalMessage.controller.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 _0x4ca3=['rawAttributes','type','query','keys','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','params','filters','find','create','body','describe','get','createdAt','lastMessage','User','agent','user','fullname','userpic','internal','allowmessenger','showWebBar','VoiceQueue','VoiceQueues','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','Agents','userProfileId','UserProfileResource','resourceId','push','FromId','read','-createdAt','all','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','path','to-csv','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','redis','defaults','localhost','./chatInternalMessage.socket','register','sendStatus','status','json','count','offset','limit','save','destroy','then','end','error','stack','name','send','index','map','ChatInternalMessage'];(function(_0x1e91eb,_0x5829a3){var _0x2af75a=function(_0x1815d1){while(--_0x1815d1){_0x1e91eb['push'](_0x1e91eb['shift']());}};_0x2af75a(++_0x5829a3);}(_0x4ca3,0x9f));var _0x34ca=function(_0x1849bf,_0x91a62b){_0x1849bf=_0x1849bf-0x0;var _0x94fbe0=_0x4ca3[_0x1849bf];return _0x94fbe0;};'use strict';var pdf=require(_0x34ca('0x0'));var emlformat=require(_0x34ca('0x1'));var rimraf=require(_0x34ca('0x2'));var zipdir=require(_0x34ca('0x3'));var jsonpatch=require(_0x34ca('0x4'));var rp=require(_0x34ca('0x5'));var moment=require(_0x34ca('0x6'));var BPromise=require('bluebird');var Mustache=require(_0x34ca('0x7'));var util=require('util');var path=require(_0x34ca('0x8'));var sox=require('sox');var csv=require(_0x34ca('0x9'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x34ca('0xa'));var squel=require('squel');var crypto=require(_0x34ca('0xb'));var jsforce=require(_0x34ca('0xc'));var deskjs=require(_0x34ca('0xd'));var toCsv=require(_0x34ca('0x9'));var querystring=require(_0x34ca('0xe'));var Papa=require(_0x34ca('0xf'));var Redis=require(_0x34ca('0x10'));var authService=require(_0x34ca('0x11'));var qs=require(_0x34ca('0x12'));var as=require(_0x34ca('0x13'));var hardwareService=require(_0x34ca('0x14'));var logger=require(_0x34ca('0x15'))(_0x34ca('0x16'));var utils=require('../../config/utils');var config=require(_0x34ca('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0x34ca('0x18'))['db'];config[_0x34ca('0x19')]=_[_0x34ca('0x1a')](config[_0x34ca('0x19')],{'host':_0x34ca('0x1b'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x34ca('0x19')]));require(_0x34ca('0x1c'))[_0x34ca('0x1d')](socket);function respondWithStatusCode(_0x612acd,_0x3ded0f){_0x3ded0f=_0x3ded0f||0xcc;return function(_0x2c8238){if(_0x2c8238){return _0x612acd[_0x34ca('0x1e')](_0x3ded0f);}return _0x612acd['status'](_0x3ded0f)['end']();};}function respondWithResult(_0x527a1c,_0xe18555){_0xe18555=_0xe18555||0xc8;return function(_0x552ad9){if(_0x552ad9){return _0x527a1c[_0x34ca('0x1f')](_0xe18555)[_0x34ca('0x20')](_0x552ad9);}};}function respondWithFilteredResult(_0x4d94eb,_0x31d9b0){return function(_0x3da5a0){if(_0x3da5a0){var _0x5df665=_0x3da5a0[_0x34ca('0x21')],_0x3fba14=_0x31d9b0[_0x34ca('0x22')],_0x280664=_0x31d9b0[_0x34ca('0x22')]+_0x31d9b0[_0x34ca('0x23')],_0x45f747;if(_0x280664>=_0x5df665){_0x280664=_0x5df665;_0x45f747=0xc8;}else{_0x45f747=0xce;}_0x4d94eb[_0x34ca('0x1f')](_0x45f747);return _0x4d94eb['set']('Content-Range',_0x3fba14+'-'+_0x280664+'/'+_0x5df665)[_0x34ca('0x20')](_0x3da5a0);}return null;};}function patchUpdates(_0x3d2920){return function(_0x50e991){try{jsonpatch['apply'](_0x50e991,_0x3d2920,!![]);}catch(_0x127b3d){return BPromise['reject'](_0x127b3d);}return _0x50e991[_0x34ca('0x24')]();};}function saveUpdates(_0x531001,_0x3e6c0f){return function(_0x4028d8){if(_0x4028d8){return _0x4028d8['update'](_0x531001)['then'](function(_0x200ab7){return _0x200ab7;});}return null;};}function removeEntity(_0x15c32e,_0x458cec){return function(_0xcede8a){if(_0xcede8a){return _0xcede8a[_0x34ca('0x25')]()[_0x34ca('0x26')](function(){_0x15c32e[_0x34ca('0x1f')](0xcc)[_0x34ca('0x27')]();});}};}function handleEntityNotFound(_0x239983,_0x2f61f6){return function(_0x89bc2f){if(!_0x89bc2f){_0x239983['sendStatus'](0x194);}return _0x89bc2f;};}function handleError(_0x76d9f0,_0x537c01){_0x537c01=_0x537c01||0x1f4;return function(_0x59e321){logger[_0x34ca('0x28')](_0x59e321[_0x34ca('0x29')]);if(_0x59e321[_0x34ca('0x2a')]){delete _0x59e321['name'];}_0x76d9f0['status'](_0x537c01)[_0x34ca('0x2b')](_0x59e321);};}exports[_0x34ca('0x2c')]=function(_0x152bd9,_0x446748){var _0x45eef8={},_0x3bd449={},_0x2102d0={'count':0x0,'rows':[]};var _0x50f887=_[_0x34ca('0x2d')](db[_0x34ca('0x2e')][_0x34ca('0x2f')],function(_0x1b2f72){return{'name':_0x1b2f72['fieldName'],'type':_0x1b2f72[_0x34ca('0x30')]['key']};});_0x3bd449['model']=_[_0x34ca('0x2d')](_0x50f887,'name');_0x3bd449[_0x34ca('0x31')]=_[_0x34ca('0x32')](_0x152bd9['query']);_0x3bd449['filters']=_[_0x34ca('0x33')](_0x3bd449[_0x34ca('0x34')],_0x3bd449[_0x34ca('0x31')]);_0x45eef8[_0x34ca('0x35')]=_[_0x34ca('0x33')](_0x3bd449['model'],qs[_0x34ca('0x36')](_0x152bd9[_0x34ca('0x31')]['fields']));_0x45eef8[_0x34ca('0x35')]=_0x45eef8[_0x34ca('0x35')][_0x34ca('0x37')]?_0x45eef8[_0x34ca('0x35')]:_0x3bd449[_0x34ca('0x34')];if(!_0x152bd9[_0x34ca('0x31')][_0x34ca('0x38')](_0x34ca('0x39'))){_0x45eef8[_0x34ca('0x23')]=qs[_0x34ca('0x23')](_0x152bd9['query'][_0x34ca('0x23')]);_0x45eef8[_0x34ca('0x22')]=qs[_0x34ca('0x22')](_0x152bd9[_0x34ca('0x31')]['offset']);}_0x45eef8[_0x34ca('0x3a')]=qs[_0x34ca('0x3b')](_0x152bd9[_0x34ca('0x31')][_0x34ca('0x3b')]);_0x45eef8[_0x34ca('0x3c')]=qs['filters'](_[_0x34ca('0x3d')](_0x152bd9[_0x34ca('0x31')],_0x3bd449['filters']),_0x50f887);if(_0x152bd9[_0x34ca('0x31')][_0x34ca('0x3e')]){_0x45eef8[_0x34ca('0x3c')]=_[_0x34ca('0x3f')](_0x45eef8[_0x34ca('0x3c')],{'$or':_[_0x34ca('0x2d')](_0x50f887,function(_0x112e50){if(_0x112e50[_0x34ca('0x30')]!==_0x34ca('0x40')){var _0x13bf3a={};_0x13bf3a[_0x112e50['name']]={'$like':'%'+_0x152bd9[_0x34ca('0x31')][_0x34ca('0x3e')]+'%'};return _0x13bf3a;}})});}_0x45eef8=_[_0x34ca('0x3f')]({},_0x45eef8,_0x152bd9[_0x34ca('0x41')]);var _0x19874f={'where':_0x45eef8[_0x34ca('0x3c')]};return db[_0x34ca('0x2e')]['count'](_0x19874f)[_0x34ca('0x26')](function(_0x4548f9){_0x2102d0['count']=_0x4548f9;if(_0x152bd9[_0x34ca('0x31')][_0x34ca('0x42')]){_0x45eef8[_0x34ca('0x43')]=[{'all':!![]}];}return db[_0x34ca('0x2e')][_0x34ca('0x44')](_0x45eef8);})[_0x34ca('0x26')](function(_0x381fb8){_0x2102d0[_0x34ca('0x45')]=_0x381fb8;return _0x2102d0;})[_0x34ca('0x26')](respondWithFilteredResult(_0x446748,_0x45eef8))[_0x34ca('0x46')](handleError(_0x446748,null));};exports[_0x34ca('0x47')]=function(_0x4ecddd,_0x310d35){var _0x3596c0={'raw':!![],'where':{'id':_0x4ecddd[_0x34ca('0x48')]['id']}},_0x2b5981={};_0x2b5981['model']=_[_0x34ca('0x32')](db[_0x34ca('0x2e')][_0x34ca('0x2f')]);_0x2b5981['query']=_[_0x34ca('0x32')](_0x4ecddd[_0x34ca('0x31')]);_0x2b5981[_0x34ca('0x49')]=_[_0x34ca('0x33')](_0x2b5981[_0x34ca('0x34')],_0x2b5981[_0x34ca('0x31')]);_0x3596c0[_0x34ca('0x35')]=_[_0x34ca('0x33')](_0x2b5981[_0x34ca('0x34')],qs[_0x34ca('0x36')](_0x4ecddd[_0x34ca('0x31')][_0x34ca('0x36')]));_0x3596c0[_0x34ca('0x35')]=_0x3596c0[_0x34ca('0x35')]['length']?_0x3596c0[_0x34ca('0x35')]:_0x2b5981['model'];if(_0x4ecddd['query'][_0x34ca('0x42')]){_0x3596c0[_0x34ca('0x43')]=[{'all':!![]}];}_0x3596c0=_[_0x34ca('0x3f')]({},_0x3596c0,_0x4ecddd[_0x34ca('0x41')]);return db[_0x34ca('0x2e')][_0x34ca('0x4a')](_0x3596c0)[_0x34ca('0x26')](handleEntityNotFound(_0x310d35,null))[_0x34ca('0x26')](respondWithResult(_0x310d35,null))['catch'](handleError(_0x310d35,null));};exports[_0x34ca('0x4b')]=function(_0x4287f9,_0xc831f5){return db[_0x34ca('0x2e')][_0x34ca('0x4b')](_0x4287f9['body'],{})[_0x34ca('0x26')](respondWithResult(_0xc831f5,0xc9))['catch'](handleError(_0xc831f5,null));};exports['update']=function(_0x433883,_0x5d73f2){if(_0x433883[_0x34ca('0x4c')]['id']){delete _0x433883[_0x34ca('0x4c')]['id'];}return db[_0x34ca('0x2e')][_0x34ca('0x4a')]({'where':{'id':_0x433883[_0x34ca('0x48')]['id']}})[_0x34ca('0x26')](handleEntityNotFound(_0x5d73f2,null))[_0x34ca('0x26')](saveUpdates(_0x433883['body'],null))['then'](respondWithResult(_0x5d73f2,null))['catch'](handleError(_0x5d73f2,null));};exports['destroy']=function(_0x1cba49,_0x1550f0){return db['ChatInternalMessage'][_0x34ca('0x4a')]({'where':{'id':_0x1cba49[_0x34ca('0x48')]['id']}})['then'](handleEntityNotFound(_0x1550f0,null))[_0x34ca('0x26')](removeEntity(_0x1550f0,null))[_0x34ca('0x46')](handleError(_0x1550f0,null));};exports[_0x34ca('0x4d')]=function(_0x3505bb,_0x49ed0){return db[_0x34ca('0x2e')][_0x34ca('0x4d')]()[_0x34ca('0x26')](respondWithResult(_0x49ed0,null))[_0x34ca('0x46')](handleError(_0x49ed0,null));};function wrapUser(_0x360272){return function(_0x32c0d5){var _0x164d56=_0x360272[_0x34ca('0x4e')]({'plain':!![]});_0x164d56['messages']=[];if(_0x32c0d5){_0x164d56['lastMessageAt']=_0x32c0d5[_0x34ca('0x4f')];_0x164d56[_0x34ca('0x50')]=_0x32c0d5;}else{_0x164d56['lastMessageAt']=moment(0x0)['format']('YYYY-MM-DD\x20HH:mm:ss');_0x164d56[_0x34ca('0x50')]={};}return _0x164d56;};}exports['getUsers']=function(_0x403add,_0x4da05f,_0x1003c5){var _0x47075a=[];return db[_0x34ca('0x51')]['findAll']({'where':{'role':[_0x34ca('0x52'),'admin',_0x34ca('0x53')]},'attributes':['id',_0x34ca('0x54'),_0x34ca('0x2a'),'role',_0x34ca('0x55'),_0x34ca('0x56'),'online','lastLoginAt',_0x34ca('0x57'),_0x34ca('0x58')],'order':qs['sort']('-online'),'include':[{'model':db[_0x34ca('0x59')],'as':_0x34ca('0x5a'),'attributes':['id','name',_0x34ca('0x30')],'through':{'attributes':[]}}]})['then'](function(_0x5e4455){if(_0x5e4455){var _0x395815=_0x403add['user'][_0x34ca('0x4e')]({'plain':!![]});if(!_0x395815)throw new Error(_0x34ca('0x5b'));if(_0x395815[_0x34ca('0x5c')]===_0x34ca('0x53')){return db[_0x34ca('0x5d')]['find']({'where':{'name':_0x34ca('0x5e'),'userProfileId':_0x395815[_0x34ca('0x5f')]},'raw':!![]})[_0x34ca('0x26')](function(_0x2a829c){if(_0x2a829c){if(_0x2a829c['autoAssociation']===0x0){return db[_0x34ca('0x60')][_0x34ca('0x44')]({'where':{'sectionId':_0x2a829c['id']},'raw':!![]})[_0x34ca('0x26')](function(_0x37af71){var _0x381297=[];if(_['isEmpty'](_0x37af71)){_0x381297=_[_0x34ca('0x3e')](_0x5e4455,function(_0x51f01b){if(_0x51f01b[_0x34ca('0x5c')]!=='agent'){return _0x51f01b;}});return _0x381297;}else{for(var _0x1906cf=0x0;_0x1906cf<_0x5e4455['length'];_0x1906cf++){var _0x1f437d=_0x5e4455[_0x1906cf];if(_0x1f437d['role']===_0x34ca('0x52')){var _0x470b1c=_[_0x34ca('0x4a')](_0x37af71,function(_0x55b7ad){return _0x55b7ad[_0x34ca('0x61')]===_0x1f437d['id'];});if(_0x470b1c)_0x381297[_0x34ca('0x62')](_0x1f437d);}else{_0x381297['push'](_0x1f437d);}}return _0x381297;}});}else{return _0x5e4455;}}else{var _0x51dfb4=_[_0x34ca('0x3e')](_0x5e4455,function(_0x4b6607){if(_0x4b6607[_0x34ca('0x5c')]!==_0x34ca('0x52')){return _0x4b6607;}});return _0x51dfb4;}});}else{return _0x5e4455;}}})['then'](function(_0x476322){var _0x2d1c92=[];if(_0x476322){_0x47075a=_0x476322;for(var _0x36d49d=0x0;_0x36d49d<_0x476322[_0x34ca('0x37')];_0x36d49d+=0x1){_0x47075a[_0x36d49d]['messages']=[];_0x2d1c92[_0x34ca('0x62')](db[_0x34ca('0x2e')][_0x34ca('0x4a')]({'where':{'FromId':[_0x403add['user']['id'],_0x476322[_0x36d49d]['id']],'ToId':[_0x403add[_0x34ca('0x53')]['id'],_0x476322[_0x36d49d]['id']],'ChatGroupId':null},'attributes':['id',_0x34ca('0x4f'),_0x34ca('0x63'),'ToId',_0x34ca('0x64'),'body'],'order':qs['sort'](_0x34ca('0x65')),'limit':0x1,'offset':0x0,'raw':!![]})[_0x34ca('0x26')](wrapUser(_0x476322[_0x36d49d])));}return BPromise[_0x34ca('0x66')](_0x2d1c92);}return[];})[_0x34ca('0x26')](function(_0x4f44a1){return{'rows':_0x4f44a1,'count':_0x4f44a1[_0x34ca('0x37')]};})[_0x34ca('0x26')](respondWithResult(_0x4da05f,null))[_0x34ca('0x46')](handleError(_0x4da05f,null));};