Built motion from commit (unavailable).|2.5.4
[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 _0x21f6=['create','body','describe','accept','openchannel','read','readAt','YYYY-MM-DD\x20HH:mm:ss','UserId','user','CmContact','Contact','get','OpenchannelInteraction','OpenchannelInteractionId','[OPENCHANNELMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','interaction','null','acceptMessage','manual','interface','format','SIP/%s','channel','event','EventManager','acceptmessage','openchannel-interactions','reject','agent','[OPENCHANNELMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','role','RejectMessage','rejectMessage','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','mustache','util','sox','to-csv','ejs','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./openchannelMessage.socket','jayson/promise','client','http','test','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','then','info','OpenchannelMessage,\x20%s,\x20%s','request\x20sent','debug','OpenchannelMessage,\x20%s,\x20%s,\x20%s','stringify','error','message','result','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','save','update','destroy','name','send','map','OpenchannelMessage','rawAttributes','fieldName','type','query','keys','filters','intersection','attributes','model','length','hasOwnProperty','nolimit','order','sort','merge','where','VIRTUAL','filter','options','includeAll','include','findAll','catch','show','params','fields','find'];(function(_0x277340,_0x2efc91){var _0x314cd1=function(_0x45c371){while(--_0x45c371){_0x277340['push'](_0x277340['shift']());}};_0x314cd1(++_0x2efc91);}(_0x21f6,0x11c));var _0x621f=function(_0x1f5b57,_0x5c21ac){_0x1f5b57=_0x1f5b57-0x0;var _0xef15b1=_0x21f6[_0x1f5b57];return _0xef15b1;};'use strict';var pdf=require(_0x621f('0x0'));var emlformat=require(_0x621f('0x1'));var rimraf=require(_0x621f('0x2'));var zipdir=require(_0x621f('0x3'));var jsonpatch=require(_0x621f('0x4'));var rp=require(_0x621f('0x5'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x621f('0x6'));var util=require(_0x621f('0x7'));var path=require('path');var sox=require(_0x621f('0x8'));var csv=require(_0x621f('0x9'));var ejs=require(_0x621f('0xa'));var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require(_0x621f('0xb'));var jsforce=require(_0x621f('0xc'));var deskjs=require(_0x621f('0xd'));var toCsv=require('to-csv');var querystring=require(_0x621f('0xe'));var Papa=require(_0x621f('0xf'));var Redis=require(_0x621f('0x10'));var authService=require(_0x621f('0x11'));var qs=require(_0x621f('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x621f('0x13'));var logger=require(_0x621f('0x14'))(_0x621f('0x15'));var utils=require(_0x621f('0x16'));var config=require(_0x621f('0x17'));var db=require(_0x621f('0x18'))['db'];config[_0x621f('0x19')]=_[_0x621f('0x1a')](config[_0x621f('0x19')],{'host':_0x621f('0x1b'),'port':0x18eb});var socket=require(_0x621f('0x1c'))(new Redis(config[_0x621f('0x19')]));require(_0x621f('0x1d'))['register'](socket);var jayson=require(_0x621f('0x1e'));var client=jayson[_0x621f('0x1f')][_0x621f('0x20')]({'port':0x232c});var client9002=jayson['client'][_0x621f('0x20')]({'port':0x232a});function checkPasswordPattern(_0x47feb7,_0x506486,_0x3eb02f){if(_0x3eb02f){var _0x3ee6d1=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x3ee6d1[_0x621f('0x21')](_0x506486)){return _0x47feb7;}else{throw new db['Sequelize'][(_0x621f('0x22'))](_0x621f('0x23'));}}else{return _0x47feb7;}}function respondWithRpcPromise(_0x472893,_0x3c1d4d,_0x4aa4fc,_0x4597f4){return new BPromise(function(_0xf36d28,_0x25f49c){var _0x354927=_0x4597f4||client;return _0x354927[_0x621f('0x24')](_0x472893,_0x4aa4fc)[_0x621f('0x25')](function(_0x4d5828){logger[_0x621f('0x26')](_0x621f('0x27'),_0x3c1d4d,_0x621f('0x28'));logger[_0x621f('0x29')](_0x621f('0x2a'),_0x3c1d4d,_0x621f('0x28'),JSON[_0x621f('0x2b')](_0x4d5828));if(_0x4d5828[_0x621f('0x2c')]){if(_0x4d5828[_0x621f('0x2c')]['code']===0x1f4){logger[_0x621f('0x2c')](_0x621f('0x27'),_0x3c1d4d,_0x4d5828[_0x621f('0x2c')][_0x621f('0x2d')]);return _0x25f49c(_0x4d5828[_0x621f('0x2c')]['message']);}logger[_0x621f('0x2c')](_0x621f('0x27'),_0x3c1d4d,_0x4d5828[_0x621f('0x2c')][_0x621f('0x2d')]);return _0xf36d28(_0x4d5828[_0x621f('0x2c')]['message']);}else{logger[_0x621f('0x26')]('OpenchannelMessage,\x20%s,\x20%s',_0x3c1d4d,'request\x20sent');_0xf36d28(_0x4d5828[_0x621f('0x2e')][_0x621f('0x2d')]);}})['catch'](function(_0x42b649){logger['error']('OpenchannelMessage,\x20%s,\x20%s',_0x3c1d4d,_0x42b649);_0x25f49c(_0x42b649);});});}function respondWithStatusCode(_0x24e8ec,_0x459550){_0x459550=_0x459550||0xcc;return function(_0x47f19e){if(_0x47f19e){return _0x24e8ec[_0x621f('0x2f')](_0x459550);}return _0x24e8ec[_0x621f('0x30')](_0x459550)[_0x621f('0x31')]();};}function respondWithResult(_0x365277,_0x2fa5e9){_0x2fa5e9=_0x2fa5e9||0xc8;return function(_0x2c6dec){if(_0x2c6dec){return _0x365277[_0x621f('0x30')](_0x2fa5e9)[_0x621f('0x32')](_0x2c6dec);}};}function respondWithFilteredResult(_0x68a1f,_0x252bed){return function(_0x2f5e79){if(_0x2f5e79){var _0x90bc99=_0x2f5e79[_0x621f('0x33')],_0x25b0f5=_0x252bed[_0x621f('0x34')],_0x5e3e38=_0x252bed[_0x621f('0x34')]+_0x252bed[_0x621f('0x35')],_0x57b2a0;if(_0x5e3e38>=_0x90bc99){_0x5e3e38=_0x90bc99;_0x57b2a0=0xc8;}else{_0x57b2a0=0xce;}_0x68a1f[_0x621f('0x30')](_0x57b2a0);return _0x68a1f[_0x621f('0x36')](_0x621f('0x37'),_0x25b0f5+'-'+_0x5e3e38+'/'+_0x90bc99)['json'](_0x2f5e79);}return null;};}function patchUpdates(_0x514eaa){return function(_0x2355aa){try{jsonpatch[_0x621f('0x38')](_0x2355aa,_0x514eaa,!![]);}catch(_0x3c89a3){return BPromise['reject'](_0x3c89a3);}return _0x2355aa[_0x621f('0x39')]();};}function saveUpdates(_0x5ca574,_0x1bcecf){return function(_0x31344b){if(_0x31344b){return _0x31344b[_0x621f('0x3a')](_0x5ca574)['then'](function(_0x108c1a){return _0x108c1a;});}return null;};}function removeEntity(_0x50617b,_0x26b773){return function(_0x3ea23b){if(_0x3ea23b){return _0x3ea23b[_0x621f('0x3b')]()[_0x621f('0x25')](function(){_0x50617b[_0x621f('0x30')](0xcc)[_0x621f('0x31')]();});}};}function handleEntityNotFound(_0x5c3d63,_0x4cc6ba){return function(_0x1f9956){if(!_0x1f9956){_0x5c3d63[_0x621f('0x2f')](0x194);}return _0x1f9956;};}function handleError(_0x55abb3,_0x2fc99d){_0x2fc99d=_0x2fc99d||0x1f4;return function(_0x3c8782){logger[_0x621f('0x2c')](_0x3c8782['stack']);if(_0x3c8782[_0x621f('0x3c')]){delete _0x3c8782[_0x621f('0x3c')];}_0x55abb3[_0x621f('0x30')](_0x2fc99d)[_0x621f('0x3d')](_0x3c8782);};}exports['index']=function(_0x561e8e,_0x257c70){var _0x3ad777={},_0x3c810d={},_0x20037f={'count':0x0,'rows':[]};var _0xb204b6=_[_0x621f('0x3e')](db[_0x621f('0x3f')][_0x621f('0x40')],function(_0x3449d5){return{'name':_0x3449d5[_0x621f('0x41')],'type':_0x3449d5[_0x621f('0x42')]['key']};});_0x3c810d['model']=_['map'](_0xb204b6,_0x621f('0x3c'));_0x3c810d[_0x621f('0x43')]=_[_0x621f('0x44')](_0x561e8e[_0x621f('0x43')]);_0x3c810d[_0x621f('0x45')]=_[_0x621f('0x46')](_0x3c810d['model'],_0x3c810d['query']);_0x3ad777[_0x621f('0x47')]=_[_0x621f('0x46')](_0x3c810d[_0x621f('0x48')],qs['fields'](_0x561e8e['query']['fields']));_0x3ad777[_0x621f('0x47')]=_0x3ad777[_0x621f('0x47')][_0x621f('0x49')]?_0x3ad777[_0x621f('0x47')]:_0x3c810d[_0x621f('0x48')];if(!_0x561e8e[_0x621f('0x43')][_0x621f('0x4a')](_0x621f('0x4b'))){_0x3ad777[_0x621f('0x35')]=qs[_0x621f('0x35')](_0x561e8e[_0x621f('0x43')][_0x621f('0x35')]);_0x3ad777[_0x621f('0x34')]=qs[_0x621f('0x34')](_0x561e8e[_0x621f('0x43')]['offset']);}_0x3ad777[_0x621f('0x4c')]=qs[_0x621f('0x4d')](_0x561e8e[_0x621f('0x43')][_0x621f('0x4d')]);_0x3ad777['where']=qs[_0x621f('0x45')](_['pick'](_0x561e8e[_0x621f('0x43')],_0x3c810d[_0x621f('0x45')]),_0xb204b6);if(_0x561e8e['query']['filter']){_0x3ad777['where']=_[_0x621f('0x4e')](_0x3ad777[_0x621f('0x4f')],{'$or':_[_0x621f('0x3e')](_0xb204b6,function(_0x5a4521){if(_0x5a4521[_0x621f('0x42')]!==_0x621f('0x50')){var _0x20d625={};_0x20d625[_0x5a4521['name']]={'$like':'%'+_0x561e8e[_0x621f('0x43')][_0x621f('0x51')]+'%'};return _0x20d625;}})});}_0x3ad777=_[_0x621f('0x4e')]({},_0x3ad777,_0x561e8e[_0x621f('0x52')]);var _0x1f7751={'where':_0x3ad777['where']};return db[_0x621f('0x3f')][_0x621f('0x33')](_0x1f7751)[_0x621f('0x25')](function(_0xe5f5bc){_0x20037f[_0x621f('0x33')]=_0xe5f5bc;if(_0x561e8e[_0x621f('0x43')][_0x621f('0x53')]){_0x3ad777[_0x621f('0x54')]=[{'all':!![]}];}return db[_0x621f('0x3f')][_0x621f('0x55')](_0x3ad777);})[_0x621f('0x25')](function(_0x4d6bdc){_0x20037f['rows']=_0x4d6bdc;return _0x20037f;})[_0x621f('0x25')](respondWithFilteredResult(_0x257c70,_0x3ad777))[_0x621f('0x56')](handleError(_0x257c70,null));};exports[_0x621f('0x57')]=function(_0x5607c8,_0x1a1fc6){var _0x39f807={'raw':!![],'where':{'id':_0x5607c8[_0x621f('0x58')]['id']}},_0x186e61={};_0x186e61['model']=_[_0x621f('0x44')](db[_0x621f('0x3f')]['rawAttributes']);_0x186e61[_0x621f('0x43')]=_[_0x621f('0x44')](_0x5607c8[_0x621f('0x43')]);_0x186e61[_0x621f('0x45')]=_[_0x621f('0x46')](_0x186e61[_0x621f('0x48')],_0x186e61['query']);_0x39f807[_0x621f('0x47')]=_[_0x621f('0x46')](_0x186e61['model'],qs[_0x621f('0x59')](_0x5607c8['query'][_0x621f('0x59')]));_0x39f807[_0x621f('0x47')]=_0x39f807[_0x621f('0x47')][_0x621f('0x49')]?_0x39f807['attributes']:_0x186e61[_0x621f('0x48')];if(_0x5607c8[_0x621f('0x43')][_0x621f('0x53')]){_0x39f807[_0x621f('0x54')]=[{'all':!![]}];}_0x39f807=_[_0x621f('0x4e')]({},_0x39f807,_0x5607c8[_0x621f('0x52')]);return db[_0x621f('0x3f')][_0x621f('0x5a')](_0x39f807)['then'](handleEntityNotFound(_0x1a1fc6,null))['then'](respondWithResult(_0x1a1fc6,null))[_0x621f('0x56')](handleError(_0x1a1fc6,null));};exports[_0x621f('0x5b')]=function(_0x355f98,_0x5ba926){return db['OpenchannelMessage']['create'](_0x355f98[_0x621f('0x5c')],{})[_0x621f('0x25')](respondWithResult(_0x5ba926,0xc9))[_0x621f('0x56')](handleError(_0x5ba926,null));};exports[_0x621f('0x3a')]=function(_0x3613cb,_0x859b1d){if(_0x3613cb[_0x621f('0x5c')]['id']){delete _0x3613cb['body']['id'];}return db[_0x621f('0x3f')][_0x621f('0x5a')]({'where':{'id':_0x3613cb[_0x621f('0x58')]['id']}})['then'](handleEntityNotFound(_0x859b1d,null))['then'](saveUpdates(_0x3613cb[_0x621f('0x5c')],null))[_0x621f('0x25')](respondWithResult(_0x859b1d,null))[_0x621f('0x56')](handleError(_0x859b1d,null));};exports[_0x621f('0x3b')]=function(_0x78c151,_0x17d1dd){return db[_0x621f('0x3f')][_0x621f('0x5a')]({'where':{'id':_0x78c151[_0x621f('0x58')]['id']}})[_0x621f('0x25')](handleEntityNotFound(_0x17d1dd,null))[_0x621f('0x25')](removeEntity(_0x17d1dd,null))[_0x621f('0x56')](handleError(_0x17d1dd,null));};exports['describe']=function(_0x2862a7,_0x941f83){return db['OpenchannelMessage'][_0x621f('0x5d')]()[_0x621f('0x25')](respondWithResult(_0x941f83,null))['catch'](handleError(_0x941f83,null));};var interaction_log=require('../../config/logger')('openchannel-interactions');exports[_0x621f('0x5e')]=function(_0x5d0f6f,_0x3b80ed,_0x4a2e2b){var _0x1fb229={'channel':_0x621f('0x5f')};if(_0x5d0f6f[_0x621f('0x5c')]['id']){delete _0x5d0f6f[_0x621f('0x5c')]['id'];}_0x5d0f6f[_0x621f('0x5c')][_0x621f('0x60')]=!![];_0x5d0f6f[_0x621f('0x5c')][_0x621f('0x61')]=moment()['format'](_0x621f('0x62'));_0x5d0f6f['body'][_0x621f('0x63')]=_0x5d0f6f[_0x621f('0x5c')][_0x621f('0x63')]||_0x5d0f6f[_0x621f('0x64')]['id'];return db['OpenchannelMessage'][_0x621f('0x5a')]({'where':{'id':_0x5d0f6f[_0x621f('0x58')]['id'],'UserId':null},'include':[{'model':db[_0x621f('0x65')],'as':_0x621f('0x66')}]})[_0x621f('0x25')](handleEntityNotFound(_0x3b80ed,null))['then'](saveUpdates(_0x5d0f6f[_0x621f('0x5c')],null))[_0x621f('0x25')](function(_0x23d354){if(_0x23d354){_0x1fb229[_0x621f('0x2d')]=_0x23d354[_0x621f('0x67')]({'plain':!![]});return db[_0x621f('0x68')]['find']({'where':{'id':_0x23d354[_0x621f('0x69')]}});}return null;})['then'](handleEntityNotFound(_0x3b80ed,null))[_0x621f('0x25')](function(_0x12502d){if(_0x12502d){return _0x12502d['update']({'UserId':_0x5d0f6f[_0x621f('0x5c')][_0x621f('0x63')],'read1stAt':_['isNil'](_0x12502d['read1stAt'])?moment()['format'](_0x621f('0x62')):undefined});}return null;})[_0x621f('0x25')](function(_0xf7ce18){if(_0xf7ce18){_0x1fb229['interaction']=_0xf7ce18[_0x621f('0x67')]({'plain':!![]});interaction_log[_0x621f('0x26')](_0x621f('0x6a'),_0x5d0f6f['user']['id'],_0x5d0f6f['user'][_0x621f('0x3c')],_0x5d0f6f[_0x621f('0x64')]['role'],_0x1fb229[_0x621f('0x6b')]['id'],_0x5d0f6f[_0x621f('0x5c')]?JSON['stringify'](_0x5d0f6f[_0x621f('0x5c')]):_0x621f('0x6c'));return respondWithRpcPromise('AcceptMessage',_0x621f('0x6d'),_0x1fb229);}return null;})[_0x621f('0x25')](function(_0x56543e){if(_0x56543e){if(_0x5d0f6f[_0x621f('0x5c')][_0x621f('0x6e')]){_0x1fb229[_0x621f('0x2d')][_0x621f('0x6f')]=util[_0x621f('0x70')](_0x621f('0x71'),_0x5d0f6f['user']['name']);_0x1fb229[_0x621f('0x2d')][_0x621f('0x72')]=_0x1fb229[_0x621f('0x72')];_0x1fb229['message'][_0x621f('0x73')]=_0x621f('0x5e');return respondWithRpcPromise(_0x621f('0x74'),_0x621f('0x74'),{'event':_0x621f('0x75'),'message':_0x1fb229['message']},client9002)[_0x621f('0x25')](function(){return _0x1fb229;});}return _0x1fb229;}return null;})[_0x621f('0x25')](respondWithResult(_0x3b80ed,null))['catch'](handleError(_0x3b80ed,null));};var interaction_log=require('../../config/logger')(_0x621f('0x76'));exports[_0x621f('0x77')]=function(_0xa0eea8,_0x5ed3dd,_0x544a16){var _0x4d6d53={'agent':{},'channel':_0x621f('0x5f')};if(_0xa0eea8[_0x621f('0x5c')]['id']){delete _0xa0eea8[_0x621f('0x5c')]['id'];}_0xa0eea8[_0x621f('0x5c')][_0x621f('0x63')]=_0xa0eea8[_0x621f('0x5c')][_0x621f('0x63')]||_0xa0eea8[_0x621f('0x64')]['id'];_0x4d6d53[_0x621f('0x78')]['id']=_0xa0eea8[_0x621f('0x5c')][_0x621f('0x63')];return db['OpenchannelMessage']['find']({'where':{'id':_0xa0eea8['params']['id'],'UserId':null}})[_0x621f('0x25')](handleEntityNotFound(_0x5ed3dd,null))[_0x621f('0x25')](function(_0x15a48){if(_0x15a48){_0x4d6d53[_0x621f('0x2d')]=_0x15a48[_0x621f('0x67')]({'plain':!![]});return db[_0x621f('0x68')][_0x621f('0x5a')]({'where':{'id':_0x15a48[_0x621f('0x69')]}});}return null;})[_0x621f('0x25')](handleEntityNotFound(_0x5ed3dd,null))[_0x621f('0x25')](function(_0x15f298){if(_0x15f298){_0x4d6d53[_0x621f('0x6b')]=_0x15f298[_0x621f('0x67')]({'plain':!![]});interaction_log[_0x621f('0x26')](_0x621f('0x79'),_0xa0eea8[_0x621f('0x64')]['id'],_0xa0eea8['user'][_0x621f('0x3c')],_0xa0eea8[_0x621f('0x64')][_0x621f('0x7a')],_0x4d6d53[_0x621f('0x6b')]['id'],_0xa0eea8[_0x621f('0x5c')]?JSON['stringify'](_0xa0eea8[_0x621f('0x5c')]):_0x621f('0x6c'));return respondWithRpcPromise(_0x621f('0x7b'),_0x621f('0x7c'),_0x4d6d53);}return null;})[_0x621f('0x25')](function(_0x2a3648){if(_0x2a3648){_0x2a3648[_0x621f('0x2d')]['interface']=util['format']('SIP/%s',_0xa0eea8[_0x621f('0x64')][_0x621f('0x3c')]);_0x2a3648['message'][_0x621f('0x72')]=_0x4d6d53[_0x621f('0x72')];_0x2a3648[_0x621f('0x2d')]['event']=_0x621f('0x77');respondWithRpcPromise(_0x621f('0x74'),_0x621f('0x74'),{'event':'rejectmessage','message':_0x2a3648[_0x621f('0x2d')]},client9002);return _0x4d6d53;}return null;})[_0x621f('0x25')](respondWithResult(_0x5ed3dd,null))[_0x621f('0x56')](handleError(_0x5ed3dd,null));};