Built motion from commit (unavailable).|2.4.3
[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 _0x6d38=['options','OpenchannelMessage','includeAll','include','findAll','rows','catch','show','params','find','create','body','describe','openchannel-interactions','accept','openchannel','readAt','UserId','get','OpenchannelInteraction','OpenchannelInteractionId','isNil','read1stAt','YYYY-MM-DD\x20HH:mm:ss','[OPENCHANNELMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','user','role','interaction','AcceptMessage','manual','interface','format','SIP/%s','channel','event','EventManager','acceptmessage','../../config/logger','agent','[OPENCHANNELMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','null','rejectMessage','rejectmessage','eml-format','rimraf','zip-dir','moment','mustache','util','path','to-csv','ejs','lodash','squel','desk.js','querystring','../../components/auth/service','../../components/parsers/qs','api','../../config/utils','../../mysqldb','defaults','redis','localhost','socket.io-emitter','./openchannelMessage.socket','register','jayson/promise','http','client','test','request','then','info','request\x20sent','stringify','error','message','OpenchannelMessage,\x20%s,\x20%s','result','sendStatus','status','end','json','count','offset','limit','set','apply','reject','update','destroy','stack','name','index','rawAttributes','model','keys','query','filters','intersection','attributes','fields','length','sort','pick','where','map','type','key','VIRTUAL','field','merge'];(function(_0x3947c9,_0x4d6c97){var _0x2e7871=function(_0x1236cc){while(--_0x1236cc){_0x3947c9['push'](_0x3947c9['shift']());}};_0x2e7871(++_0x4d6c97);}(_0x6d38,0x1ef));var _0x86d3=function(_0xefd519,_0xc62635){_0xefd519=_0xefd519-0x0;var _0x4bb882=_0x6d38[_0xefd519];return _0x4bb882;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x86d3('0x0'));var rimraf=require(_0x86d3('0x1'));var zipdir=require(_0x86d3('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x86d3('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x86d3('0x4'));var util=require(_0x86d3('0x5'));var path=require(_0x86d3('0x6'));var sox=require('sox');var csv=require(_0x86d3('0x7'));var ejs=require(_0x86d3('0x8'));var fs=require('fs');var _=require(_0x86d3('0x9'));var squel=require(_0x86d3('0xa'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x86d3('0xb'));var toCsv=require(_0x86d3('0x7'));var querystring=require(_0x86d3('0xc'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x86d3('0xd'));var qs=require(_0x86d3('0xe'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x86d3('0xf'));var utils=require(_0x86d3('0x10'));var config=require('../../config/environment');var db=require(_0x86d3('0x11'))['db'];config['redis']=_[_0x86d3('0x12')](config[_0x86d3('0x13')],{'host':_0x86d3('0x14'),'port':0x18eb});var socket=require(_0x86d3('0x15'))(new Redis(config[_0x86d3('0x13')]));require(_0x86d3('0x16'))[_0x86d3('0x17')](socket);var jayson=require(_0x86d3('0x18'));var client=jayson['client'][_0x86d3('0x19')]({'port':0x232c});var client9002=jayson[_0x86d3('0x1a')][_0x86d3('0x19')]({'port':0x232a});function checkPasswordPattern(_0x207f6f,_0x1ea535,_0x34fb3b){if(_0x34fb3b){var _0x1ff008=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x1ff008[_0x86d3('0x1b')](_0x1ea535)){return _0x207f6f;}else{throw new Error('The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.');}}else{return _0x207f6f;}}function respondWithRpcPromise(_0x2d5ba9,_0x281da0,_0x431b3f,_0xa26ea2){return new BPromise(function(_0x46feec,_0x120ef3){var _0x33e459=_0xa26ea2||client;return _0x33e459[_0x86d3('0x1c')](_0x2d5ba9,_0x431b3f)[_0x86d3('0x1d')](function(_0x5e9ecc){logger[_0x86d3('0x1e')]('OpenchannelMessage,\x20%s,\x20%s',_0x281da0,_0x86d3('0x1f'));logger['debug']('OpenchannelMessage,\x20%s,\x20%s,\x20%s',_0x281da0,_0x86d3('0x1f'),JSON[_0x86d3('0x20')](_0x5e9ecc));if(_0x5e9ecc[_0x86d3('0x21')]){if(_0x5e9ecc[_0x86d3('0x21')]['code']===0x1f4){logger[_0x86d3('0x21')]('OpenchannelMessage,\x20%s,\x20%s',_0x281da0,_0x5e9ecc[_0x86d3('0x21')][_0x86d3('0x22')]);return _0x120ef3(_0x5e9ecc[_0x86d3('0x21')]['message']);}logger[_0x86d3('0x21')](_0x86d3('0x23'),_0x281da0,_0x5e9ecc[_0x86d3('0x21')]['message']);return _0x46feec(_0x5e9ecc['error'][_0x86d3('0x22')]);}else{logger['info'](_0x86d3('0x23'),_0x281da0,_0x86d3('0x1f'));_0x46feec(_0x5e9ecc[_0x86d3('0x24')][_0x86d3('0x22')]);}})['catch'](function(_0x481077){logger[_0x86d3('0x21')](_0x86d3('0x23'),_0x281da0,_0x481077);_0x120ef3(_0x481077);});});}function respondWithStatusCode(_0x50291c,_0x14e325){_0x14e325=_0x14e325||0xcc;return function(_0x5b126e){if(_0x5b126e){return _0x50291c[_0x86d3('0x25')](_0x14e325);}return _0x50291c[_0x86d3('0x26')](_0x14e325)[_0x86d3('0x27')]();};}function respondWithResult(_0x763bdb,_0x11a6fd){_0x11a6fd=_0x11a6fd||0xc8;return function(_0x14c9ff){if(_0x14c9ff){return _0x763bdb[_0x86d3('0x26')](_0x11a6fd)[_0x86d3('0x28')](_0x14c9ff);}};}function respondWithFilteredResult(_0x303f13,_0x44dacf){return function(_0x206996){if(_0x206996){var _0x1666af=_0x206996[_0x86d3('0x29')],_0x36dfa6=_0x44dacf[_0x86d3('0x2a')],_0x28c25e=_0x44dacf[_0x86d3('0x2a')]+_0x44dacf[_0x86d3('0x2b')],_0x5b09f6;if(_0x28c25e>=_0x1666af){_0x28c25e=_0x1666af;_0x5b09f6=0xc8;}else{_0x5b09f6=0xce;}_0x303f13[_0x86d3('0x26')](_0x5b09f6);return _0x303f13[_0x86d3('0x2c')]('Content-Range',_0x36dfa6+'-'+_0x28c25e+'/'+_0x1666af)[_0x86d3('0x28')](_0x206996);}return null;};}function patchUpdates(_0x5c71df){return function(_0x5b61b2){try{jsonpatch[_0x86d3('0x2d')](_0x5b61b2,_0x5c71df,!![]);}catch(_0x451bc6){return BPromise[_0x86d3('0x2e')](_0x451bc6);}return _0x5b61b2['save']();};}function saveUpdates(_0x3866b8,_0x458802){return function(_0x5b8fdd){if(_0x5b8fdd){return _0x5b8fdd[_0x86d3('0x2f')](_0x3866b8)[_0x86d3('0x1d')](function(_0x414f34){return _0x414f34;});}return null;};}function removeEntity(_0x476eb3,_0x1196b6){return function(_0x2fdad0){if(_0x2fdad0){return _0x2fdad0[_0x86d3('0x30')]()[_0x86d3('0x1d')](function(){_0x476eb3['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x536b98,_0x19cabb){return function(_0x5990eb){if(!_0x5990eb){_0x536b98[_0x86d3('0x25')](0x194);}return _0x5990eb;};}function handleError(_0x4d5f5b,_0x366943){_0x366943=_0x366943||0x1f4;return function(_0x3b739b){logger[_0x86d3('0x21')](_0x3b739b[_0x86d3('0x31')]);if(_0x3b739b[_0x86d3('0x32')]){delete _0x3b739b[_0x86d3('0x32')];}_0x4d5f5b[_0x86d3('0x26')](_0x366943)['send'](_0x3b739b);};}exports[_0x86d3('0x33')]=function(_0x47cb00,_0x5e2519){var _0x178fc6={},_0x3e115d={},_0x3ff0fd={'count':0x0,'rows':[]};var _0x8bfd46=db['OpenchannelMessage'][_0x86d3('0x34')];_0x3e115d[_0x86d3('0x35')]=_[_0x86d3('0x36')](_0x8bfd46);_0x3e115d['query']=_[_0x86d3('0x36')](_0x47cb00[_0x86d3('0x37')]);_0x3e115d[_0x86d3('0x38')]=_[_0x86d3('0x39')](_0x3e115d[_0x86d3('0x35')],_0x3e115d[_0x86d3('0x37')]);_0x178fc6[_0x86d3('0x3a')]=_[_0x86d3('0x39')](_0x3e115d['model'],qs[_0x86d3('0x3b')](_0x47cb00[_0x86d3('0x37')][_0x86d3('0x3b')]));_0x178fc6[_0x86d3('0x3a')]=_0x178fc6['attributes'][_0x86d3('0x3c')]?_0x178fc6[_0x86d3('0x3a')]:_0x3e115d[_0x86d3('0x35')];if(!_0x47cb00[_0x86d3('0x37')]['hasOwnProperty']('nolimit')){_0x178fc6[_0x86d3('0x2b')]=qs['limit'](_0x47cb00['query'][_0x86d3('0x2b')]);_0x178fc6[_0x86d3('0x2a')]=qs[_0x86d3('0x2a')](_0x47cb00[_0x86d3('0x37')][_0x86d3('0x2a')]);}_0x178fc6['order']=qs[_0x86d3('0x3d')](_0x47cb00[_0x86d3('0x37')][_0x86d3('0x3d')]);_0x178fc6['where']=qs[_0x86d3('0x38')](_[_0x86d3('0x3e')](_0x47cb00['query'],_0x3e115d[_0x86d3('0x38')]));if(_0x47cb00[_0x86d3('0x37')]['filter']){_0x178fc6['where']=_['merge'](_0x178fc6[_0x86d3('0x3f')],{'$or':_[_0x86d3('0x40')](_0x8bfd46,function(_0x82bbcd){if(_0x82bbcd[_0x86d3('0x41')][_0x86d3('0x42')]!==_0x86d3('0x43')){var _0x56e7dc={};_0x56e7dc[_0x82bbcd[_0x86d3('0x44')]]={'$like':'%'+_0x47cb00[_0x86d3('0x37')]['filter']+'%'};return _0x56e7dc;}})});}_0x178fc6=_[_0x86d3('0x45')]({},_0x178fc6,_0x47cb00[_0x86d3('0x46')]);var _0xb2c80e={'where':_0x178fc6[_0x86d3('0x3f')]};return db[_0x86d3('0x47')][_0x86d3('0x29')](_0xb2c80e)['then'](function(_0x318e1a){_0x3ff0fd[_0x86d3('0x29')]=_0x318e1a;if(_0x47cb00['query'][_0x86d3('0x48')]){_0x178fc6[_0x86d3('0x49')]=[{'all':!![]}];}return db[_0x86d3('0x47')][_0x86d3('0x4a')](_0x178fc6);})[_0x86d3('0x1d')](function(_0x48f8a2){_0x3ff0fd[_0x86d3('0x4b')]=_0x48f8a2;return _0x3ff0fd;})[_0x86d3('0x1d')](respondWithFilteredResult(_0x5e2519,_0x178fc6))[_0x86d3('0x4c')](handleError(_0x5e2519,null));};exports[_0x86d3('0x4d')]=function(_0x369b75,_0x7af7b3){var _0x1a4345={'raw':!![],'where':{'id':_0x369b75[_0x86d3('0x4e')]['id']}},_0x734d8e={};_0x734d8e[_0x86d3('0x35')]=_[_0x86d3('0x36')](db[_0x86d3('0x47')]['rawAttributes']);_0x734d8e[_0x86d3('0x37')]=_[_0x86d3('0x36')](_0x369b75['query']);_0x734d8e[_0x86d3('0x38')]=_[_0x86d3('0x39')](_0x734d8e[_0x86d3('0x35')],_0x734d8e[_0x86d3('0x37')]);_0x1a4345[_0x86d3('0x3a')]=_[_0x86d3('0x39')](_0x734d8e['model'],qs['fields'](_0x369b75['query']['fields']));_0x1a4345[_0x86d3('0x3a')]=_0x1a4345[_0x86d3('0x3a')][_0x86d3('0x3c')]?_0x1a4345[_0x86d3('0x3a')]:_0x734d8e[_0x86d3('0x35')];if(_0x369b75[_0x86d3('0x37')][_0x86d3('0x48')]){_0x1a4345['include']=[{'all':!![]}];}_0x1a4345=_[_0x86d3('0x45')]({},_0x1a4345,_0x369b75[_0x86d3('0x46')]);return db[_0x86d3('0x47')][_0x86d3('0x4f')](_0x1a4345)[_0x86d3('0x1d')](handleEntityNotFound(_0x7af7b3,null))[_0x86d3('0x1d')](respondWithResult(_0x7af7b3,null))[_0x86d3('0x4c')](handleError(_0x7af7b3,null));};exports['create']=function(_0x258eed,_0x50a1ed){return db[_0x86d3('0x47')][_0x86d3('0x50')](_0x258eed[_0x86d3('0x51')],{})[_0x86d3('0x1d')](respondWithResult(_0x50a1ed,0xc9))[_0x86d3('0x4c')](handleError(_0x50a1ed,null));};exports['update']=function(_0x1ba0bd,_0x25b3d9){if(_0x1ba0bd[_0x86d3('0x51')]['id']){delete _0x1ba0bd['body']['id'];}return db['OpenchannelMessage']['find']({'where':{'id':_0x1ba0bd[_0x86d3('0x4e')]['id']}})['then'](handleEntityNotFound(_0x25b3d9,null))[_0x86d3('0x1d')](saveUpdates(_0x1ba0bd[_0x86d3('0x51')],null))[_0x86d3('0x1d')](respondWithResult(_0x25b3d9,null))[_0x86d3('0x4c')](handleError(_0x25b3d9,null));};exports['destroy']=function(_0x4cd835,_0x551806){return db[_0x86d3('0x47')][_0x86d3('0x4f')]({'where':{'id':_0x4cd835['params']['id']}})[_0x86d3('0x1d')](handleEntityNotFound(_0x551806,null))[_0x86d3('0x1d')](removeEntity(_0x551806,null))[_0x86d3('0x4c')](handleError(_0x551806,null));};exports[_0x86d3('0x52')]=function(_0x3fdce3,_0x5123fd){return db[_0x86d3('0x47')][_0x86d3('0x52')]()[_0x86d3('0x1d')](respondWithResult(_0x5123fd,null))[_0x86d3('0x4c')](handleError(_0x5123fd,null));};var interaction_log=require('../../config/logger')(_0x86d3('0x53'));exports[_0x86d3('0x54')]=function(_0x58a96a,_0x2d9267,_0x416428){var _0x15cdd0={'channel':_0x86d3('0x55')};if(_0x58a96a[_0x86d3('0x51')]['id']){delete _0x58a96a[_0x86d3('0x51')]['id'];}_0x58a96a[_0x86d3('0x51')]['read']=!![];_0x58a96a['body'][_0x86d3('0x56')]=moment()['format']('YYYY-MM-DD\x20HH:mm:ss');_0x58a96a['body'][_0x86d3('0x57')]=_0x58a96a['body'][_0x86d3('0x57')]||_0x58a96a['user']['id'];return db[_0x86d3('0x47')][_0x86d3('0x4f')]({'where':{'id':_0x58a96a[_0x86d3('0x4e')]['id'],'UserId':null},'include':[{'model':db['CmContact'],'as':'Contact'}]})[_0x86d3('0x1d')](handleEntityNotFound(_0x2d9267,null))[_0x86d3('0x1d')](saveUpdates(_0x58a96a[_0x86d3('0x51')],null))[_0x86d3('0x1d')](function(_0x22d8eb){if(_0x22d8eb){_0x15cdd0[_0x86d3('0x22')]=_0x22d8eb[_0x86d3('0x58')]({'plain':!![]});return db[_0x86d3('0x59')][_0x86d3('0x4f')]({'where':{'id':_0x22d8eb[_0x86d3('0x5a')]}});}return null;})[_0x86d3('0x1d')](handleEntityNotFound(_0x2d9267,null))[_0x86d3('0x1d')](function(_0xfaf168){if(_0xfaf168){return _0xfaf168[_0x86d3('0x2f')]({'UserId':_0x58a96a[_0x86d3('0x51')][_0x86d3('0x57')],'read1stAt':_[_0x86d3('0x5b')](_0xfaf168[_0x86d3('0x5c')])?moment()['format'](_0x86d3('0x5d')):undefined});}return null;})[_0x86d3('0x1d')](function(_0x42a09b){if(_0x42a09b){_0x15cdd0['interaction']=_0x42a09b[_0x86d3('0x58')]({'plain':!![]});interaction_log[_0x86d3('0x1e')](_0x86d3('0x5e'),_0x58a96a[_0x86d3('0x5f')]['id'],_0x58a96a['user'][_0x86d3('0x32')],_0x58a96a['user'][_0x86d3('0x60')],_0x15cdd0[_0x86d3('0x61')]['id'],_0x58a96a[_0x86d3('0x51')]?JSON[_0x86d3('0x20')](_0x58a96a[_0x86d3('0x51')]):'null');return respondWithRpcPromise(_0x86d3('0x62'),'acceptMessage',_0x15cdd0);}return null;})[_0x86d3('0x1d')](function(_0x11a01a){if(_0x11a01a){if(_0x58a96a['body'][_0x86d3('0x63')]){_0x15cdd0[_0x86d3('0x22')][_0x86d3('0x64')]=util[_0x86d3('0x65')](_0x86d3('0x66'),_0x58a96a[_0x86d3('0x5f')][_0x86d3('0x32')]);_0x15cdd0['message'][_0x86d3('0x67')]=_0x15cdd0[_0x86d3('0x67')];_0x15cdd0[_0x86d3('0x22')][_0x86d3('0x68')]=_0x86d3('0x54');return respondWithRpcPromise('EventManager',_0x86d3('0x69'),{'event':_0x86d3('0x6a'),'message':_0x15cdd0['message']},client9002)[_0x86d3('0x1d')](function(){return _0x15cdd0;});}return _0x15cdd0;}return null;})[_0x86d3('0x1d')](respondWithResult(_0x2d9267,null))[_0x86d3('0x4c')](handleError(_0x2d9267,null));};var interaction_log=require(_0x86d3('0x6b'))(_0x86d3('0x53'));exports[_0x86d3('0x2e')]=function(_0x1bf5ba,_0x447ae6,_0x2be56e){var _0x42982e={'agent':{},'channel':_0x86d3('0x55')};if(_0x1bf5ba[_0x86d3('0x51')]['id']){delete _0x1bf5ba[_0x86d3('0x51')]['id'];}_0x1bf5ba[_0x86d3('0x51')]['UserId']=_0x1bf5ba[_0x86d3('0x51')][_0x86d3('0x57')]||_0x1bf5ba[_0x86d3('0x5f')]['id'];_0x42982e[_0x86d3('0x6c')]['id']=_0x1bf5ba['body'][_0x86d3('0x57')];return db[_0x86d3('0x47')][_0x86d3('0x4f')]({'where':{'id':_0x1bf5ba[_0x86d3('0x4e')]['id'],'UserId':null}})['then'](handleEntityNotFound(_0x447ae6,null))['then'](function(_0x234497){if(_0x234497){_0x42982e['message']=_0x234497[_0x86d3('0x58')]({'plain':!![]});return db['OpenchannelInteraction']['find']({'where':{'id':_0x234497[_0x86d3('0x5a')]}});}return null;})[_0x86d3('0x1d')](handleEntityNotFound(_0x447ae6,null))[_0x86d3('0x1d')](function(_0x357398){if(_0x357398){_0x42982e[_0x86d3('0x61')]=_0x357398['get']({'plain':!![]});interaction_log[_0x86d3('0x1e')](_0x86d3('0x6d'),_0x1bf5ba['user']['id'],_0x1bf5ba[_0x86d3('0x5f')][_0x86d3('0x32')],_0x1bf5ba['user'][_0x86d3('0x60')],_0x42982e['interaction']['id'],_0x1bf5ba[_0x86d3('0x51')]?JSON['stringify'](_0x1bf5ba['body']):_0x86d3('0x6e'));return respondWithRpcPromise('RejectMessage',_0x86d3('0x6f'),_0x42982e);}return null;})[_0x86d3('0x1d')](function(_0xc84385){if(_0xc84385){_0xc84385[_0x86d3('0x22')][_0x86d3('0x64')]=util[_0x86d3('0x65')](_0x86d3('0x66'),_0x1bf5ba[_0x86d3('0x5f')]['name']);_0xc84385[_0x86d3('0x22')][_0x86d3('0x67')]=_0x42982e[_0x86d3('0x67')];_0xc84385[_0x86d3('0x22')][_0x86d3('0x68')]='reject';respondWithRpcPromise(_0x86d3('0x69'),_0x86d3('0x69'),{'event':_0x86d3('0x70'),'message':_0xc84385[_0x86d3('0x22')]},client9002);return _0x42982e;}return null;})[_0x86d3('0x1d')](respondWithResult(_0x447ae6,null))[_0x86d3('0x4c')](handleError(_0x447ae6,null));};