Built motion from commit (unavailable).|2.4.21
[motion2.git] / server / api / openchannelMessage / openchannelMessage.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 _0x43cd=['../../config/license/hardware','api','../../config/environment','redis','localhost','socket.io-emitter','./openchannelMessage.socket','register','jayson/promise','client','http','test','Sequelize','ValidationError','The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.','then','info','OpenchannelMessage,\x20%s,\x20%s','request\x20sent','debug','OpenchannelMessage,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','sendStatus','status','end','json','count','offset','limit','Content-Range','apply','reject','destroy','stack','name','send','index','map','type','key','model','query','intersection','attributes','fields','hasOwnProperty','order','sort','pick','filters','where','merge','VIRTUAL','filter','includeAll','include','OpenchannelMessage','findAll','rows','show','keys','length','options','create','update','body','find','params','describe','../../config/logger','openchannel-interactions','accept','openchannel','read','readAt','format','YYYY-MM-DD\x20HH:mm:ss','UserId','user','CmContact','Contact','get','OpenchannelInteraction','isNil','read1stAt','interaction','role','manual','interface','channel','event','acceptmessage','agent','OpenchannelInteractionId','[OPENCHANNELMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','RejectMessage','rejectMessage','SIP/%s','EventManager','rejectmessage','html-pdf','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch'];(function(_0x51d129,_0x175d7d){var _0x44c377=function(_0x5ee454){while(--_0x5ee454){_0x51d129['push'](_0x51d129['shift']());}};_0x44c377(++_0x175d7d);}(_0x43cd,0xe8));var _0xd43c=function(_0x2f5ac5,_0x1ee939){_0x2f5ac5=_0x2f5ac5-0x0;var _0x37c9a8=_0x43cd[_0x2f5ac5];return _0x37c9a8;};'use strict';var pdf=require(_0xd43c('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xd43c('0x1'));var zipdir=require(_0xd43c('0x2'));var jsonpatch=require(_0xd43c('0x3'));var rp=require(_0xd43c('0x4'));var moment=require(_0xd43c('0x5'));var BPromise=require(_0xd43c('0x6'));var Mustache=require(_0xd43c('0x7'));var util=require('util');var path=require('path');var sox=require(_0xd43c('0x8'));var csv=require(_0xd43c('0x9'));var ejs=require(_0xd43c('0xa'));var fs=require('fs');var _=require(_0xd43c('0xb'));var squel=require(_0xd43c('0xc'));var crypto=require(_0xd43c('0xd'));var jsforce=require(_0xd43c('0xe'));var deskjs=require(_0xd43c('0xf'));var toCsv=require(_0xd43c('0x9'));var querystring=require(_0xd43c('0x10'));var Papa=require(_0xd43c('0x11'));var Redis=require(_0xd43c('0x12'));var authService=require(_0xd43c('0x13'));var qs=require(_0xd43c('0x14'));var as=require(_0xd43c('0x15'));var hardwareService=require(_0xd43c('0x16'));var logger=require('../../config/logger')(_0xd43c('0x17'));var utils=require('../../config/utils');var config=require(_0xd43c('0x18'));var db=require('../../mysqldb')['db'];config[_0xd43c('0x19')]=_['defaults'](config[_0xd43c('0x19')],{'host':_0xd43c('0x1a'),'port':0x18eb});var socket=require(_0xd43c('0x1b'))(new Redis(config[_0xd43c('0x19')]));require(_0xd43c('0x1c'))[_0xd43c('0x1d')](socket);var jayson=require(_0xd43c('0x1e'));var client=jayson[_0xd43c('0x1f')][_0xd43c('0x20')]({'port':0x232c});var client9002=jayson[_0xd43c('0x1f')][_0xd43c('0x20')]({'port':0x232a});function checkPasswordPattern(_0x54bef0,_0x858278,_0x39715a){if(_0x39715a){var _0x23526d=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x23526d[_0xd43c('0x21')](_0x858278)){return _0x54bef0;}else{throw new db[(_0xd43c('0x22'))][(_0xd43c('0x23'))](_0xd43c('0x24'));}}else{return _0x54bef0;}}function respondWithRpcPromise(_0x4981d9,_0x48af06,_0x4abb76,_0x587e51){return new BPromise(function(_0x166515,_0x69f51a){var _0x635be5=_0x587e51||client;return _0x635be5['request'](_0x4981d9,_0x4abb76)[_0xd43c('0x25')](function(_0x11dc3f){logger[_0xd43c('0x26')](_0xd43c('0x27'),_0x48af06,_0xd43c('0x28'));logger[_0xd43c('0x29')](_0xd43c('0x2a'),_0x48af06,_0xd43c('0x28'),JSON[_0xd43c('0x2b')](_0x11dc3f));if(_0x11dc3f[_0xd43c('0x2c')]){if(_0x11dc3f[_0xd43c('0x2c')][_0xd43c('0x2d')]===0x1f4){logger[_0xd43c('0x2c')]('OpenchannelMessage,\x20%s,\x20%s',_0x48af06,_0x11dc3f[_0xd43c('0x2c')]['message']);return _0x69f51a(_0x11dc3f[_0xd43c('0x2c')]['message']);}logger[_0xd43c('0x2c')](_0xd43c('0x27'),_0x48af06,_0x11dc3f['error'][_0xd43c('0x2e')]);return _0x166515(_0x11dc3f['error']['message']);}else{logger['info'](_0xd43c('0x27'),_0x48af06,_0xd43c('0x28'));_0x166515(_0x11dc3f[_0xd43c('0x2f')][_0xd43c('0x2e')]);}})[_0xd43c('0x30')](function(_0x56191a){logger[_0xd43c('0x2c')](_0xd43c('0x27'),_0x48af06,_0x56191a);_0x69f51a(_0x56191a);});});}function respondWithStatusCode(_0x4547e2,_0xefd9b7){_0xefd9b7=_0xefd9b7||0xcc;return function(_0x4445d4){if(_0x4445d4){return _0x4547e2[_0xd43c('0x31')](_0xefd9b7);}return _0x4547e2[_0xd43c('0x32')](_0xefd9b7)[_0xd43c('0x33')]();};}function respondWithResult(_0x3d7aa2,_0x50308f){_0x50308f=_0x50308f||0xc8;return function(_0x5cc1a6){if(_0x5cc1a6){return _0x3d7aa2[_0xd43c('0x32')](_0x50308f)[_0xd43c('0x34')](_0x5cc1a6);}};}function respondWithFilteredResult(_0x3f5c5d,_0x5be038){return function(_0x27642c){if(_0x27642c){var _0x31ef62=_0x27642c[_0xd43c('0x35')],_0x559505=_0x5be038['offset'],_0x1fb4f5=_0x5be038[_0xd43c('0x36')]+_0x5be038[_0xd43c('0x37')],_0x3ffbef;if(_0x1fb4f5>=_0x31ef62){_0x1fb4f5=_0x31ef62;_0x3ffbef=0xc8;}else{_0x3ffbef=0xce;}_0x3f5c5d[_0xd43c('0x32')](_0x3ffbef);return _0x3f5c5d['set'](_0xd43c('0x38'),_0x559505+'-'+_0x1fb4f5+'/'+_0x31ef62)[_0xd43c('0x34')](_0x27642c);}return null;};}function patchUpdates(_0x9bc9e2){return function(_0x401bf5){try{jsonpatch[_0xd43c('0x39')](_0x401bf5,_0x9bc9e2,!![]);}catch(_0x14400c){return BPromise[_0xd43c('0x3a')](_0x14400c);}return _0x401bf5['save']();};}function saveUpdates(_0x5dae75,_0x12770d){return function(_0x3a321f){if(_0x3a321f){return _0x3a321f['update'](_0x5dae75)[_0xd43c('0x25')](function(_0x535504){return _0x535504;});}return null;};}function removeEntity(_0x2469e9,_0x2aaf15){return function(_0x18dd01){if(_0x18dd01){return _0x18dd01[_0xd43c('0x3b')]()['then'](function(){_0x2469e9[_0xd43c('0x32')](0xcc)[_0xd43c('0x33')]();});}};}function handleEntityNotFound(_0x249ba3,_0x2ef645){return function(_0x10e0dc){if(!_0x10e0dc){_0x249ba3[_0xd43c('0x31')](0x194);}return _0x10e0dc;};}function handleError(_0x10a6ec,_0x4dbf04){_0x4dbf04=_0x4dbf04||0x1f4;return function(_0x5ac6c1){logger['error'](_0x5ac6c1[_0xd43c('0x3c')]);if(_0x5ac6c1[_0xd43c('0x3d')]){delete _0x5ac6c1[_0xd43c('0x3d')];}_0x10a6ec[_0xd43c('0x32')](_0x4dbf04)[_0xd43c('0x3e')](_0x5ac6c1);};}exports[_0xd43c('0x3f')]=function(_0x58e3c6,_0x259f8f){var _0x1c8eec={},_0x53ae99={},_0x1fd5ff={'count':0x0,'rows':[]};var _0x67348=_[_0xd43c('0x40')](db['OpenchannelMessage']['rawAttributes'],function(_0x334592){return{'name':_0x334592['fieldName'],'type':_0x334592[_0xd43c('0x41')][_0xd43c('0x42')]};});_0x53ae99[_0xd43c('0x43')]=_['map'](_0x67348,'name');_0x53ae99[_0xd43c('0x44')]=_['keys'](_0x58e3c6[_0xd43c('0x44')]);_0x53ae99['filters']=_[_0xd43c('0x45')](_0x53ae99[_0xd43c('0x43')],_0x53ae99[_0xd43c('0x44')]);_0x1c8eec[_0xd43c('0x46')]=_['intersection'](_0x53ae99[_0xd43c('0x43')],qs['fields'](_0x58e3c6['query'][_0xd43c('0x47')]));_0x1c8eec['attributes']=_0x1c8eec[_0xd43c('0x46')]['length']?_0x1c8eec[_0xd43c('0x46')]:_0x53ae99[_0xd43c('0x43')];if(!_0x58e3c6['query'][_0xd43c('0x48')]('nolimit')){_0x1c8eec[_0xd43c('0x37')]=qs[_0xd43c('0x37')](_0x58e3c6['query'][_0xd43c('0x37')]);_0x1c8eec['offset']=qs[_0xd43c('0x36')](_0x58e3c6[_0xd43c('0x44')]['offset']);}_0x1c8eec[_0xd43c('0x49')]=qs[_0xd43c('0x4a')](_0x58e3c6[_0xd43c('0x44')][_0xd43c('0x4a')]);_0x1c8eec['where']=qs['filters'](_[_0xd43c('0x4b')](_0x58e3c6[_0xd43c('0x44')],_0x53ae99[_0xd43c('0x4c')]));if(_0x58e3c6[_0xd43c('0x44')]['filter']){_0x1c8eec[_0xd43c('0x4d')]=_[_0xd43c('0x4e')](_0x1c8eec['where'],{'$or':_[_0xd43c('0x40')](_0x67348,function(_0x31979f){if(_0x31979f[_0xd43c('0x41')]!==_0xd43c('0x4f')){var _0x52938b={};_0x52938b[_0x31979f['name']]={'$like':'%'+_0x58e3c6['query'][_0xd43c('0x50')]+'%'};return _0x52938b;}})});}_0x1c8eec=_['merge']({},_0x1c8eec,_0x58e3c6['options']);var _0x4188f2={'where':_0x1c8eec[_0xd43c('0x4d')]};return db['OpenchannelMessage'][_0xd43c('0x35')](_0x4188f2)['then'](function(_0x2c136f){_0x1fd5ff[_0xd43c('0x35')]=_0x2c136f;if(_0x58e3c6[_0xd43c('0x44')][_0xd43c('0x51')]){_0x1c8eec[_0xd43c('0x52')]=[{'all':!![]}];}return db[_0xd43c('0x53')][_0xd43c('0x54')](_0x1c8eec);})[_0xd43c('0x25')](function(_0x2f4e83){_0x1fd5ff[_0xd43c('0x55')]=_0x2f4e83;return _0x1fd5ff;})['then'](respondWithFilteredResult(_0x259f8f,_0x1c8eec))['catch'](handleError(_0x259f8f,null));};exports[_0xd43c('0x56')]=function(_0x254314,_0xda1efc){var _0x39658f={'raw':!![],'where':{'id':_0x254314['params']['id']}},_0x23c958={};_0x23c958[_0xd43c('0x43')]=_[_0xd43c('0x57')](db[_0xd43c('0x53')]['rawAttributes']);_0x23c958[_0xd43c('0x44')]=_[_0xd43c('0x57')](_0x254314['query']);_0x23c958['filters']=_[_0xd43c('0x45')](_0x23c958[_0xd43c('0x43')],_0x23c958['query']);_0x39658f[_0xd43c('0x46')]=_[_0xd43c('0x45')](_0x23c958[_0xd43c('0x43')],qs[_0xd43c('0x47')](_0x254314['query'][_0xd43c('0x47')]));_0x39658f[_0xd43c('0x46')]=_0x39658f['attributes'][_0xd43c('0x58')]?_0x39658f['attributes']:_0x23c958['model'];if(_0x254314[_0xd43c('0x44')][_0xd43c('0x51')]){_0x39658f[_0xd43c('0x52')]=[{'all':!![]}];}_0x39658f=_[_0xd43c('0x4e')]({},_0x39658f,_0x254314[_0xd43c('0x59')]);return db['OpenchannelMessage']['find'](_0x39658f)[_0xd43c('0x25')](handleEntityNotFound(_0xda1efc,null))[_0xd43c('0x25')](respondWithResult(_0xda1efc,null))['catch'](handleError(_0xda1efc,null));};exports[_0xd43c('0x5a')]=function(_0x240e84,_0x5819a6){return db[_0xd43c('0x53')][_0xd43c('0x5a')](_0x240e84['body'],{})[_0xd43c('0x25')](respondWithResult(_0x5819a6,0xc9))[_0xd43c('0x30')](handleError(_0x5819a6,null));};exports[_0xd43c('0x5b')]=function(_0x2f31c3,_0x2e8a44){if(_0x2f31c3[_0xd43c('0x5c')]['id']){delete _0x2f31c3[_0xd43c('0x5c')]['id'];}return db[_0xd43c('0x53')][_0xd43c('0x5d')]({'where':{'id':_0x2f31c3[_0xd43c('0x5e')]['id']}})[_0xd43c('0x25')](handleEntityNotFound(_0x2e8a44,null))[_0xd43c('0x25')](saveUpdates(_0x2f31c3[_0xd43c('0x5c')],null))[_0xd43c('0x25')](respondWithResult(_0x2e8a44,null))['catch'](handleError(_0x2e8a44,null));};exports[_0xd43c('0x3b')]=function(_0x1129c2,_0x52077b){return db[_0xd43c('0x53')][_0xd43c('0x5d')]({'where':{'id':_0x1129c2[_0xd43c('0x5e')]['id']}})[_0xd43c('0x25')](handleEntityNotFound(_0x52077b,null))[_0xd43c('0x25')](removeEntity(_0x52077b,null))[_0xd43c('0x30')](handleError(_0x52077b,null));};exports['describe']=function(_0x1801aa,_0x1b4a88){return db['OpenchannelMessage'][_0xd43c('0x5f')]()[_0xd43c('0x25')](respondWithResult(_0x1b4a88,null))[_0xd43c('0x30')](handleError(_0x1b4a88,null));};var interaction_log=require(_0xd43c('0x60'))(_0xd43c('0x61'));exports[_0xd43c('0x62')]=function(_0x4c96e0,_0x5e1207,_0x403aaf){var _0x4b4195={'channel':_0xd43c('0x63')};if(_0x4c96e0[_0xd43c('0x5c')]['id']){delete _0x4c96e0[_0xd43c('0x5c')]['id'];}_0x4c96e0[_0xd43c('0x5c')][_0xd43c('0x64')]=!![];_0x4c96e0[_0xd43c('0x5c')][_0xd43c('0x65')]=moment()[_0xd43c('0x66')](_0xd43c('0x67'));_0x4c96e0[_0xd43c('0x5c')][_0xd43c('0x68')]=_0x4c96e0[_0xd43c('0x5c')][_0xd43c('0x68')]||_0x4c96e0[_0xd43c('0x69')]['id'];return db[_0xd43c('0x53')][_0xd43c('0x5d')]({'where':{'id':_0x4c96e0[_0xd43c('0x5e')]['id'],'UserId':null},'include':[{'model':db[_0xd43c('0x6a')],'as':_0xd43c('0x6b')}]})['then'](handleEntityNotFound(_0x5e1207,null))[_0xd43c('0x25')](saveUpdates(_0x4c96e0[_0xd43c('0x5c')],null))[_0xd43c('0x25')](function(_0x275aed){if(_0x275aed){_0x4b4195[_0xd43c('0x2e')]=_0x275aed[_0xd43c('0x6c')]({'plain':!![]});return db[_0xd43c('0x6d')][_0xd43c('0x5d')]({'where':{'id':_0x275aed['OpenchannelInteractionId']}});}return null;})['then'](handleEntityNotFound(_0x5e1207,null))[_0xd43c('0x25')](function(_0x43d929){if(_0x43d929){return _0x43d929[_0xd43c('0x5b')]({'UserId':_0x4c96e0[_0xd43c('0x5c')]['UserId'],'read1stAt':_[_0xd43c('0x6e')](_0x43d929[_0xd43c('0x6f')])?moment()['format'](_0xd43c('0x67')):undefined});}return null;})[_0xd43c('0x25')](function(_0x59fc16){if(_0x59fc16){_0x4b4195[_0xd43c('0x70')]=_0x59fc16[_0xd43c('0x6c')]({'plain':!![]});interaction_log[_0xd43c('0x26')]('[OPENCHANNELMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s',_0x4c96e0['user']['id'],_0x4c96e0[_0xd43c('0x69')][_0xd43c('0x3d')],_0x4c96e0[_0xd43c('0x69')][_0xd43c('0x71')],_0x4b4195[_0xd43c('0x70')]['id'],_0x4c96e0[_0xd43c('0x5c')]?JSON[_0xd43c('0x2b')](_0x4c96e0[_0xd43c('0x5c')]):'null');return respondWithRpcPromise('AcceptMessage','acceptMessage',_0x4b4195);}return null;})[_0xd43c('0x25')](function(_0x4addc8){if(_0x4addc8){if(_0x4c96e0['body'][_0xd43c('0x72')]){_0x4b4195[_0xd43c('0x2e')][_0xd43c('0x73')]=util['format']('SIP/%s',_0x4c96e0[_0xd43c('0x69')]['name']);_0x4b4195[_0xd43c('0x2e')][_0xd43c('0x74')]=_0x4b4195[_0xd43c('0x74')];_0x4b4195[_0xd43c('0x2e')][_0xd43c('0x75')]='accept';return respondWithRpcPromise('EventManager','EventManager',{'event':_0xd43c('0x76'),'message':_0x4b4195[_0xd43c('0x2e')]},client9002)[_0xd43c('0x25')](function(){return _0x4b4195;});}return _0x4b4195;}return null;})[_0xd43c('0x25')](respondWithResult(_0x5e1207,null))[_0xd43c('0x30')](handleError(_0x5e1207,null));};var interaction_log=require(_0xd43c('0x60'))(_0xd43c('0x61'));exports[_0xd43c('0x3a')]=function(_0x560675,_0x599003,_0x256023){var _0x5510f2={'agent':{},'channel':_0xd43c('0x63')};if(_0x560675[_0xd43c('0x5c')]['id']){delete _0x560675[_0xd43c('0x5c')]['id'];}_0x560675[_0xd43c('0x5c')][_0xd43c('0x68')]=_0x560675['body'][_0xd43c('0x68')]||_0x560675[_0xd43c('0x69')]['id'];_0x5510f2[_0xd43c('0x77')]['id']=_0x560675[_0xd43c('0x5c')][_0xd43c('0x68')];return db[_0xd43c('0x53')]['find']({'where':{'id':_0x560675[_0xd43c('0x5e')]['id'],'UserId':null}})[_0xd43c('0x25')](handleEntityNotFound(_0x599003,null))[_0xd43c('0x25')](function(_0x2ccd87){if(_0x2ccd87){_0x5510f2['message']=_0x2ccd87[_0xd43c('0x6c')]({'plain':!![]});return db[_0xd43c('0x6d')]['find']({'where':{'id':_0x2ccd87[_0xd43c('0x78')]}});}return null;})[_0xd43c('0x25')](handleEntityNotFound(_0x599003,null))['then'](function(_0x4bd2b3){if(_0x4bd2b3){_0x5510f2['interaction']=_0x4bd2b3[_0xd43c('0x6c')]({'plain':!![]});interaction_log[_0xd43c('0x26')](_0xd43c('0x79'),_0x560675[_0xd43c('0x69')]['id'],_0x560675[_0xd43c('0x69')][_0xd43c('0x3d')],_0x560675[_0xd43c('0x69')][_0xd43c('0x71')],_0x5510f2[_0xd43c('0x70')]['id'],_0x560675[_0xd43c('0x5c')]?JSON[_0xd43c('0x2b')](_0x560675[_0xd43c('0x5c')]):'null');return respondWithRpcPromise(_0xd43c('0x7a'),_0xd43c('0x7b'),_0x5510f2);}return null;})[_0xd43c('0x25')](function(_0x5eede0){if(_0x5eede0){_0x5eede0[_0xd43c('0x2e')][_0xd43c('0x73')]=util[_0xd43c('0x66')](_0xd43c('0x7c'),_0x560675[_0xd43c('0x69')][_0xd43c('0x3d')]);_0x5eede0[_0xd43c('0x2e')][_0xd43c('0x74')]=_0x5510f2[_0xd43c('0x74')];_0x5eede0[_0xd43c('0x2e')][_0xd43c('0x75')]=_0xd43c('0x3a');respondWithRpcPromise('EventManager',_0xd43c('0x7d'),{'event':_0xd43c('0x7e'),'message':_0x5eede0[_0xd43c('0x2e')]},client9002);return _0x5510f2;}return null;})[_0xd43c('0x25')](respondWithResult(_0x599003,null))[_0xd43c('0x30')](handleError(_0x599003,null));};