Built motion from commit b0a9a629.|2.6.33
[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 _0x25e7=['bluebird','randomstring','ioredis','../../mysqldb','../../config/utils','../../config/logger','rpc','client','request','then','info','VoiceRecording,\x20%s,\x20%s','request\x20sent','debug','VoiceRecording,\x20%s,\x20%s,\x20%s','error','message','result','catch','UpdateVoiceRecording','VoiceRecording','update','body','options','raw','where','attributes','limit','callRecordingEncryption','existsSync','format','%s.cypher','value','encryptFile','secrets','recording','unlink','CreateVoiceRecording\x20file\x20encrypted','stringify','CreateVoiceRecording','lodash','util','moment'];(function(_0x41ee16,_0xfa94c3){var _0x1f60de=function(_0x1c8ffc){while(--_0x1c8ffc){_0x41ee16['push'](_0x41ee16['shift']());}};_0x1f60de(++_0xfa94c3);}(_0x25e7,0x1d6));var _0x725e=function(_0x5db4b0,_0x17dfb5){_0x5db4b0=_0x5db4b0-0x0;var _0x126c9f=_0x25e7[_0x5db4b0];return _0x126c9f;};'use strict';var _=require(_0x725e('0x0'));var util=require(_0x725e('0x1'));var moment=require(_0x725e('0x2'));var BPromise=require(_0x725e('0x3'));var rs=require(_0x725e('0x4'));var fs=require('fs');var Redis=require(_0x725e('0x5'));var db=require(_0x725e('0x6'))['db'];var utils=require(_0x725e('0x7'));var logger=require(_0x725e('0x8'))(_0x725e('0x9'));var config=require('../../config/environment');var jayson=require('jayson/promise');var client=jayson[_0x725e('0xa')]['http']({'port':0x232a});function respondWithRpcPromise(_0x481316,_0x111a50,_0x192c27){return new BPromise(function(_0x216b33,_0x67de0c){return client[_0x725e('0xb')](_0x481316,_0x192c27)[_0x725e('0xc')](function(_0x39858a){logger[_0x725e('0xd')](_0x725e('0xe'),_0x111a50,_0x725e('0xf'));logger[_0x725e('0x10')](_0x725e('0x11'),_0x111a50,'request\x20sent',JSON['stringify'](_0x39858a));if(_0x39858a[_0x725e('0x12')]){if(_0x39858a[_0x725e('0x12')]['code']===0x1f4){logger['error'](_0x725e('0xe'),_0x111a50,_0x39858a[_0x725e('0x12')]['message']);return _0x67de0c(_0x39858a[_0x725e('0x12')][_0x725e('0x13')]);}logger[_0x725e('0x12')]('VoiceRecording,\x20%s,\x20%s',_0x111a50,_0x39858a[_0x725e('0x12')][_0x725e('0x13')]);return _0x216b33(_0x39858a[_0x725e('0x12')][_0x725e('0x13')]);}else{logger[_0x725e('0xd')](_0x725e('0xe'),_0x111a50,'request\x20sent');_0x216b33(_0x39858a[_0x725e('0x14')][_0x725e('0x13')]);}})[_0x725e('0x15')](function(_0x54ac0f){logger[_0x725e('0x12')](_0x725e('0xe'),_0x111a50,_0x54ac0f);_0x67de0c(_0x54ac0f);});});}exports[_0x725e('0x16')]=function(_0x397e33){var _0x268438=this;return new Promise(function(_0x2811e7,_0x528e7d){return db[_0x725e('0x17')][_0x725e('0x18')](_0x397e33[_0x725e('0x19')],{'raw':_0x397e33[_0x725e('0x1a')]?_0x397e33[_0x725e('0x1a')][_0x725e('0x1b')]===undefined?!![]:![]:!![],'individualHooks':!![],'where':_0x397e33['options']?_0x397e33[_0x725e('0x1a')][_0x725e('0x1c')]||null:null,'attributes':_0x397e33[_0x725e('0x1a')]?_0x397e33[_0x725e('0x1a')][_0x725e('0x1d')]||null:null,'limit':_0x397e33[_0x725e('0x1a')]?_0x397e33[_0x725e('0x1a')][_0x725e('0x1e')]||null:null})[_0x725e('0xc')](function(_0x5c33c1){logger[_0x725e('0xd')](_0x725e('0x16'),_0x397e33);logger[_0x725e('0x10')](_0x725e('0x16'),_0x397e33,JSON['stringify'](_0x5c33c1));_0x2811e7(_0x5c33c1);})[_0x725e('0x15')](function(_0x5268c8){logger['error']('UpdateVoiceRecording',_0x5268c8[_0x725e('0x13')],_0x397e33);_0x528e7d(_0x268438[_0x725e('0x12')](0x1f4,_0x5268c8[_0x725e('0x13')]));});});};exports['CreateVoiceRecording']=function(_0xab6cfd){var _0x8a138f=this;return new Promise(function(_0x5a5bef,_0x14e9e0){var _0x339a58=require('../../components/encryptor');var _0x378ace;return db['Setting']['findOne']({'attributes':['id',_0x725e('0x1f')],'where':{'id':0x1},'raw':!![]})['then'](function(_0x3b42bd){_0x378ace=_0x3b42bd;return db['VoiceRecording']['create'](_0xab6cfd[_0x725e('0x19')]);})[_0x725e('0xc')](function(_0x33fe34){if(_0x378ace['callRecordingEncryption']&&fs[_0x725e('0x20')](_0x33fe34['value'])){var _0x85d29c=util[_0x725e('0x21')](_0x725e('0x22'),_0x33fe34[_0x725e('0x23')]);return _0x339a58[_0x725e('0x24')](_0x33fe34[_0x725e('0x23')],_0x85d29c,config[_0x725e('0x25')][_0x725e('0x26')])[_0x725e('0xc')](function(){fs[_0x725e('0x27')](_0x33fe34[_0x725e('0x23')]);logger['info'](_0x725e('0x28'));return _0x33fe34;});}return _0x33fe34;})[_0x725e('0xc')](function(_0x5d3258){logger[_0x725e('0xd')]('CreateVoiceRecording',_0xab6cfd);logger[_0x725e('0x10')]('CreateVoiceRecording',_0xab6cfd,JSON[_0x725e('0x29')](_0x5d3258));_0x5a5bef(_0x5d3258);})[_0x725e('0x15')](function(_0x1f2898){logger[_0x725e('0x12')](_0x725e('0x2a'),_0x1f2898[_0x725e('0x13')],_0xab6cfd);_0x14e9e0(_0x8a138f['error'](0x1f4,_0x1f2898['message']));});});};