Built motion from commit (unavailable).|2.4.4
[motion2.git] / server / api / sound / sound.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 _0xb7f9=['root','server/files/sounds/converted','Sequelize','Sound\x20not\x20found','format','%s.%s','create','basename','originalname','extname','file','filename','substring','wav','server/files/sounds/original','info','Sound\x20upload\x20filepath:\x20%s','0777','transcode','unlinkSync','send','src','original_duration','duration','sampleCount','original_channelCount','channelCount','original_bitRate','bitRate','original_sampleRate','sampleRate','converted_duration','converted_sampleCount','converted_channelCount','converted_bitRate','converted_sampleRate','chmodSync','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','get','UserProfileSection','Sounds','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','start','description','original_format','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','then','destroy','UserProfileResource','error','stack','name','index','Sound','model','keys','query','filters','attributes','fields','length','hasOwnProperty','nolimit','order','sort','pick','filter','where','merge','map','type','key','VIRTUAL','field','includeAll','include','rows','catch','show','params','rawAttributes','intersection','find','download','save_name','converted_format','existsSync','join'];(function(_0x1d84a1,_0x40a2b9){var _0x5e3939=function(_0x3c7f11){while(--_0x3c7f11){_0x1d84a1['push'](_0x1d84a1['shift']());}};_0x5e3939(++_0x40a2b9);}(_0xb7f9,0x1ae));var _0x9b7f=function(_0x48e2eb,_0x2df535){_0x48e2eb=_0x48e2eb-0x0;var _0x5eca92=_0xb7f9[_0x48e2eb];return _0x5eca92;};'use strict';var pdf=require(_0x9b7f('0x0'));var emlformat=require(_0x9b7f('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x9b7f('0x2'));var jsonpatch=require(_0x9b7f('0x3'));var rp=require(_0x9b7f('0x4'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x9b7f('0x5'));var util=require(_0x9b7f('0x6'));var path=require(_0x9b7f('0x7'));var sox=require(_0x9b7f('0x8'));var csv=require(_0x9b7f('0x9'));var ejs=require(_0x9b7f('0xa'));var fs=require('fs');var _=require(_0x9b7f('0xb'));var squel=require(_0x9b7f('0xc'));var crypto=require(_0x9b7f('0xd'));var jsforce=require(_0x9b7f('0xe'));var deskjs=require(_0x9b7f('0xf'));var toCsv=require('to-csv');var querystring=require(_0x9b7f('0x10'));var Papa=require('papaparse');var Redis=require(_0x9b7f('0x11'));var authService=require(_0x9b7f('0x12'));var qs=require('../../components/parsers/qs');var hardwareService=require(_0x9b7f('0x13'));var logger=require(_0x9b7f('0x14'))(_0x9b7f('0x15'));var utils=require(_0x9b7f('0x16'));var config=require(_0x9b7f('0x17'));var db=require(_0x9b7f('0x18'))['db'];function respondWithStatusCode(_0x5af01,_0x1e8a90){_0x1e8a90=_0x1e8a90||0xcc;return function(_0x2a151a){if(_0x2a151a){return _0x5af01[_0x9b7f('0x19')](_0x1e8a90);}return _0x5af01[_0x9b7f('0x1a')](_0x1e8a90)[_0x9b7f('0x1b')]();};}function respondWithResult(_0x118e8c,_0x1e986b){_0x1e986b=_0x1e986b||0xc8;return function(_0x1578aa){if(_0x1578aa){return _0x118e8c['status'](_0x1e986b)[_0x9b7f('0x1c')](_0x1578aa);}};}function respondWithFilteredResult(_0x415fb5,_0x57bea7){return function(_0x4106d9){if(_0x4106d9){var _0x19a6fd=_0x4106d9[_0x9b7f('0x1d')],_0x558823=_0x57bea7[_0x9b7f('0x1e')],_0x1b4f23=_0x57bea7[_0x9b7f('0x1e')]+_0x57bea7[_0x9b7f('0x1f')],_0x3b9f62;if(_0x1b4f23>=_0x19a6fd){_0x1b4f23=_0x19a6fd;_0x3b9f62=0xc8;}else{_0x3b9f62=0xce;}_0x415fb5[_0x9b7f('0x1a')](_0x3b9f62);return _0x415fb5[_0x9b7f('0x20')](_0x9b7f('0x21'),_0x558823+'-'+_0x1b4f23+'/'+_0x19a6fd)[_0x9b7f('0x1c')](_0x4106d9);}return null;};}function patchUpdates(_0x3c0e35){return function(_0xc45aa4){try{jsonpatch[_0x9b7f('0x22')](_0xc45aa4,_0x3c0e35,!![]);}catch(_0x22e428){return BPromise[_0x9b7f('0x23')](_0x22e428);}return _0xc45aa4['save']();};}function saveUpdates(_0x37fd18,_0x2ae4b3){return function(_0x3b0104){if(_0x3b0104){return _0x3b0104['update'](_0x37fd18)[_0x9b7f('0x24')](function(_0x1bc22a){return _0x1bc22a;});}return null;};}function removeEntity(_0x53c615,_0x190858){return function(_0x11226e){if(_0x11226e){return _0x11226e[_0x9b7f('0x25')]()[_0x9b7f('0x24')](function(){var _0x4ec4f1=_0x11226e['get']({'plain':!![]});var _0x40edbf='Sounds';return db[_0x9b7f('0x26')][_0x9b7f('0x25')]({'where':{'type':_0x40edbf,'resourceId':_0x4ec4f1['id']}})['then'](function(){return _0x11226e;});})[_0x9b7f('0x24')](function(){_0x53c615[_0x9b7f('0x1a')](0xcc)[_0x9b7f('0x1b')]();});}};}function handleEntityNotFound(_0x61fe49,_0x40fc7a){return function(_0xc9c7df){if(!_0xc9c7df){_0x61fe49[_0x9b7f('0x19')](0x194);}return _0xc9c7df;};}function handleError(_0x4ec1df,_0x3ee89a){_0x3ee89a=_0x3ee89a||0x1f4;return function(_0x53c380){logger[_0x9b7f('0x27')](_0x53c380[_0x9b7f('0x28')]);if(_0x53c380[_0x9b7f('0x29')]){delete _0x53c380[_0x9b7f('0x29')];}_0x4ec1df[_0x9b7f('0x1a')](_0x3ee89a)['send'](_0x53c380);};}exports[_0x9b7f('0x2a')]=function(_0x40b9f0,_0xd4c21b){var _0x35ffb4={},_0x5c7024={},_0x1dc8b6={'count':0x0,'rows':[]};var _0x433a53=db[_0x9b7f('0x2b')]['rawAttributes'];_0x5c7024[_0x9b7f('0x2c')]=_['keys'](_0x433a53);_0x5c7024['query']=_[_0x9b7f('0x2d')](_0x40b9f0[_0x9b7f('0x2e')]);_0x5c7024[_0x9b7f('0x2f')]=_['intersection'](_0x5c7024[_0x9b7f('0x2c')],_0x5c7024[_0x9b7f('0x2e')]);_0x35ffb4[_0x9b7f('0x30')]=_['intersection'](_0x5c7024[_0x9b7f('0x2c')],qs[_0x9b7f('0x31')](_0x40b9f0[_0x9b7f('0x2e')][_0x9b7f('0x31')]));_0x35ffb4[_0x9b7f('0x30')]=_0x35ffb4[_0x9b7f('0x30')][_0x9b7f('0x32')]?_0x35ffb4[_0x9b7f('0x30')]:_0x5c7024['model'];if(!_0x40b9f0[_0x9b7f('0x2e')][_0x9b7f('0x33')](_0x9b7f('0x34'))){_0x35ffb4[_0x9b7f('0x1f')]=qs[_0x9b7f('0x1f')](_0x40b9f0[_0x9b7f('0x2e')][_0x9b7f('0x1f')]);_0x35ffb4[_0x9b7f('0x1e')]=qs[_0x9b7f('0x1e')](_0x40b9f0[_0x9b7f('0x2e')]['offset']);}_0x35ffb4[_0x9b7f('0x35')]=qs[_0x9b7f('0x36')](_0x40b9f0['query']['sort']);_0x35ffb4['where']=qs[_0x9b7f('0x2f')](_[_0x9b7f('0x37')](_0x40b9f0[_0x9b7f('0x2e')],_0x5c7024['filters']));if(_0x40b9f0[_0x9b7f('0x2e')][_0x9b7f('0x38')]){_0x35ffb4[_0x9b7f('0x39')]=_[_0x9b7f('0x3a')](_0x35ffb4[_0x9b7f('0x39')],{'$or':_[_0x9b7f('0x3b')](_0x433a53,function(_0x2b13a2){if(_0x2b13a2[_0x9b7f('0x3c')][_0x9b7f('0x3d')]!==_0x9b7f('0x3e')){var _0xb0bbf8={};_0xb0bbf8[_0x2b13a2[_0x9b7f('0x3f')]]={'$like':'%'+_0x40b9f0['query'][_0x9b7f('0x38')]+'%'};return _0xb0bbf8;}})});}_0x35ffb4=_[_0x9b7f('0x3a')]({},_0x35ffb4,_0x40b9f0['options']);var _0x164bae={'where':_0x35ffb4[_0x9b7f('0x39')]};return db[_0x9b7f('0x2b')]['count'](_0x164bae)[_0x9b7f('0x24')](function(_0x32ee93){_0x1dc8b6[_0x9b7f('0x1d')]=_0x32ee93;if(_0x40b9f0[_0x9b7f('0x2e')][_0x9b7f('0x40')]){_0x35ffb4[_0x9b7f('0x41')]=[{'all':!![]}];}return db[_0x9b7f('0x2b')]['findAll'](_0x35ffb4);})[_0x9b7f('0x24')](function(_0x3bd09f){_0x1dc8b6[_0x9b7f('0x42')]=_0x3bd09f;return _0x1dc8b6;})[_0x9b7f('0x24')](respondWithFilteredResult(_0xd4c21b,_0x35ffb4))[_0x9b7f('0x43')](handleError(_0xd4c21b,null));};exports[_0x9b7f('0x44')]=function(_0x39d6cb,_0x2a14a2){var _0x13c924={'raw':!![],'where':{'id':_0x39d6cb[_0x9b7f('0x45')]['id']}},_0x284128={};_0x284128[_0x9b7f('0x2c')]=_[_0x9b7f('0x2d')](db[_0x9b7f('0x2b')][_0x9b7f('0x46')]);_0x284128[_0x9b7f('0x2e')]=_[_0x9b7f('0x2d')](_0x39d6cb[_0x9b7f('0x2e')]);_0x284128[_0x9b7f('0x2f')]=_[_0x9b7f('0x47')](_0x284128['model'],_0x284128[_0x9b7f('0x2e')]);_0x13c924[_0x9b7f('0x30')]=_[_0x9b7f('0x47')](_0x284128[_0x9b7f('0x2c')],qs['fields'](_0x39d6cb[_0x9b7f('0x2e')]['fields']));_0x13c924[_0x9b7f('0x30')]=_0x13c924['attributes'][_0x9b7f('0x32')]?_0x13c924[_0x9b7f('0x30')]:_0x284128[_0x9b7f('0x2c')];if(_0x39d6cb[_0x9b7f('0x2e')][_0x9b7f('0x40')]){_0x13c924[_0x9b7f('0x41')]=[{'all':!![]}];}_0x13c924=_[_0x9b7f('0x3a')]({},_0x13c924,_0x39d6cb['options']);return db[_0x9b7f('0x2b')][_0x9b7f('0x48')](_0x13c924)[_0x9b7f('0x24')](handleEntityNotFound(_0x2a14a2,null))[_0x9b7f('0x24')](respondWithResult(_0x2a14a2,null))[_0x9b7f('0x43')](handleError(_0x2a14a2,null));};exports[_0x9b7f('0x49')]=function(_0x58a7d7,_0x39340d,_0xec4c4a){return db[_0x9b7f('0x2b')][_0x9b7f('0x48')]({'where':{'id':_0x58a7d7[_0x9b7f('0x45')]['id']},'attributes':[_0x9b7f('0x29'),_0x9b7f('0x4a'),_0x9b7f('0x4b')],'raw':!![]})[_0x9b7f('0x24')](handleEntityNotFound(_0x39340d,null))[_0x9b7f('0x24')](function(_0x1602ee){if(_0x1602ee){if(!fs[_0x9b7f('0x4c')](path[_0x9b7f('0x4d')](config[_0x9b7f('0x4e')],_0x9b7f('0x4f'),_0x1602ee['save_name']+'.'+_0x1602ee[_0x9b7f('0x4b')]))){throw new db[(_0x9b7f('0x50'))]['ValidationError'](_0x9b7f('0x51'));}return _0x39340d[_0x9b7f('0x49')](path['join'](config[_0x9b7f('0x4e')],_0x9b7f('0x4f'),util[_0x9b7f('0x52')](_0x9b7f('0x53'),_0x1602ee[_0x9b7f('0x4a')],_0x1602ee['converted_format'])),util['format']('%s.%s',_0x1602ee[_0x9b7f('0x29')],_0x1602ee[_0x9b7f('0x4b')]));}return null;})['catch'](handleError(_0x39340d,null));};exports[_0x9b7f('0x54')]=function(_0xdc9cb7,_0x2929b9,_0x556213){var _0x31f4f7={'name':path[_0x9b7f('0x55')](_0xdc9cb7['file'][_0x9b7f('0x56')],path[_0x9b7f('0x57')](_0xdc9cb7[_0x9b7f('0x58')][_0x9b7f('0x56')])),'save_name':path[_0x9b7f('0x55')](_0xdc9cb7['file']['filename'],path[_0x9b7f('0x57')](_0xdc9cb7['file'][_0x9b7f('0x59')])),'original_format':path[_0x9b7f('0x57')](_0xdc9cb7[_0x9b7f('0x58')][_0x9b7f('0x56')])[_0x9b7f('0x5a')](0x1),'converted_format':_0x9b7f('0x5b')};var _0x2e0eb8=path[_0x9b7f('0x4d')](config[_0x9b7f('0x4e')],_0x9b7f('0x5c'),_0xdc9cb7['file'][_0x9b7f('0x59')]);var _0x213fb1=path['join'](config['root'],_0x9b7f('0x4f'),util[_0x9b7f('0x52')](_0x9b7f('0x53'),path[_0x9b7f('0x55')](_0xdc9cb7[_0x9b7f('0x58')]['filename'],path[_0x9b7f('0x57')](_0xdc9cb7[_0x9b7f('0x58')][_0x9b7f('0x59')])),_0x31f4f7[_0x9b7f('0x4b')]));logger[_0x9b7f('0x5d')](_0x9b7f('0x5e'),_0x2e0eb8);logger[_0x9b7f('0x5d')]('Sound\x20upload\x20destination:\x20%s',_0x213fb1);try{fs['chmodSync'](_0x2e0eb8,parseInt(_0x9b7f('0x5f'),0x8));var _0xa875f6=sox[_0x9b7f('0x60')](_0x2e0eb8,_0x213fb1,{'sampleRate':0x1f40,'format':'wav','channelCount':0x1,'bitRate':0xc0*0x400,'compressionQuality':0x5});_0xa875f6['on'](_0x9b7f('0x27'),function(_0x389138){fs[_0x9b7f('0x61')](_0x2e0eb8);_0x2929b9[_0x9b7f('0x1a')](0x1f4)[_0x9b7f('0x62')](_0x389138);});_0xa875f6['on'](_0x9b7f('0x63'),function(_0x293218){_0x31f4f7[_0x9b7f('0x64')]=isNaN(_0x293218[_0x9b7f('0x65')])?null:_0x293218[_0x9b7f('0x65')]*0x3e8;_0x31f4f7['original_sampleCount']=isNaN(_0x293218[_0x9b7f('0x66')])?null:_0x293218[_0x9b7f('0x66')];_0x31f4f7[_0x9b7f('0x67')]=isNaN(_0x293218[_0x9b7f('0x68')])?null:_0x293218[_0x9b7f('0x68')];_0x31f4f7[_0x9b7f('0x69')]=isNaN(_0x293218[_0x9b7f('0x6a')])?null:_0x293218[_0x9b7f('0x6a')];_0x31f4f7[_0x9b7f('0x6b')]=isNaN(_0x293218[_0x9b7f('0x6c')])?null:_0x293218['sampleRate'];});_0xa875f6['on']('dest',function(_0x480ad5){_0x31f4f7[_0x9b7f('0x6d')]=isNaN(_0x480ad5[_0x9b7f('0x65')])?null:_0x480ad5[_0x9b7f('0x65')]*0x3e8;_0x31f4f7[_0x9b7f('0x6e')]=isNaN(_0x480ad5[_0x9b7f('0x66')])?null:_0x480ad5[_0x9b7f('0x66')];_0x31f4f7[_0x9b7f('0x6f')]=isNaN(_0x480ad5[_0x9b7f('0x68')])?null:_0x480ad5[_0x9b7f('0x68')];_0x31f4f7[_0x9b7f('0x70')]=isNaN(_0x480ad5['bitRate'])?null:_0x480ad5[_0x9b7f('0x6a')];_0x31f4f7[_0x9b7f('0x71')]=isNaN(_0x480ad5[_0x9b7f('0x6c')])?null:_0x480ad5[_0x9b7f('0x6c')];});_0xa875f6['on'](_0x9b7f('0x1b'),function(){fs[_0x9b7f('0x72')](_0x213fb1,parseInt(_0x9b7f('0x5f'),0x8));return db[_0x9b7f('0x2b')]['create'](_0x31f4f7)[_0x9b7f('0x24')](function(_0x3a2e50){var _0x24a4e4={'role':_0xdc9cb7[_0x9b7f('0x73')]['role'],'userProfileId':_0xdc9cb7[_0x9b7f('0x73')]['userProfileId']};if(!_0x24a4e4)throw new Error(_0x9b7f('0x74'));if(_0x24a4e4[_0x9b7f('0x75')]===_0x9b7f('0x76')){var _0x178a55=_0x3a2e50[_0x9b7f('0x77')]({'plain':!![]});return db[_0x9b7f('0x78')][_0x9b7f('0x48')]({'where':{'name':_0x9b7f('0x79'),'userProfileId':_0x24a4e4['userProfileId']},'raw':!![]})['then'](function(_0x47cce2){if(_0x47cce2&&_0x47cce2[_0x9b7f('0x7a')]===0x0){return db[_0x9b7f('0x26')][_0x9b7f('0x54')]({'name':_0x178a55['name'],'resourceId':_0x178a55['id'],'type':_0x47cce2[_0x9b7f('0x29')],'sectionId':_0x47cce2['id']},{})[_0x9b7f('0x24')](function(){return _0x3a2e50;});}else{return _0x3a2e50;}})[_0x9b7f('0x43')](function(_0x17158e){logger[_0x9b7f('0x27')](_0x9b7f('0x7b'),_0x17158e);throw _0x17158e;});}return _0x3a2e50;})[_0x9b7f('0x24')](respondWithResult(_0x2929b9,null))[_0x9b7f('0x43')](handleError(_0x2929b9,null));});_0xa875f6[_0x9b7f('0x7c')]();}catch(_0x348b27){_0x2929b9['status'](0x1f4)[_0x9b7f('0x62')](_0x348b27);}};exports['update']=function(_0x59408b,_0x1c69f4,_0x4cde89){return db[_0x9b7f('0x2b')]['find']({'where':{'id':_0x59408b[_0x9b7f('0x45')]['id']}})['then'](handleEntityNotFound(_0x1c69f4,null))[_0x9b7f('0x24')](saveUpdates(_[_0x9b7f('0x37')](_0x59408b[_0x9b7f('0x73')],[_0x9b7f('0x29'),_0x9b7f('0x7d')]),null))[_0x9b7f('0x24')](respondWithResult(_0x1c69f4,null))['catch'](handleError(_0x1c69f4,null));};exports['delete']=function(_0x5700ab,_0x30f1fd,_0x193c1f){return db['Sound'][_0x9b7f('0x48')]({'where':{'id':_0x5700ab['params']['id']}})['then'](function(_0x3c4b62){if(_0x3c4b62){return _0x3c4b62[_0x9b7f('0x25')]();}})[_0x9b7f('0x24')](function(_0x17d5a6){var _0x320200=path['join'](config[_0x9b7f('0x4e')],_0x9b7f('0x5c'),util[_0x9b7f('0x52')](_0x9b7f('0x53'),_0x17d5a6[_0x9b7f('0x4a')],_0x17d5a6[_0x9b7f('0x7e')]));var _0x4c781a=path['join'](config[_0x9b7f('0x4e')],_0x9b7f('0x4f'),util[_0x9b7f('0x52')](_0x9b7f('0x53'),_0x17d5a6[_0x9b7f('0x4a')],_0x17d5a6['converted_format']));fs[_0x9b7f('0x61')](_0x320200);fs[_0x9b7f('0x61')](_0x4c781a);return _0x17d5a6;})[_0x9b7f('0x24')](function(_0x5a80c5){if(_0x5a80c5){return _0x30f1fd['status'](0xcc)[_0x9b7f('0x1b')]();}})['then'](handleEntityNotFound(_0x30f1fd,null))[_0x9b7f('0x43')](handleError(_0x30f1fd,null));};