Built motion from commit (unavailable).|2.3.4
[motion2.git] / server / api / voiceRecording / voiceRecording.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 _0x5e53=['filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','where','pick','filter','merge','map','type','key','VIRTUAL','field','count','include','findAll','rows','catch','show','rawAttributes','options','find','create','body','params','describe','download','uniqueid','decryptFile','value','recording','existsSync','Sequelize','VoiceRecording\x20not\x20found','filename','extname','unlink','downloads','../../components/encryptor','sequelize','col','push','$and','format','%s.cypher','secrets','ValidationError','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','to-csv','ejs','squel','desk.js','querystring','papaparse','../../components/auth/service','../../config/license/hardware','ioredis','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','end','status','json','offset','limit','Content-Range','reject','save','update','then','error','stack','name','send','VoiceRecording','model','differenceBy','keys','query'];(function(_0x13c406,_0x128275){var _0x2b9fd8=function(_0x425b61){while(--_0x425b61){_0x13c406['push'](_0x13c406['shift']());}};_0x2b9fd8(++_0x128275);}(_0x5e53,0x91));var _0x35e5=function(_0x30eab7,_0xdc0a49){_0x30eab7=_0x30eab7-0x0;var _0x306830=_0x5e53[_0x30eab7];return _0x306830;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x35e5('0x0'));var rimraf=require(_0x35e5('0x1'));var zipdir=require(_0x35e5('0x2'));var jsonpatch=require(_0x35e5('0x3'));var rp=require(_0x35e5('0x4'));var moment=require(_0x35e5('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x35e5('0x6'));var util=require(_0x35e5('0x7'));var path=require('path');var sox=require('sox');var csv=require(_0x35e5('0x8'));var ejs=require(_0x35e5('0x9'));var fs=require('fs');var _=require('lodash');var squel=require(_0x35e5('0xa'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x35e5('0xb'));var toCsv=require(_0x35e5('0x8'));var querystring=require(_0x35e5('0xc'));var Papa=require(_0x35e5('0xd'));var authService=require(_0x35e5('0xe'));var hardwareService=require(_0x35e5('0xf'));var Redis=require(_0x35e5('0x10'));var qs=require(_0x35e5('0x11'));var logger=require(_0x35e5('0x12'))(_0x35e5('0x13'));var utils=require(_0x35e5('0x14'));var config=require(_0x35e5('0x15'));var db=require(_0x35e5('0x16'))['db'];function respondWithStatusCode(_0x2c9752,_0x277e32){_0x277e32=_0x277e32||0xcc;return function(_0x1ab12a){if(_0x1ab12a){return _0x2c9752[_0x35e5('0x17')](_0x277e32);}return _0x2c9752['status'](_0x277e32)[_0x35e5('0x18')]();};}function respondWithResult(_0x56e381,_0x275492){_0x275492=_0x275492||0xc8;return function(_0x5e149){if(_0x5e149){return _0x56e381[_0x35e5('0x19')](_0x275492)[_0x35e5('0x1a')](_0x5e149);}};}function respondWithFilteredResult(_0x3ce0be,_0x252c47){return function(_0x331c68){if(_0x331c68){var _0x3606cc=_0x331c68['count'],_0x4d70a9=_0x252c47[_0x35e5('0x1b')],_0x24a8dc=_0x252c47[_0x35e5('0x1b')]+_0x252c47[_0x35e5('0x1c')],_0x20fbfc;if(_0x24a8dc>=_0x3606cc){_0x24a8dc=_0x3606cc;_0x20fbfc=0xc8;}else{_0x20fbfc=0xce;}_0x3ce0be[_0x35e5('0x19')](_0x20fbfc);return _0x3ce0be['set'](_0x35e5('0x1d'),_0x4d70a9+'-'+_0x24a8dc+'/'+_0x3606cc)[_0x35e5('0x1a')](_0x331c68);}return null;};}function patchUpdates(_0x1e4b56){return function(_0x3cf6e1){try{jsonpatch['apply'](_0x3cf6e1,_0x1e4b56,!![]);}catch(_0x80baa6){return BPromise[_0x35e5('0x1e')](_0x80baa6);}return _0x3cf6e1[_0x35e5('0x1f')]();};}function saveUpdates(_0x2171a6,_0x245ac9){return function(_0x17eaee){if(_0x17eaee){return _0x17eaee[_0x35e5('0x20')](_0x2171a6)[_0x35e5('0x21')](function(_0x250e20){return _0x250e20;});}return null;};}function removeEntity(_0x53bf2f,_0x4d6622){return function(_0x28879c){if(_0x28879c){return _0x28879c['destroy']()[_0x35e5('0x21')](function(){_0x53bf2f[_0x35e5('0x19')](0xcc)[_0x35e5('0x18')]();});}};}function handleEntityNotFound(_0x1451e6,_0x33f9d8){return function(_0x38bc76){if(!_0x38bc76){_0x1451e6[_0x35e5('0x17')](0x194);}return _0x38bc76;};}function handleError(_0x2878d8,_0x341614){_0x341614=_0x341614||0x1f4;return function(_0x5f2d79){logger[_0x35e5('0x22')](_0x5f2d79[_0x35e5('0x23')]);if(_0x5f2d79['name']){delete _0x5f2d79[_0x35e5('0x24')];}_0x2878d8[_0x35e5('0x19')](_0x341614)[_0x35e5('0x25')](_0x5f2d79);};}exports['index']=function(_0x472238,_0x4825ef){var _0x2fad84={},_0x285f5a={},_0x2b47a7={'count':0x0,'rows':[]};var _0x6de230=db[_0x35e5('0x26')]['rawAttributes'];_0x285f5a[_0x35e5('0x27')]=_[_0x35e5('0x28')](_[_0x35e5('0x29')](_0x6de230),['format']);_0x285f5a[_0x35e5('0x2a')]=_[_0x35e5('0x29')](_0x472238[_0x35e5('0x2a')]);_0x285f5a[_0x35e5('0x2b')]=_[_0x35e5('0x2c')](_0x285f5a[_0x35e5('0x27')],_0x285f5a[_0x35e5('0x2a')]);_0x2fad84[_0x35e5('0x2d')]=_[_0x35e5('0x2c')](_0x285f5a[_0x35e5('0x27')],qs[_0x35e5('0x2e')](_0x472238[_0x35e5('0x2a')][_0x35e5('0x2e')]));_0x2fad84[_0x35e5('0x2d')]=_0x2fad84[_0x35e5('0x2d')][_0x35e5('0x2f')]?_0x2fad84['attributes']:_0x285f5a[_0x35e5('0x27')];if(!_0x472238[_0x35e5('0x2a')][_0x35e5('0x30')](_0x35e5('0x31'))){_0x2fad84[_0x35e5('0x1c')]=qs[_0x35e5('0x1c')](_0x472238[_0x35e5('0x2a')]['limit']);_0x2fad84[_0x35e5('0x1b')]=qs['offset'](_0x472238[_0x35e5('0x2a')]['offset']);}_0x2fad84[_0x35e5('0x32')]=qs['sort'](_0x472238[_0x35e5('0x2a')]['sort']);_0x2fad84[_0x35e5('0x33')]=qs[_0x35e5('0x2b')](_[_0x35e5('0x34')](_0x472238['query'],_0x285f5a[_0x35e5('0x2b')]));if(_0x472238[_0x35e5('0x2a')][_0x35e5('0x35')]){_0x2fad84['where']=_[_0x35e5('0x36')](_0x2fad84[_0x35e5('0x33')],{'$or':_[_0x35e5('0x37')](_0x6de230,function(_0x425222){if(_0x425222[_0x35e5('0x38')][_0x35e5('0x39')]!==_0x35e5('0x3a')){var _0x157f14={};_0x157f14[_0x425222[_0x35e5('0x3b')]]={'$like':'%'+_0x472238[_0x35e5('0x2a')]['filter']+'%'};return _0x157f14;}})});}_0x2fad84=_['merge']({},_0x2fad84,_0x472238['options']);var _0x5623db={'where':_0x2fad84[_0x35e5('0x33')]};return db[_0x35e5('0x26')][_0x35e5('0x3c')](_0x5623db)[_0x35e5('0x21')](function(_0x3d921a){_0x2b47a7[_0x35e5('0x3c')]=_0x3d921a;if(_0x472238[_0x35e5('0x2a')]['includeAll']){_0x2fad84[_0x35e5('0x3d')]=[{'all':!![]}];}return db[_0x35e5('0x26')][_0x35e5('0x3e')](_0x2fad84);})[_0x35e5('0x21')](function(_0x4acaf7){_0x2b47a7[_0x35e5('0x3f')]=_0x4acaf7;return _0x2b47a7;})['then'](respondWithFilteredResult(_0x4825ef,_0x2fad84))[_0x35e5('0x40')](handleError(_0x4825ef,null));};exports[_0x35e5('0x41')]=function(_0x4719d8,_0x334c0d){var _0x10aa9c={'raw':![],'where':{'id':_0x4719d8['params']['id']}},_0xb38d7b={};_0xb38d7b[_0x35e5('0x27')]=_[_0x35e5('0x29')](db[_0x35e5('0x26')][_0x35e5('0x42')]);_0xb38d7b[_0x35e5('0x2a')]=_[_0x35e5('0x29')](_0x4719d8['query']);_0xb38d7b[_0x35e5('0x2b')]=_[_0x35e5('0x2c')](_0xb38d7b[_0x35e5('0x27')],_0xb38d7b[_0x35e5('0x2a')]);_0x10aa9c[_0x35e5('0x2d')]=_['intersection'](_0xb38d7b[_0x35e5('0x27')],qs[_0x35e5('0x2e')](_0x4719d8[_0x35e5('0x2a')]['fields']));_0x10aa9c[_0x35e5('0x2d')]=_0x10aa9c['attributes']['length']?_0x10aa9c[_0x35e5('0x2d')]:_0xb38d7b[_0x35e5('0x27')];if(_0x4719d8[_0x35e5('0x2a')]['includeAll']){_0x10aa9c[_0x35e5('0x3d')]=[{'all':!![]}];}_0x10aa9c=_['merge']({},_0x10aa9c,_0x4719d8[_0x35e5('0x43')]);return db[_0x35e5('0x26')][_0x35e5('0x44')](_0x10aa9c)[_0x35e5('0x21')](handleEntityNotFound(_0x334c0d,null))[_0x35e5('0x21')](respondWithResult(_0x334c0d,null))[_0x35e5('0x40')](handleError(_0x334c0d,null));};exports['create']=function(_0x5f198b,_0x267324){return db[_0x35e5('0x26')][_0x35e5('0x45')](_0x5f198b['body'],{})['then'](respondWithResult(_0x267324,0xc9))['catch'](handleError(_0x267324,null));};exports[_0x35e5('0x20')]=function(_0x5df0d9,_0xa17bc3){if(_0x5df0d9[_0x35e5('0x46')]['id']){delete _0x5df0d9['body']['id'];}return db[_0x35e5('0x26')][_0x35e5('0x44')]({'where':{'id':_0x5df0d9[_0x35e5('0x47')]['id']}})[_0x35e5('0x21')](handleEntityNotFound(_0xa17bc3,null))[_0x35e5('0x21')](saveUpdates(_0x5df0d9['body'],null))[_0x35e5('0x21')](respondWithResult(_0xa17bc3,null))['catch'](handleError(_0xa17bc3,null));};exports['destroy']=function(_0x178686,_0x58cadf){return db[_0x35e5('0x26')][_0x35e5('0x44')]({'where':{'id':_0x178686['params']['id']}})[_0x35e5('0x21')](handleEntityNotFound(_0x58cadf,null))['then'](removeEntity(_0x58cadf,null))[_0x35e5('0x40')](handleError(_0x58cadf,null));};exports[_0x35e5('0x48')]=function(_0x32412a,_0x54d66f){return db['VoiceRecording']['describe']()['then'](respondWithResult(_0x54d66f,null))['catch'](handleError(_0x54d66f,null));};exports[_0x35e5('0x49')]=function(_0x1671e2,_0x2fbbf4,_0x5c925a){var _0x48a0f7=require('../../components/encryptor');var _0x31dd29=![];var _0x31b50a={};if(_0x1671e2[_0x35e5('0x2a')]['type']&&_0x1671e2[_0x35e5('0x2a')]['type']==='uniqueid'){_0x31b50a[_0x35e5('0x4a')]=_0x1671e2[_0x35e5('0x47')]['id'];}else{_0x31b50a['id']=_0x1671e2[_0x35e5('0x47')]['id'];}return db[_0x35e5('0x26')][_0x35e5('0x44')]({'where':_0x31b50a,'attributes':['id','value'],'raw':!![]})['then'](handleEntityNotFound(_0x2fbbf4,null))['then'](function(_0x21bfe7){if(_0x21bfe7){var _0x49e40e=util['format']('%s.cypher',_0x21bfe7['value']);if(fs['existsSync'](_0x49e40e)){_0x31dd29=!![];return _0x48a0f7[_0x35e5('0x4b')](_0x49e40e,_0x21bfe7[_0x35e5('0x4c')],config['secrets'][_0x35e5('0x4d')])[_0x35e5('0x21')](function(){return _0x21bfe7;});}return _0x21bfe7;}})[_0x35e5('0x21')](function(_0x1592a8){if(_0x1592a8){if(!fs[_0x35e5('0x4e')](_0x1592a8['value'])){throw new db[(_0x35e5('0x4f'))]['ValidationError'](_0x35e5('0x50'));}if(_0x1592a8[_0x35e5('0x51')]){return _0x2fbbf4['download'](_0x1592a8[_0x35e5('0x4c')],_0x1592a8['filename']+path[_0x35e5('0x52')](_0x1592a8[_0x35e5('0x4c')]),function(){if(_0x31dd29){fs[_0x35e5('0x53')](_0x1592a8['value']);}});}else{return _0x2fbbf4['download'](_0x1592a8['value'],function(_0x205440){if(_0x31dd29){fs[_0x35e5('0x53')](_0x1592a8['value']);}});}}})[_0x35e5('0x40')](handleError(_0x2fbbf4,null));};exports[_0x35e5('0x54')]=function(_0x384273,_0x42e3d4,_0x3edd08){var _0x3d1072=require(_0x35e5('0x55'));var _0xb8338=![];var _0xa1708a={'$and':[db['sequelize'][_0x35e5('0x33')](db[_0x35e5('0x56')]['fn']('MD5',db[_0x35e5('0x56')][_0x35e5('0x57')](_0x35e5('0x4a'))),_0x384273[_0x35e5('0x2a')]['token'])]};if(_0x384273['query'][_0x35e5('0x38')]&&_0x384273[_0x35e5('0x2a')]['type']==='uniqueid'){_0xa1708a['$and'][_0x35e5('0x58')]({'uniqueid':_0x384273[_0x35e5('0x47')]['id']});}else{_0xa1708a[_0x35e5('0x59')][_0x35e5('0x58')]({'id':_0x384273[_0x35e5('0x47')]['id']});}return db['VoiceRecording'][_0x35e5('0x44')]({'where':_0xa1708a,'attributes':['id',_0x35e5('0x4c')],'raw':!![]})[_0x35e5('0x21')](handleEntityNotFound(_0x42e3d4,null))[_0x35e5('0x21')](function(_0x2619ec){if(_0x2619ec){var _0x28cd1e=util[_0x35e5('0x5a')](_0x35e5('0x5b'),_0x2619ec['value']);if(fs['existsSync'](_0x28cd1e)){_0xb8338=!![];return _0x3d1072[_0x35e5('0x4b')](_0x28cd1e,_0x2619ec[_0x35e5('0x4c')],config[_0x35e5('0x5c')]['recording'])[_0x35e5('0x21')](function(){return _0x2619ec;});}return _0x2619ec;}})[_0x35e5('0x21')](function(_0x3cdd69){if(_0x3cdd69){if(!fs[_0x35e5('0x4e')](_0x3cdd69[_0x35e5('0x4c')])){throw new db['Sequelize'][(_0x35e5('0x5d'))](_0x35e5('0x50'));}if(_0x3cdd69[_0x35e5('0x51')]){return _0x42e3d4[_0x35e5('0x49')](_0x3cdd69[_0x35e5('0x4c')],_0x3cdd69[_0x35e5('0x51')]+path[_0x35e5('0x52')](_0x3cdd69[_0x35e5('0x4c')]),function(){if(_0xb8338){fs[_0x35e5('0x53')](_0x3cdd69[_0x35e5('0x4c')]);}});}else{return _0x42e3d4[_0x35e5('0x49')](_0x3cdd69[_0x35e5('0x4c')],function(_0x504847){if(_0xb8338){fs[_0x35e5('0x53')](_0x3cdd69[_0x35e5('0x4c')]);}});}}})['catch'](handleError(_0x42e3d4,null));};