Built motion from commit (unavailable).|2.5.0
[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 _0xbe11=['format','UserId','user','CmContact','get','OpenchannelInteraction','OpenchannelInteractionId','[OPENCHANNELMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','role','null','AcceptMessage','acceptMessage','manual','interface','SIP/%s','channel','event','EventManager','interaction','[OPENCHANNELMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','RejectMessage','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','lodash','crypto','jsforce','desk.js','querystring','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','defaults','redis','localhost','./openchannelMessage.socket','jayson/promise','client','http','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~!@#$%^&-_=+[{]}.','request','info','OpenchannelMessage,\x20%s,\x20%s','request\x20sent','debug','stringify','error','code','message','result','end','status','json','count','offset','limit','set','Content-Range','apply','reject','save','then','destroy','stack','name','send','map','OpenchannelMessage','rawAttributes','fieldName','type','query','keys','filters','intersection','attributes','fields','length','model','hasOwnProperty','nolimit','sort','pick','filter','where','merge','VIRTUAL','includeAll','include','rows','show','find','catch','create','update','body','params','describe','openchannel-interactions','accept','openchannel','read','readAt'];(function(_0x175204,_0x3cb82c){var _0x5c333a=function(_0x23d92c){while(--_0x23d92c){_0x175204['push'](_0x175204['shift']());}};_0x5c333a(++_0x3cb82c);}(_0xbe11,0xfb));var _0x1be1=function(_0x9ff00f,_0x2c903b){_0x9ff00f=_0x9ff00f-0x0;var _0x4752f0=_0xbe11[_0x9ff00f];return _0x4752f0;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x1be1('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x1be1('0x1'));var jsonpatch=require(_0x1be1('0x2'));var rp=require(_0x1be1('0x3'));var moment=require(_0x1be1('0x4'));var BPromise=require(_0x1be1('0x5'));var Mustache=require(_0x1be1('0x6'));var util=require(_0x1be1('0x7'));var path=require(_0x1be1('0x8'));var sox=require(_0x1be1('0x9'));var csv=require(_0x1be1('0xa'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x1be1('0xb'));var squel=require('squel');var crypto=require(_0x1be1('0xc'));var jsforce=require(_0x1be1('0xd'));var deskjs=require(_0x1be1('0xe'));var toCsv=require(_0x1be1('0xa'));var querystring=require(_0x1be1('0xf'));var Papa=require('papaparse');var Redis=require(_0x1be1('0x10'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x1be1('0x11'));var hardwareService=require(_0x1be1('0x12'));var logger=require(_0x1be1('0x13'))('api');var utils=require(_0x1be1('0x14'));var config=require('../../config/environment');var db=require('../../mysqldb')['db'];config['redis']=_[_0x1be1('0x15')](config[_0x1be1('0x16')],{'host':_0x1be1('0x17'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require(_0x1be1('0x18'))['register'](socket);var jayson=require(_0x1be1('0x19'));var client=jayson[_0x1be1('0x1a')][_0x1be1('0x1b')]({'port':0x232c});var client9002=jayson[_0x1be1('0x1a')][_0x1be1('0x1b')]({'port':0x232a});function checkPasswordPattern(_0x379cc1,_0xe7845f,_0x100435){if(_0x100435){var _0x101930=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x101930['test'](_0xe7845f)){return _0x379cc1;}else{throw new db[(_0x1be1('0x1c'))][(_0x1be1('0x1d'))](_0x1be1('0x1e'));}}else{return _0x379cc1;}}function respondWithRpcPromise(_0x4e03ce,_0x3dedf9,_0x43d140,_0x270476){return new BPromise(function(_0x1da153,_0x347373){var _0x333071=_0x270476||client;return _0x333071[_0x1be1('0x1f')](_0x4e03ce,_0x43d140)['then'](function(_0x21da26){logger[_0x1be1('0x20')](_0x1be1('0x21'),_0x3dedf9,_0x1be1('0x22'));logger[_0x1be1('0x23')]('OpenchannelMessage,\x20%s,\x20%s,\x20%s',_0x3dedf9,_0x1be1('0x22'),JSON[_0x1be1('0x24')](_0x21da26));if(_0x21da26['error']){if(_0x21da26[_0x1be1('0x25')][_0x1be1('0x26')]===0x1f4){logger[_0x1be1('0x25')](_0x1be1('0x21'),_0x3dedf9,_0x21da26['error'][_0x1be1('0x27')]);return _0x347373(_0x21da26[_0x1be1('0x25')][_0x1be1('0x27')]);}logger[_0x1be1('0x25')](_0x1be1('0x21'),_0x3dedf9,_0x21da26['error'][_0x1be1('0x27')]);return _0x1da153(_0x21da26['error']['message']);}else{logger[_0x1be1('0x20')](_0x1be1('0x21'),_0x3dedf9,'request\x20sent');_0x1da153(_0x21da26[_0x1be1('0x28')]['message']);}})['catch'](function(_0x183cc6){logger[_0x1be1('0x25')]('OpenchannelMessage,\x20%s,\x20%s',_0x3dedf9,_0x183cc6);_0x347373(_0x183cc6);});});}function respondWithStatusCode(_0x4405c5,_0x28151d){_0x28151d=_0x28151d||0xcc;return function(_0x120443){if(_0x120443){return _0x4405c5['sendStatus'](_0x28151d);}return _0x4405c5['status'](_0x28151d)[_0x1be1('0x29')]();};}function respondWithResult(_0x340551,_0x410695){_0x410695=_0x410695||0xc8;return function(_0x430e8c){if(_0x430e8c){return _0x340551[_0x1be1('0x2a')](_0x410695)[_0x1be1('0x2b')](_0x430e8c);}};}function respondWithFilteredResult(_0x34ca9d,_0x45a6a6){return function(_0x35c557){if(_0x35c557){var _0x4b83a0=_0x35c557[_0x1be1('0x2c')],_0x48b3ab=_0x45a6a6[_0x1be1('0x2d')],_0x366d78=_0x45a6a6[_0x1be1('0x2d')]+_0x45a6a6[_0x1be1('0x2e')],_0x52f75d;if(_0x366d78>=_0x4b83a0){_0x366d78=_0x4b83a0;_0x52f75d=0xc8;}else{_0x52f75d=0xce;}_0x34ca9d[_0x1be1('0x2a')](_0x52f75d);return _0x34ca9d[_0x1be1('0x2f')](_0x1be1('0x30'),_0x48b3ab+'-'+_0x366d78+'/'+_0x4b83a0)[_0x1be1('0x2b')](_0x35c557);}return null;};}function patchUpdates(_0x3d0f29){return function(_0x314f84){try{jsonpatch[_0x1be1('0x31')](_0x314f84,_0x3d0f29,!![]);}catch(_0x236d4a){return BPromise[_0x1be1('0x32')](_0x236d4a);}return _0x314f84[_0x1be1('0x33')]();};}function saveUpdates(_0x32556a,_0x43f7d3){return function(_0x359547){if(_0x359547){return _0x359547['update'](_0x32556a)[_0x1be1('0x34')](function(_0x466053){return _0x466053;});}return null;};}function removeEntity(_0x47e71e,_0x5b5f14){return function(_0x3b3858){if(_0x3b3858){return _0x3b3858[_0x1be1('0x35')]()[_0x1be1('0x34')](function(){_0x47e71e['status'](0xcc)[_0x1be1('0x29')]();});}};}function handleEntityNotFound(_0x4435cb,_0x54dd1e){return function(_0x5eaf85){if(!_0x5eaf85){_0x4435cb['sendStatus'](0x194);}return _0x5eaf85;};}function handleError(_0x3bb3b1,_0x53f9bb){_0x53f9bb=_0x53f9bb||0x1f4;return function(_0x1ef442){logger[_0x1be1('0x25')](_0x1ef442[_0x1be1('0x36')]);if(_0x1ef442[_0x1be1('0x37')]){delete _0x1ef442['name'];}_0x3bb3b1[_0x1be1('0x2a')](_0x53f9bb)[_0x1be1('0x38')](_0x1ef442);};}exports['index']=function(_0x3fcc21,_0x1fc9c8){var _0x2361b9={},_0x591f6f={},_0x31efe3={'count':0x0,'rows':[]};var _0x4f2e4d=_[_0x1be1('0x39')](db[_0x1be1('0x3a')][_0x1be1('0x3b')],function(_0x5625a8){return{'name':_0x5625a8[_0x1be1('0x3c')],'type':_0x5625a8[_0x1be1('0x3d')]['key']};});_0x591f6f['model']=_[_0x1be1('0x39')](_0x4f2e4d,_0x1be1('0x37'));_0x591f6f[_0x1be1('0x3e')]=_[_0x1be1('0x3f')](_0x3fcc21[_0x1be1('0x3e')]);_0x591f6f[_0x1be1('0x40')]=_[_0x1be1('0x41')](_0x591f6f['model'],_0x591f6f[_0x1be1('0x3e')]);_0x2361b9[_0x1be1('0x42')]=_[_0x1be1('0x41')](_0x591f6f['model'],qs[_0x1be1('0x43')](_0x3fcc21['query'][_0x1be1('0x43')]));_0x2361b9[_0x1be1('0x42')]=_0x2361b9[_0x1be1('0x42')][_0x1be1('0x44')]?_0x2361b9['attributes']:_0x591f6f[_0x1be1('0x45')];if(!_0x3fcc21[_0x1be1('0x3e')][_0x1be1('0x46')](_0x1be1('0x47'))){_0x2361b9['limit']=qs['limit'](_0x3fcc21[_0x1be1('0x3e')][_0x1be1('0x2e')]);_0x2361b9['offset']=qs[_0x1be1('0x2d')](_0x3fcc21[_0x1be1('0x3e')][_0x1be1('0x2d')]);}_0x2361b9['order']=qs[_0x1be1('0x48')](_0x3fcc21[_0x1be1('0x3e')][_0x1be1('0x48')]);_0x2361b9['where']=qs[_0x1be1('0x40')](_[_0x1be1('0x49')](_0x3fcc21[_0x1be1('0x3e')],_0x591f6f[_0x1be1('0x40')]),_0x4f2e4d);if(_0x3fcc21[_0x1be1('0x3e')][_0x1be1('0x4a')]){_0x2361b9[_0x1be1('0x4b')]=_[_0x1be1('0x4c')](_0x2361b9[_0x1be1('0x4b')],{'$or':_[_0x1be1('0x39')](_0x4f2e4d,function(_0x109b0d){if(_0x109b0d[_0x1be1('0x3d')]!==_0x1be1('0x4d')){var _0x41c60d={};_0x41c60d[_0x109b0d['name']]={'$like':'%'+_0x3fcc21[_0x1be1('0x3e')]['filter']+'%'};return _0x41c60d;}})});}_0x2361b9=_[_0x1be1('0x4c')]({},_0x2361b9,_0x3fcc21['options']);var _0x1be605={'where':_0x2361b9['where']};return db[_0x1be1('0x3a')][_0x1be1('0x2c')](_0x1be605)['then'](function(_0x1fe039){_0x31efe3[_0x1be1('0x2c')]=_0x1fe039;if(_0x3fcc21[_0x1be1('0x3e')][_0x1be1('0x4e')]){_0x2361b9[_0x1be1('0x4f')]=[{'all':!![]}];}return db['OpenchannelMessage']['findAll'](_0x2361b9);})[_0x1be1('0x34')](function(_0x376838){_0x31efe3[_0x1be1('0x50')]=_0x376838;return _0x31efe3;})[_0x1be1('0x34')](respondWithFilteredResult(_0x1fc9c8,_0x2361b9))['catch'](handleError(_0x1fc9c8,null));};exports[_0x1be1('0x51')]=function(_0x2896c9,_0x39f9a7){var _0x4c2c9c={'raw':!![],'where':{'id':_0x2896c9['params']['id']}},_0x443131={};_0x443131[_0x1be1('0x45')]=_[_0x1be1('0x3f')](db['OpenchannelMessage'][_0x1be1('0x3b')]);_0x443131['query']=_[_0x1be1('0x3f')](_0x2896c9[_0x1be1('0x3e')]);_0x443131['filters']=_[_0x1be1('0x41')](_0x443131['model'],_0x443131[_0x1be1('0x3e')]);_0x4c2c9c[_0x1be1('0x42')]=_[_0x1be1('0x41')](_0x443131[_0x1be1('0x45')],qs[_0x1be1('0x43')](_0x2896c9[_0x1be1('0x3e')][_0x1be1('0x43')]));_0x4c2c9c['attributes']=_0x4c2c9c['attributes'][_0x1be1('0x44')]?_0x4c2c9c['attributes']:_0x443131[_0x1be1('0x45')];if(_0x2896c9[_0x1be1('0x3e')][_0x1be1('0x4e')]){_0x4c2c9c[_0x1be1('0x4f')]=[{'all':!![]}];}_0x4c2c9c=_['merge']({},_0x4c2c9c,_0x2896c9['options']);return db['OpenchannelMessage'][_0x1be1('0x52')](_0x4c2c9c)[_0x1be1('0x34')](handleEntityNotFound(_0x39f9a7,null))[_0x1be1('0x34')](respondWithResult(_0x39f9a7,null))[_0x1be1('0x53')](handleError(_0x39f9a7,null));};exports[_0x1be1('0x54')]=function(_0x15af0a,_0x2d1be0){return db[_0x1be1('0x3a')][_0x1be1('0x54')](_0x15af0a['body'],{})[_0x1be1('0x34')](respondWithResult(_0x2d1be0,0xc9))[_0x1be1('0x53')](handleError(_0x2d1be0,null));};exports[_0x1be1('0x55')]=function(_0x3655a8,_0x1291f9){if(_0x3655a8[_0x1be1('0x56')]['id']){delete _0x3655a8[_0x1be1('0x56')]['id'];}return db[_0x1be1('0x3a')]['find']({'where':{'id':_0x3655a8[_0x1be1('0x57')]['id']}})[_0x1be1('0x34')](handleEntityNotFound(_0x1291f9,null))[_0x1be1('0x34')](saveUpdates(_0x3655a8[_0x1be1('0x56')],null))[_0x1be1('0x34')](respondWithResult(_0x1291f9,null))[_0x1be1('0x53')](handleError(_0x1291f9,null));};exports[_0x1be1('0x35')]=function(_0x11a3ea,_0x2d3958){return db['OpenchannelMessage'][_0x1be1('0x52')]({'where':{'id':_0x11a3ea[_0x1be1('0x57')]['id']}})[_0x1be1('0x34')](handleEntityNotFound(_0x2d3958,null))['then'](removeEntity(_0x2d3958,null))[_0x1be1('0x53')](handleError(_0x2d3958,null));};exports['describe']=function(_0x362a15,_0x28be55){return db[_0x1be1('0x3a')][_0x1be1('0x58')]()['then'](respondWithResult(_0x28be55,null))[_0x1be1('0x53')](handleError(_0x28be55,null));};var interaction_log=require(_0x1be1('0x13'))(_0x1be1('0x59'));exports[_0x1be1('0x5a')]=function(_0x1bcd8b,_0x5e7379,_0x5d7b7c){var _0x141de2={'channel':_0x1be1('0x5b')};if(_0x1bcd8b[_0x1be1('0x56')]['id']){delete _0x1bcd8b[_0x1be1('0x56')]['id'];}_0x1bcd8b[_0x1be1('0x56')][_0x1be1('0x5c')]=!![];_0x1bcd8b['body'][_0x1be1('0x5d')]=moment()[_0x1be1('0x5e')]('YYYY-MM-DD\x20HH:mm:ss');_0x1bcd8b[_0x1be1('0x56')][_0x1be1('0x5f')]=_0x1bcd8b[_0x1be1('0x56')][_0x1be1('0x5f')]||_0x1bcd8b[_0x1be1('0x60')]['id'];return db[_0x1be1('0x3a')][_0x1be1('0x52')]({'where':{'id':_0x1bcd8b[_0x1be1('0x57')]['id'],'UserId':null},'include':[{'model':db[_0x1be1('0x61')],'as':'Contact'}]})[_0x1be1('0x34')](handleEntityNotFound(_0x5e7379,null))[_0x1be1('0x34')](saveUpdates(_0x1bcd8b[_0x1be1('0x56')],null))[_0x1be1('0x34')](function(_0x53be41){if(_0x53be41){_0x141de2['message']=_0x53be41[_0x1be1('0x62')]({'plain':!![]});return db[_0x1be1('0x63')][_0x1be1('0x52')]({'where':{'id':_0x53be41[_0x1be1('0x64')]}});}return null;})[_0x1be1('0x34')](handleEntityNotFound(_0x5e7379,null))[_0x1be1('0x34')](function(_0xfc64fe){if(_0xfc64fe){return _0xfc64fe['update']({'UserId':_0x1bcd8b['body'][_0x1be1('0x5f')],'read1stAt':_['isNil'](_0xfc64fe['read1stAt'])?moment()[_0x1be1('0x5e')]('YYYY-MM-DD\x20HH:mm:ss'):undefined});}return null;})[_0x1be1('0x34')](function(_0x1365f2){if(_0x1365f2){_0x141de2['interaction']=_0x1365f2[_0x1be1('0x62')]({'plain':!![]});interaction_log[_0x1be1('0x20')](_0x1be1('0x65'),_0x1bcd8b[_0x1be1('0x60')]['id'],_0x1bcd8b[_0x1be1('0x60')][_0x1be1('0x37')],_0x1bcd8b[_0x1be1('0x60')][_0x1be1('0x66')],_0x141de2['interaction']['id'],_0x1bcd8b[_0x1be1('0x56')]?JSON[_0x1be1('0x24')](_0x1bcd8b['body']):_0x1be1('0x67'));return respondWithRpcPromise(_0x1be1('0x68'),_0x1be1('0x69'),_0x141de2);}return null;})[_0x1be1('0x34')](function(_0x313221){if(_0x313221){if(_0x1bcd8b['body'][_0x1be1('0x6a')]){_0x141de2[_0x1be1('0x27')][_0x1be1('0x6b')]=util['format'](_0x1be1('0x6c'),_0x1bcd8b[_0x1be1('0x60')]['name']);_0x141de2[_0x1be1('0x27')][_0x1be1('0x6d')]=_0x141de2['channel'];_0x141de2[_0x1be1('0x27')][_0x1be1('0x6e')]=_0x1be1('0x5a');return respondWithRpcPromise(_0x1be1('0x6f'),_0x1be1('0x6f'),{'event':'acceptmessage','message':_0x141de2[_0x1be1('0x27')]},client9002)[_0x1be1('0x34')](function(){return _0x141de2;});}return _0x141de2;}return null;})[_0x1be1('0x34')](respondWithResult(_0x5e7379,null))[_0x1be1('0x53')](handleError(_0x5e7379,null));};var interaction_log=require(_0x1be1('0x13'))('openchannel-interactions');exports[_0x1be1('0x32')]=function(_0x3781f3,_0x14136a,_0x10efd1){var _0x3a48cd={'agent':{},'channel':_0x1be1('0x5b')};if(_0x3781f3[_0x1be1('0x56')]['id']){delete _0x3781f3['body']['id'];}_0x3781f3[_0x1be1('0x56')][_0x1be1('0x5f')]=_0x3781f3[_0x1be1('0x56')]['UserId']||_0x3781f3[_0x1be1('0x60')]['id'];_0x3a48cd['agent']['id']=_0x3781f3[_0x1be1('0x56')][_0x1be1('0x5f')];return db['OpenchannelMessage']['find']({'where':{'id':_0x3781f3[_0x1be1('0x57')]['id'],'UserId':null}})[_0x1be1('0x34')](handleEntityNotFound(_0x14136a,null))[_0x1be1('0x34')](function(_0x197fa3){if(_0x197fa3){_0x3a48cd['message']=_0x197fa3[_0x1be1('0x62')]({'plain':!![]});return db[_0x1be1('0x63')][_0x1be1('0x52')]({'where':{'id':_0x197fa3[_0x1be1('0x64')]}});}return null;})[_0x1be1('0x34')](handleEntityNotFound(_0x14136a,null))['then'](function(_0x32d23c){if(_0x32d23c){_0x3a48cd[_0x1be1('0x70')]=_0x32d23c['get']({'plain':!![]});interaction_log[_0x1be1('0x20')](_0x1be1('0x71'),_0x3781f3['user']['id'],_0x3781f3[_0x1be1('0x60')][_0x1be1('0x37')],_0x3781f3[_0x1be1('0x60')][_0x1be1('0x66')],_0x3a48cd[_0x1be1('0x70')]['id'],_0x3781f3[_0x1be1('0x56')]?JSON[_0x1be1('0x24')](_0x3781f3[_0x1be1('0x56')]):_0x1be1('0x67'));return respondWithRpcPromise(_0x1be1('0x72'),'rejectMessage',_0x3a48cd);}return null;})[_0x1be1('0x34')](function(_0x35d978){if(_0x35d978){_0x35d978[_0x1be1('0x27')][_0x1be1('0x6b')]=util['format']('SIP/%s',_0x3781f3['user']['name']);_0x35d978[_0x1be1('0x27')][_0x1be1('0x6d')]=_0x3a48cd[_0x1be1('0x6d')];_0x35d978[_0x1be1('0x27')]['event']='reject';respondWithRpcPromise('EventManager','EventManager',{'event':'rejectmessage','message':_0x35d978['message']},client9002);return _0x3a48cd;}return null;})[_0x1be1('0x34')](respondWithResult(_0x14136a,null))[_0x1be1('0x53')](handleError(_0x14136a,null));};