0e96618c3b515e486b6d52a6b2191ee45ad4d14f
[motion2.git] / server / api / voiceRecording / voiceRecording.rpc.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 _0x4bd3=['stringify','../../components/encryptor','findOne','callRecordingEncryption','create','format','%s.cypher','value','secrets','recording','CreateVoiceRecording\x20file\x20encrypted','CreateVoiceRecording','lodash','moment','bluebird','../../config/utils','../../config/logger','rpc','jayson/promise','client','request','then','info','request\x20sent','debug','VoiceRecording,\x20%s,\x20%s,\x20%s','error','VoiceRecording,\x20%s,\x20%s','message','result','catch','UpdateVoiceRecording','VoiceRecording','update','body','options','raw','where','attributes','limit'];(function(_0x309e8f,_0x54f74b){var _0x424995=function(_0x212e16){while(--_0x212e16){_0x309e8f['push'](_0x309e8f['shift']());}};_0x424995(++_0x54f74b);}(_0x4bd3,0x174));var _0x34bd=function(_0x590111,_0x5299ee){_0x590111=_0x590111-0x0;var _0x450176=_0x4bd3[_0x590111];return _0x450176;};'use strict';var _=require(_0x34bd('0x0'));var util=require('util');var moment=require(_0x34bd('0x1'));var BPromise=require(_0x34bd('0x2'));var rs=require('randomstring');var fs=require('fs');var Redis=require('ioredis');var db=require('../../mysqldb')['db'];var utils=require(_0x34bd('0x3'));var logger=require(_0x34bd('0x4'))(_0x34bd('0x5'));var config=require('../../config/environment');var jayson=require(_0x34bd('0x6'));var client=jayson[_0x34bd('0x7')]['http']({'port':0x232a});function respondWithRpcPromise(_0x3e8744,_0x213716,_0x51a4d7){return new BPromise(function(_0xd600e1,_0x76de8d){return client[_0x34bd('0x8')](_0x3e8744,_0x51a4d7)[_0x34bd('0x9')](function(_0x1ac77f){logger[_0x34bd('0xa')]('VoiceRecording,\x20%s,\x20%s',_0x213716,_0x34bd('0xb'));logger[_0x34bd('0xc')](_0x34bd('0xd'),_0x213716,_0x34bd('0xb'),JSON['stringify'](_0x1ac77f));if(_0x1ac77f['error']){if(_0x1ac77f[_0x34bd('0xe')]['code']===0x1f4){logger['error'](_0x34bd('0xf'),_0x213716,_0x1ac77f[_0x34bd('0xe')][_0x34bd('0x10')]);return _0x76de8d(_0x1ac77f[_0x34bd('0xe')][_0x34bd('0x10')]);}logger[_0x34bd('0xe')](_0x34bd('0xf'),_0x213716,_0x1ac77f[_0x34bd('0xe')][_0x34bd('0x10')]);return _0xd600e1(_0x1ac77f['error'][_0x34bd('0x10')]);}else{logger['info']('VoiceRecording,\x20%s,\x20%s',_0x213716,_0x34bd('0xb'));_0xd600e1(_0x1ac77f[_0x34bd('0x11')][_0x34bd('0x10')]);}})[_0x34bd('0x12')](function(_0x34b91b){logger[_0x34bd('0xe')](_0x34bd('0xf'),_0x213716,_0x34b91b);_0x76de8d(_0x34b91b);});});}exports[_0x34bd('0x13')]=function(_0x3b4bf8){var _0x72b197=this;return new Promise(function(_0x4b5ebb,_0x48d2ba){return db[_0x34bd('0x14')][_0x34bd('0x15')](_0x3b4bf8[_0x34bd('0x16')],{'raw':_0x3b4bf8[_0x34bd('0x17')]?_0x3b4bf8[_0x34bd('0x17')][_0x34bd('0x18')]===undefined?!![]:![]:!![],'individualHooks':!![],'where':_0x3b4bf8[_0x34bd('0x17')]?_0x3b4bf8[_0x34bd('0x17')][_0x34bd('0x19')]||null:null,'attributes':_0x3b4bf8['options']?_0x3b4bf8[_0x34bd('0x17')][_0x34bd('0x1a')]||null:null,'limit':_0x3b4bf8[_0x34bd('0x17')]?_0x3b4bf8[_0x34bd('0x17')][_0x34bd('0x1b')]||null:null})['then'](function(_0x582772){logger['info']('UpdateVoiceRecording',_0x3b4bf8);logger[_0x34bd('0xc')]('UpdateVoiceRecording',_0x3b4bf8,JSON[_0x34bd('0x1c')](_0x582772));_0x4b5ebb(_0x582772);})[_0x34bd('0x12')](function(_0x428140){logger['error'](_0x34bd('0x13'),_0x428140[_0x34bd('0x10')],_0x3b4bf8);_0x48d2ba(_0x72b197[_0x34bd('0xe')](0x1f4,_0x428140[_0x34bd('0x10')]));});});};exports['CreateVoiceRecording']=function(_0x29bda8){var _0xb256e8=this;return new Promise(function(_0x264c94,_0x3e4dc3){var _0x56baf7=require(_0x34bd('0x1d'));var _0x3fe8b0;return db['Setting'][_0x34bd('0x1e')]({'attributes':['id',_0x34bd('0x1f')],'where':{'id':0x1},'raw':!![]})[_0x34bd('0x9')](function(_0x3f675c){_0x3fe8b0=_0x3f675c;return db[_0x34bd('0x14')][_0x34bd('0x20')](_0x29bda8[_0x34bd('0x16')]);})['then'](function(_0x43b92d){if(_0x3fe8b0[_0x34bd('0x1f')]&&fs['existsSync'](_0x43b92d['value'])){var _0x38bdba=util[_0x34bd('0x21')](_0x34bd('0x22'),_0x43b92d['value']);return _0x56baf7['encryptFile'](_0x43b92d[_0x34bd('0x23')],_0x38bdba,config[_0x34bd('0x24')][_0x34bd('0x25')])[_0x34bd('0x9')](function(){fs['unlink'](_0x43b92d[_0x34bd('0x23')]);logger[_0x34bd('0xa')](_0x34bd('0x26'));return _0x43b92d;});}return _0x43b92d;})[_0x34bd('0x9')](function(_0x2ef58f){logger[_0x34bd('0xa')]('CreateVoiceRecording',_0x29bda8);logger[_0x34bd('0xc')]('CreateVoiceRecording',_0x29bda8,JSON[_0x34bd('0x1c')](_0x2ef58f));_0x264c94(_0x2ef58f);})[_0x34bd('0x12')](function(_0xf12ee6){logger['error'](_0x34bd('0x27'),_0xf12ee6[_0x34bd('0x10')],_0x29bda8);_0x3e4dc3(_0xb256e8['error'](0x1f4,_0xf12ee6[_0x34bd('0x10')]));});});};