Built motion from commit (unavailable).|2.4.19
[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 _0x9803=['status','end','json','count','offset','limit','apply','update','then','sendStatus','error','stack','send','map','VoiceRecording','rawAttributes','type','name','format','query','keys','intersection','model','fields','attributes','hasOwnProperty','nolimit','order','sort','where','pick','filters','filter','merge','VIRTUAL','includeAll','include','findAll','rows','catch','show','length','find','body','params','describe','download','../../components/encryptor','uniqueid','value','%s.cypher','existsSync','decryptFile','secrets','recording','Sequelize','ValidationError','VoiceRecording\x20not\x20found','filename','extname','unlink','message','downloads','sequelize','token','$and','push','destroy','Entity\x20not\x20found','info','cancellazione\x20fisica\x20documento\x20%s','isNil','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','util','to-csv','ejs','squel','crypto','jsforce','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/environment','../../mysqldb'];(function(_0x5d2d25,_0x432a4c){var _0x39b068=function(_0x34f186){while(--_0x34f186){_0x5d2d25['push'](_0x5d2d25['shift']());}};_0x39b068(++_0x432a4c);}(_0x9803,0x105));var _0x3980=function(_0x14add3,_0x13ce8d){_0x14add3=_0x14add3-0x0;var _0x4a174f=_0x9803[_0x14add3];return _0x4a174f;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x3980('0x0'));var rimraf=require(_0x3980('0x1'));var zipdir=require(_0x3980('0x2'));var jsonpatch=require(_0x3980('0x3'));var rp=require('request-promise');var moment=require(_0x3980('0x4'));var BPromise=require(_0x3980('0x5'));var Mustache=require('mustache');var util=require(_0x3980('0x6'));var path=require('path');var sox=require('sox');var csv=require(_0x3980('0x7'));var ejs=require(_0x3980('0x8'));var fs=require('fs');var _=require('lodash');var squel=require(_0x3980('0x9'));var crypto=require(_0x3980('0xa'));var jsforce=require(_0x3980('0xb'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x3980('0xc'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x3980('0xd'));var as=require(_0x3980('0xe'));var hardwareService=require(_0x3980('0xf'));var logger=require('../../config/logger')('api');var utils=require('../../config/utils');var config=require(_0x3980('0x10'));var db=require(_0x3980('0x11'))['db'];function respondWithStatusCode(_0x2812fe,_0x3e1a94){_0x3e1a94=_0x3e1a94||0xcc;return function(_0x5e26fd){if(_0x5e26fd){return _0x2812fe['sendStatus'](_0x3e1a94);}return _0x2812fe[_0x3980('0x12')](_0x3e1a94)[_0x3980('0x13')]();};}function respondWithResult(_0x304274,_0x30289d){_0x30289d=_0x30289d||0xc8;return function(_0x445c3e){if(_0x445c3e){return _0x304274[_0x3980('0x12')](_0x30289d)[_0x3980('0x14')](_0x445c3e);}};}function respondWithFilteredResult(_0x31b293,_0x3fbce9){return function(_0x166478){if(_0x166478){var _0x39bae5=_0x166478[_0x3980('0x15')],_0x267bf9=_0x3fbce9['offset'],_0x2ebf83=_0x3fbce9[_0x3980('0x16')]+_0x3fbce9[_0x3980('0x17')],_0x28acf2;if(_0x2ebf83>=_0x39bae5){_0x2ebf83=_0x39bae5;_0x28acf2=0xc8;}else{_0x28acf2=0xce;}_0x31b293[_0x3980('0x12')](_0x28acf2);return _0x31b293['set']('Content-Range',_0x267bf9+'-'+_0x2ebf83+'/'+_0x39bae5)[_0x3980('0x14')](_0x166478);}return null;};}function patchUpdates(_0x35c355){return function(_0xdfb517){try{jsonpatch[_0x3980('0x18')](_0xdfb517,_0x35c355,!![]);}catch(_0x38e366){return BPromise['reject'](_0x38e366);}return _0xdfb517['save']();};}function saveUpdates(_0x319c33,_0x5835dd){return function(_0xdd1f85){if(_0xdd1f85){return _0xdd1f85[_0x3980('0x19')](_0x319c33)[_0x3980('0x1a')](function(_0x284f88){return _0x284f88;});}return null;};}function removeEntity(_0x37e7bd,_0x294c03){return function(_0x1b9a8e){if(_0x1b9a8e){return _0x1b9a8e['destroy']()['then'](function(){_0x37e7bd[_0x3980('0x12')](0xcc)[_0x3980('0x13')]();});}};}function handleEntityNotFound(_0x9c8fe1,_0x569dd3){return function(_0x3bec3b){if(!_0x3bec3b){_0x9c8fe1[_0x3980('0x1b')](0x194);}return _0x3bec3b;};}function handleError(_0x8ac19d,_0x28243d){_0x28243d=_0x28243d||0x1f4;return function(_0x2a06c1){logger[_0x3980('0x1c')](_0x2a06c1[_0x3980('0x1d')]);if(_0x2a06c1['name']){delete _0x2a06c1['name'];}_0x8ac19d[_0x3980('0x12')](_0x28243d)[_0x3980('0x1e')](_0x2a06c1);};}exports['index']=function(_0x3462c8,_0x34bee5){var _0xba14e2={},_0x29c60f={},_0x52cc33={'count':0x0,'rows':[]};var _0x4950b2=_[_0x3980('0x1f')](db[_0x3980('0x20')][_0x3980('0x21')],function(_0x457e9f){return{'name':_0x457e9f['fieldName'],'type':_0x457e9f[_0x3980('0x22')]['key']};});_0x29c60f['model']=_['differenceBy'](_[_0x3980('0x1f')](_0x4950b2,_0x3980('0x23')),[_0x3980('0x24')]);_0x29c60f[_0x3980('0x25')]=_[_0x3980('0x26')](_0x3462c8[_0x3980('0x25')]);_0x29c60f['filters']=_[_0x3980('0x27')](_0x29c60f[_0x3980('0x28')],_0x29c60f[_0x3980('0x25')]);_0xba14e2['attributes']=_[_0x3980('0x27')](_0x29c60f[_0x3980('0x28')],qs[_0x3980('0x29')](_0x3462c8[_0x3980('0x25')][_0x3980('0x29')]));_0xba14e2[_0x3980('0x2a')]=_0xba14e2[_0x3980('0x2a')]['length']?_0xba14e2[_0x3980('0x2a')]:_0x29c60f[_0x3980('0x28')];if(!_0x3462c8[_0x3980('0x25')][_0x3980('0x2b')](_0x3980('0x2c'))){_0xba14e2[_0x3980('0x17')]=qs[_0x3980('0x17')](_0x3462c8['query'][_0x3980('0x17')]);_0xba14e2[_0x3980('0x16')]=qs[_0x3980('0x16')](_0x3462c8[_0x3980('0x25')][_0x3980('0x16')]);}_0xba14e2[_0x3980('0x2d')]=qs['sort'](_0x3462c8[_0x3980('0x25')][_0x3980('0x2e')]);_0xba14e2[_0x3980('0x2f')]=qs['filters'](_[_0x3980('0x30')](_0x3462c8[_0x3980('0x25')],_0x29c60f[_0x3980('0x31')]));if(_0x3462c8[_0x3980('0x25')][_0x3980('0x32')]){_0xba14e2[_0x3980('0x2f')]=_[_0x3980('0x33')](_0xba14e2[_0x3980('0x2f')],{'$or':_['map'](_0x4950b2,function(_0x4eb309){if(_0x4eb309['type']!==_0x3980('0x34')){var _0x3d2a06={};_0x3d2a06[_0x4eb309[_0x3980('0x23')]]={'$like':'%'+_0x3462c8['query']['filter']+'%'};return _0x3d2a06;}})});}_0xba14e2=_[_0x3980('0x33')]({},_0xba14e2,_0x3462c8['options']);var _0x5dd386={'where':_0xba14e2[_0x3980('0x2f')]};return db[_0x3980('0x20')][_0x3980('0x15')](_0x5dd386)['then'](function(_0x5d0cb3){_0x52cc33[_0x3980('0x15')]=_0x5d0cb3;if(_0x3462c8[_0x3980('0x25')][_0x3980('0x35')]){_0xba14e2[_0x3980('0x36')]=[{'all':!![]}];}return db['VoiceRecording'][_0x3980('0x37')](_0xba14e2);})[_0x3980('0x1a')](function(_0x37cf5d){_0x52cc33[_0x3980('0x38')]=_0x37cf5d;return _0x52cc33;})[_0x3980('0x1a')](respondWithFilteredResult(_0x34bee5,_0xba14e2))[_0x3980('0x39')](handleError(_0x34bee5,null));};exports[_0x3980('0x3a')]=function(_0x453b37,_0x4c079b){var _0x2f6635={'raw':![],'where':{'id':_0x453b37['params']['id']}},_0x135c36={};_0x135c36[_0x3980('0x28')]=_[_0x3980('0x26')](db[_0x3980('0x20')][_0x3980('0x21')]);_0x135c36[_0x3980('0x25')]=_[_0x3980('0x26')](_0x453b37['query']);_0x135c36[_0x3980('0x31')]=_[_0x3980('0x27')](_0x135c36['model'],_0x135c36['query']);_0x2f6635['attributes']=_[_0x3980('0x27')](_0x135c36['model'],qs[_0x3980('0x29')](_0x453b37[_0x3980('0x25')]['fields']));_0x2f6635[_0x3980('0x2a')]=_0x2f6635['attributes'][_0x3980('0x3b')]?_0x2f6635['attributes']:_0x135c36[_0x3980('0x28')];if(_0x453b37['query'][_0x3980('0x35')]){_0x2f6635[_0x3980('0x36')]=[{'all':!![]}];}_0x2f6635=_[_0x3980('0x33')]({},_0x2f6635,_0x453b37['options']);return db['VoiceRecording'][_0x3980('0x3c')](_0x2f6635)[_0x3980('0x1a')](handleEntityNotFound(_0x4c079b,null))[_0x3980('0x1a')](respondWithResult(_0x4c079b,null))[_0x3980('0x39')](handleError(_0x4c079b,null));};exports['create']=function(_0xa652df,_0x447bc0){return db[_0x3980('0x20')]['create'](_0xa652df[_0x3980('0x3d')],{})['then'](respondWithResult(_0x447bc0,0xc9))[_0x3980('0x39')](handleError(_0x447bc0,null));};exports['update']=function(_0x3e7032,_0x51af7e){if(_0x3e7032[_0x3980('0x3d')]['id']){delete _0x3e7032[_0x3980('0x3d')]['id'];}return db['VoiceRecording'][_0x3980('0x3c')]({'where':{'id':_0x3e7032[_0x3980('0x3e')]['id']}})[_0x3980('0x1a')](handleEntityNotFound(_0x51af7e,null))[_0x3980('0x1a')](saveUpdates(_0x3e7032[_0x3980('0x3d')],null))[_0x3980('0x1a')](respondWithResult(_0x51af7e,null))[_0x3980('0x39')](handleError(_0x51af7e,null));};exports['describe']=function(_0x33044b,_0x233fd1){return db[_0x3980('0x20')][_0x3980('0x3f')]()[_0x3980('0x1a')](respondWithResult(_0x233fd1,null))[_0x3980('0x39')](handleError(_0x233fd1,null));};exports[_0x3980('0x40')]=function(_0x458e4b,_0x4c7a8d,_0x54ed3f){var _0x4a7a6c=require(_0x3980('0x41'));var _0x55c2b3=![];var _0x262dcf={};if(_0x458e4b[_0x3980('0x25')][_0x3980('0x22')]&&_0x458e4b[_0x3980('0x25')][_0x3980('0x22')]===_0x3980('0x42')){_0x262dcf[_0x3980('0x42')]=_0x458e4b['params']['id'];}else{_0x262dcf['id']=_0x458e4b[_0x3980('0x3e')]['id'];}return db[_0x3980('0x20')]['find']({'where':_0x262dcf,'attributes':['id',_0x3980('0x43')],'raw':!![]})['then'](handleEntityNotFound(_0x4c7a8d,null))[_0x3980('0x1a')](function(_0xea4355){if(_0xea4355){var _0x35f9c7=_0xea4355[_0x3980('0x43')];var _0x10dd33=util[_0x3980('0x24')](_0x3980('0x44'),_0x35f9c7);if(fs[_0x3980('0x45')](_0x10dd33)){_0x55c2b3=!![];return _0x4a7a6c[_0x3980('0x46')](_0x10dd33,_0x35f9c7,config[_0x3980('0x47')][_0x3980('0x48')])['then'](function(){return _0xea4355;});}return _0xea4355;}})[_0x3980('0x1a')](function(_0xded27e){if(_0xded27e){var _0x9a6f62=_0xded27e[_0x3980('0x43')];if(!fs[_0x3980('0x45')](_0x9a6f62)){throw new db[(_0x3980('0x49'))][(_0x3980('0x4a'))](_0x3980('0x4b'));}if(_0xded27e[_0x3980('0x4c')]){return _0x4c7a8d[_0x3980('0x40')](_0x9a6f62,_0xded27e['filename']+path[_0x3980('0x4d')](_0x9a6f62),function(){if(_0x55c2b3){fs['unlink'](_0x9a6f62);}});}else{return _0x4c7a8d[_0x3980('0x40')](_0x9a6f62,function(_0x5bf4a6){if(_0x55c2b3){fs[_0x3980('0x4e')](_0x9a6f62);}});}}})[_0x3980('0x39')](function(_0x348d66){if(_0x348d66[_0x3980('0x4f')]===_0x3980('0x4b')){_0x4c7a8d[_0x3980('0x12')](0x194)['send']('Not\x20found');}else{return handleError(_0x4c7a8d,null);}});};exports[_0x3980('0x50')]=function(_0x1f47ad,_0x31b29b,_0x365cd1){var _0x143a31=require('../../components/encryptor');var _0x54058f=![];var _0x40796a={'$and':[db['sequelize']['where'](db['sequelize']['fn']('MD5',db[_0x3980('0x51')]['col'](_0x3980('0x42'))),_0x1f47ad[_0x3980('0x25')][_0x3980('0x52')])]};if(_0x1f47ad[_0x3980('0x25')][_0x3980('0x22')]&&_0x1f47ad[_0x3980('0x25')][_0x3980('0x22')]===_0x3980('0x42')){_0x40796a[_0x3980('0x53')][_0x3980('0x54')]({'uniqueid':_0x1f47ad[_0x3980('0x3e')]['id']});}else{_0x40796a[_0x3980('0x53')][_0x3980('0x54')]({'id':_0x1f47ad[_0x3980('0x3e')]['id']});}return db[_0x3980('0x20')][_0x3980('0x3c')]({'where':_0x40796a,'attributes':['id',_0x3980('0x43')],'raw':!![]})[_0x3980('0x1a')](handleEntityNotFound(_0x31b29b,null))[_0x3980('0x1a')](function(_0x41afd2){if(_0x41afd2){var _0x4797eb=util['format'](_0x3980('0x44'),_0x41afd2[_0x3980('0x43')]);if(fs[_0x3980('0x45')](_0x4797eb)){_0x54058f=!![];return _0x143a31[_0x3980('0x46')](_0x4797eb,_0x41afd2[_0x3980('0x43')],config[_0x3980('0x47')]['recording'])[_0x3980('0x1a')](function(){return _0x41afd2;});}return _0x41afd2;}})[_0x3980('0x1a')](function(_0xf8cc81){if(_0xf8cc81){if(!fs[_0x3980('0x45')](_0xf8cc81[_0x3980('0x43')])){throw new db['Sequelize'][(_0x3980('0x4a'))](_0x3980('0x4b'));}if(_0xf8cc81[_0x3980('0x4c')]){return _0x31b29b['download'](_0xf8cc81[_0x3980('0x43')],_0xf8cc81[_0x3980('0x4c')]+path['extname'](_0xf8cc81[_0x3980('0x43')]),function(){if(_0x54058f){fs[_0x3980('0x4e')](_0xf8cc81[_0x3980('0x43')]);}});}else{return _0x31b29b['download'](_0xf8cc81[_0x3980('0x43')],function(_0x3b1789){if(_0x54058f){fs['unlink'](_0xf8cc81[_0x3980('0x43')]);}});}}})['catch'](handleError(_0x31b29b,null));};exports[_0x3980('0x55')]=function(_0x2df877,_0x22b4ee){return db[_0x3980('0x20')][_0x3980('0x3c')]({'where':{'id':_0x2df877[_0x3980('0x3e')]['id']}})[_0x3980('0x1a')](function(_0x33c634){if(!_0x33c634)throw new ReferenceError(_0x3980('0x56'));return _0x33c634;})['then'](function(_0x314516){var _0x581153=_0x314516[_0x3980('0x43')];logger[_0x3980('0x57')](_0x3980('0x58'),_0x581153);if(!_[_0x3980('0x59')](_0x314516[_0x3980('0x43')])&&fs[_0x3980('0x45')](_0x581153)){logger[_0x3980('0x57')](_0x3980('0x5a')+_0x581153+_0x3980('0x5b'));fs[_0x3980('0x5c')](_0x581153);}_0x581153=_0x581153+'.cypher';if(!_['isNil'](_0x314516[_0x3980('0x43')])&&fs[_0x3980('0x45')](_0x581153)){logger[_0x3980('0x57')](_0x3980('0x5a')+_0x581153+_0x3980('0x5b'));fs[_0x3980('0x5c')](_0x581153);}return _0x314516;})[_0x3980('0x1a')](function(_0x4863d2){if(!_0x4863d2)throw new InternalError();return _0x4863d2['destroy']();})[_0x3980('0x1a')](function(){_0x22b4ee[_0x3980('0x12')](0xcc)['end']();})[_0x3980('0x39')](handleError(_0x22b4ee,null));};