81b45bf35662bdc7c66e1740035f4e518afd0bda
[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 _0x77d4=['%s.cypher','encryptFile','secrets','recording','unlink','CreateVoiceRecording\x20file\x20encrypted','util','bluebird','ioredis','../../mysqldb','rpc','../../config/environment','jayson/promise','client','http','then','info','VoiceRecording,\x20%s,\x20%s','request\x20sent','VoiceRecording,\x20%s,\x20%s,\x20%s','stringify','error','code','message','catch','UpdateVoiceRecording','VoiceRecording','update','body','options','where','attributes','limit','debug','CreateVoiceRecording','../../components/encryptor','Setting','findOne','callRecordingEncryption','create','existsSync','value','format'];(function(_0x33b8be,_0x53f528){var _0x54f7cf=function(_0x4d5a71){while(--_0x4d5a71){_0x33b8be['push'](_0x33b8be['shift']());}};_0x54f7cf(++_0x53f528);}(_0x77d4,0x108));var _0x477d=function(_0x220504,_0x462414){_0x220504=_0x220504-0x0;var _0x4778ee=_0x77d4[_0x220504];return _0x4778ee;};'use strict';var _=require('lodash');var util=require(_0x477d('0x0'));var moment=require('moment');var BPromise=require(_0x477d('0x1'));var rs=require('randomstring');var fs=require('fs');var Redis=require(_0x477d('0x2'));var db=require(_0x477d('0x3'))['db'];var utils=require('../../config/utils');var logger=require('../../config/logger')(_0x477d('0x4'));var config=require(_0x477d('0x5'));var jayson=require(_0x477d('0x6'));var client=jayson[_0x477d('0x7')][_0x477d('0x8')]({'port':0x232a});function respondWithRpcPromise(_0x45ca2d,_0x5153df,_0x4f4fb4){return new BPromise(function(_0x2dd5d2,_0x579859){return client['request'](_0x45ca2d,_0x4f4fb4)[_0x477d('0x9')](function(_0x29f11b){logger[_0x477d('0xa')](_0x477d('0xb'),_0x5153df,_0x477d('0xc'));logger['debug'](_0x477d('0xd'),_0x5153df,'request\x20sent',JSON[_0x477d('0xe')](_0x29f11b));if(_0x29f11b[_0x477d('0xf')]){if(_0x29f11b['error'][_0x477d('0x10')]===0x1f4){logger[_0x477d('0xf')]('VoiceRecording,\x20%s,\x20%s',_0x5153df,_0x29f11b['error'][_0x477d('0x11')]);return _0x579859(_0x29f11b[_0x477d('0xf')]['message']);}logger[_0x477d('0xf')](_0x477d('0xb'),_0x5153df,_0x29f11b['error']['message']);return _0x2dd5d2(_0x29f11b[_0x477d('0xf')]['message']);}else{logger[_0x477d('0xa')](_0x477d('0xb'),_0x5153df,_0x477d('0xc'));_0x2dd5d2(_0x29f11b['result'][_0x477d('0x11')]);}})[_0x477d('0x12')](function(_0x29c6f8){logger[_0x477d('0xf')]('VoiceRecording,\x20%s,\x20%s',_0x5153df,_0x29c6f8);_0x579859(_0x29c6f8);});});}exports[_0x477d('0x13')]=function(_0x5d5553){var _0x367965=this;return new Promise(function(_0x1399d7,_0x159beb){return db[_0x477d('0x14')][_0x477d('0x15')](_0x5d5553[_0x477d('0x16')],{'raw':_0x5d5553['options']?_0x5d5553[_0x477d('0x17')]['raw']===undefined?!![]:![]:!![],'individualHooks':!![],'where':_0x5d5553[_0x477d('0x17')]?_0x5d5553[_0x477d('0x17')][_0x477d('0x18')]||null:null,'attributes':_0x5d5553[_0x477d('0x17')]?_0x5d5553[_0x477d('0x17')][_0x477d('0x19')]||null:null,'limit':_0x5d5553[_0x477d('0x17')]?_0x5d5553[_0x477d('0x17')][_0x477d('0x1a')]||null:null})[_0x477d('0x9')](function(_0x3d2943){logger[_0x477d('0xa')](_0x477d('0x13'),_0x5d5553);logger[_0x477d('0x1b')]('UpdateVoiceRecording',_0x5d5553,JSON[_0x477d('0xe')](_0x3d2943));_0x1399d7(_0x3d2943);})['catch'](function(_0x239b56){logger[_0x477d('0xf')](_0x477d('0x13'),_0x239b56[_0x477d('0x11')],_0x5d5553);_0x159beb(_0x367965['error'](0x1f4,_0x239b56[_0x477d('0x11')]));});});};exports[_0x477d('0x1c')]=function(_0x1ca4fe){var _0x48ee5e=this;return new Promise(function(_0x585648,_0x198697){var _0x3c6270=require(_0x477d('0x1d'));var _0x5c8ef1;return db[_0x477d('0x1e')][_0x477d('0x1f')]({'attributes':['id',_0x477d('0x20')],'where':{'id':0x1},'raw':!![]})[_0x477d('0x9')](function(_0x37b332){_0x5c8ef1=_0x37b332;return db['VoiceRecording'][_0x477d('0x21')](_0x1ca4fe[_0x477d('0x16')]);})[_0x477d('0x9')](function(_0x25a329){if(_0x5c8ef1[_0x477d('0x20')]&&fs[_0x477d('0x22')](_0x25a329[_0x477d('0x23')])){var _0x98b5d9=util[_0x477d('0x24')](_0x477d('0x25'),_0x25a329[_0x477d('0x23')]);return _0x3c6270[_0x477d('0x26')](_0x25a329[_0x477d('0x23')],_0x98b5d9,config[_0x477d('0x27')][_0x477d('0x28')])[_0x477d('0x9')](function(){fs[_0x477d('0x29')](_0x25a329[_0x477d('0x23')]);logger[_0x477d('0xa')](_0x477d('0x2a'));return _0x25a329;});}return _0x25a329;})['then'](function(_0x304d25){logger['info'](_0x477d('0x1c'),_0x1ca4fe);logger[_0x477d('0x1b')](_0x477d('0x1c'),_0x1ca4fe,JSON['stringify'](_0x304d25));_0x585648(_0x304d25);})[_0x477d('0x12')](function(_0x1201a9){logger[_0x477d('0xf')](_0x477d('0x1c'),_0x1201a9[_0x477d('0x11')],_0x1ca4fe);_0x198697(_0x48ee5e[_0x477d('0xf')](0x1f4,_0x1201a9[_0x477d('0x11')]));});});};