Built motion from commit (unavailable).|2.5.7
[motion2.git] / server / api / voiceMusicOnHold / voiceMusicOnHold.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 _0x78e9=['count','include','findAll','rows','catch','params','options','find','update','body','create','sequelize','transaction','mode','files','directory','root','mkdirSync','0777','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','forEach','join','rmdirSync','Sequelize','ValidationError','message','addSound','Sound','save_name','createdAt','server/files/sounds/converted','format','%s.%s','basename','converted_format','symlinkSync','removeSound','findOne','id2','unlinkSync','getSounds','order','hasOwnProperty','html-pdf','eml-format','fast-json-patch','request-promise','bluebird','mustache','sox','to-csv','lodash','squel','crypto','desk.js','papaparse','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','end','offset','limit','status','Content-Range','apply','save','then','get','MusicOnHolds','UserProfileResource','destroy','stack','name','send','index','map','rawAttributes','fieldName','type','key','model','query','keys','intersection','attributes','fields','length','nolimit','sort','filters','pick','filter','where','merge','VoiceMusicOnHold'];(function(_0x2d743c,_0x490451){var _0x32c6af=function(_0x26fa96){while(--_0x26fa96){_0x2d743c['push'](_0x2d743c['shift']());}};_0x32c6af(++_0x490451);}(_0x78e9,0x16b));var _0x978e=function(_0x5168ea,_0x4df786){_0x5168ea=_0x5168ea-0x0;var _0x6af326=_0x78e9[_0x5168ea];return _0x6af326;};'use strict';var pdf=require(_0x978e('0x0'));var emlformat=require(_0x978e('0x1'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x978e('0x2'));var rp=require(_0x978e('0x3'));var moment=require('moment');var BPromise=require(_0x978e('0x4'));var Mustache=require(_0x978e('0x5'));var util=require('util');var path=require('path');var sox=require(_0x978e('0x6'));var csv=require(_0x978e('0x7'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x978e('0x8'));var squel=require(_0x978e('0x9'));var crypto=require(_0x978e('0xa'));var jsforce=require('jsforce');var deskjs=require(_0x978e('0xb'));var toCsv=require(_0x978e('0x7'));var querystring=require('querystring');var Papa=require(_0x978e('0xc'));var Redis=require('ioredis');var authService=require(_0x978e('0xd'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x978e('0xe'));var logger=require(_0x978e('0xf'))(_0x978e('0x10'));var utils=require(_0x978e('0x11'));var config=require(_0x978e('0x12'));var licenseUtil=require('../../config/license/util');var db=require(_0x978e('0x13'))['db'];function respondWithStatusCode(_0x4e68b2,_0x528cfc){_0x528cfc=_0x528cfc||0xcc;return function(_0x589830){if(_0x589830){return _0x4e68b2[_0x978e('0x14')](_0x528cfc);}return _0x4e68b2['status'](_0x528cfc)[_0x978e('0x15')]();};}function respondWithResult(_0x296185,_0x34b460){_0x34b460=_0x34b460||0xc8;return function(_0x4670ab){if(_0x4670ab){return _0x296185['status'](_0x34b460)['json'](_0x4670ab);}};}function respondWithFilteredResult(_0x2cec25,_0x6c86c2){return function(_0x486315){if(_0x486315){var _0x5376d1=_0x486315['count'],_0x300ab1=_0x6c86c2[_0x978e('0x16')],_0x3aaf25=_0x6c86c2['offset']+_0x6c86c2[_0x978e('0x17')],_0xaef54f;if(_0x3aaf25>=_0x5376d1){_0x3aaf25=_0x5376d1;_0xaef54f=0xc8;}else{_0xaef54f=0xce;}_0x2cec25[_0x978e('0x18')](_0xaef54f);return _0x2cec25['set'](_0x978e('0x19'),_0x300ab1+'-'+_0x3aaf25+'/'+_0x5376d1)['json'](_0x486315);}return null;};}function patchUpdates(_0x2bb3d9){return function(_0x12d325){try{jsonpatch[_0x978e('0x1a')](_0x12d325,_0x2bb3d9,!![]);}catch(_0x18f456){return BPromise['reject'](_0x18f456);}return _0x12d325[_0x978e('0x1b')]();};}function saveUpdates(_0x5a5685,_0x5dd0a2){return function(_0x82875c){if(_0x82875c){return _0x82875c['update'](_0x5a5685)[_0x978e('0x1c')](function(_0x585865){return _0x585865;});}return null;};}function removeEntity(_0x5b35da,_0x2f6c6c){return function(_0x5177d5){if(_0x5177d5){return _0x5177d5['destroy']()['then'](function(){var _0x3e78d4=_0x5177d5[_0x978e('0x1d')]({'plain':!![]});var _0x3f4256=_0x978e('0x1e');return db[_0x978e('0x1f')][_0x978e('0x20')]({'where':{'type':_0x3f4256,'resourceId':_0x3e78d4['id']}})['then'](function(){return _0x5177d5;});})[_0x978e('0x1c')](function(){_0x5b35da[_0x978e('0x18')](0xcc)[_0x978e('0x15')]();});}};}function handleEntityNotFound(_0x173220,_0x56805c){return function(_0x4e928d){if(!_0x4e928d){_0x173220['sendStatus'](0x194);}return _0x4e928d;};}function handleError(_0x2a1add,_0x1f369a){_0x1f369a=_0x1f369a||0x1f4;return function(_0x2aba14){logger['error'](_0x2aba14[_0x978e('0x21')]);if(_0x2aba14[_0x978e('0x22')]){delete _0x2aba14[_0x978e('0x22')];}_0x2a1add['status'](_0x1f369a)[_0x978e('0x23')](_0x2aba14);};}exports[_0x978e('0x24')]=function(_0x3689a4,_0x4aaeed){var _0x4cb0df={},_0x3c27b7={},_0x337795={'count':0x0,'rows':[]};var _0x304ea8=_[_0x978e('0x25')](db['VoiceMusicOnHold'][_0x978e('0x26')],function(_0x6ed222){return{'name':_0x6ed222[_0x978e('0x27')],'type':_0x6ed222[_0x978e('0x28')][_0x978e('0x29')]};});_0x3c27b7[_0x978e('0x2a')]=_['map'](_0x304ea8,'name');_0x3c27b7[_0x978e('0x2b')]=_[_0x978e('0x2c')](_0x3689a4[_0x978e('0x2b')]);_0x3c27b7['filters']=_[_0x978e('0x2d')](_0x3c27b7['model'],_0x3c27b7[_0x978e('0x2b')]);_0x4cb0df[_0x978e('0x2e')]=_[_0x978e('0x2d')](_0x3c27b7[_0x978e('0x2a')],qs[_0x978e('0x2f')](_0x3689a4[_0x978e('0x2b')][_0x978e('0x2f')]));_0x4cb0df[_0x978e('0x2e')]=_0x4cb0df[_0x978e('0x2e')][_0x978e('0x30')]?_0x4cb0df[_0x978e('0x2e')]:_0x3c27b7[_0x978e('0x2a')];if(!_0x3689a4[_0x978e('0x2b')]['hasOwnProperty'](_0x978e('0x31'))){_0x4cb0df['limit']=qs[_0x978e('0x17')](_0x3689a4[_0x978e('0x2b')][_0x978e('0x17')]);_0x4cb0df['offset']=qs[_0x978e('0x16')](_0x3689a4[_0x978e('0x2b')][_0x978e('0x16')]);}_0x4cb0df['order']=qs[_0x978e('0x32')](_0x3689a4['query']['sort']);_0x4cb0df['where']=qs[_0x978e('0x33')](_[_0x978e('0x34')](_0x3689a4[_0x978e('0x2b')],_0x3c27b7[_0x978e('0x33')]),_0x304ea8);if(_0x3689a4[_0x978e('0x2b')][_0x978e('0x35')]){_0x4cb0df[_0x978e('0x36')]=_[_0x978e('0x37')](_0x4cb0df[_0x978e('0x36')],{'$or':_[_0x978e('0x25')](_0x304ea8,function(_0x358893){if(_0x358893[_0x978e('0x28')]!=='VIRTUAL'){var _0x3b9f59={};_0x3b9f59[_0x358893['name']]={'$like':'%'+_0x3689a4['query'][_0x978e('0x35')]+'%'};return _0x3b9f59;}})});}_0x4cb0df=_[_0x978e('0x37')]({},_0x4cb0df,_0x3689a4['options']);var _0x3d5679={'where':_0x4cb0df[_0x978e('0x36')]};return db[_0x978e('0x38')][_0x978e('0x39')](_0x3d5679)[_0x978e('0x1c')](function(_0x2d889b){_0x337795['count']=_0x2d889b;if(_0x3689a4[_0x978e('0x2b')]['includeAll']){_0x4cb0df[_0x978e('0x3a')]=[{'all':!![]}];}return db[_0x978e('0x38')][_0x978e('0x3b')](_0x4cb0df);})[_0x978e('0x1c')](function(_0x5f04a9){_0x337795[_0x978e('0x3c')]=_0x5f04a9;return _0x337795;})['then'](respondWithFilteredResult(_0x4aaeed,_0x4cb0df))[_0x978e('0x3d')](handleError(_0x4aaeed,null));};exports['show']=function(_0x3170c0,_0x1cf8d8){var _0x20882c={'raw':![],'where':{'id':_0x3170c0[_0x978e('0x3e')]['id']}},_0x1f7da1={};_0x1f7da1[_0x978e('0x2a')]=_['keys'](db[_0x978e('0x38')]['rawAttributes']);_0x1f7da1[_0x978e('0x2b')]=_[_0x978e('0x2c')](_0x3170c0[_0x978e('0x2b')]);_0x1f7da1[_0x978e('0x33')]=_[_0x978e('0x2d')](_0x1f7da1[_0x978e('0x2a')],_0x1f7da1[_0x978e('0x2b')]);_0x20882c[_0x978e('0x2e')]=_['intersection'](_0x1f7da1[_0x978e('0x2a')],qs[_0x978e('0x2f')](_0x3170c0[_0x978e('0x2b')][_0x978e('0x2f')]));_0x20882c[_0x978e('0x2e')]=_0x20882c['attributes'][_0x978e('0x30')]?_0x20882c[_0x978e('0x2e')]:_0x1f7da1[_0x978e('0x2a')];if(_0x3170c0[_0x978e('0x2b')]['includeAll']){_0x20882c[_0x978e('0x3a')]=[{'all':!![]}];}_0x20882c=_['merge']({},_0x20882c,_0x3170c0[_0x978e('0x3f')]);return db[_0x978e('0x38')][_0x978e('0x40')](_0x20882c)['then'](handleEntityNotFound(_0x1cf8d8,null))[_0x978e('0x1c')](respondWithResult(_0x1cf8d8,null))[_0x978e('0x3d')](handleError(_0x1cf8d8,null));};exports[_0x978e('0x41')]=function(_0x3229ea,_0x220903){if(_0x3229ea[_0x978e('0x42')]['id']){delete _0x3229ea[_0x978e('0x42')]['id'];}return db[_0x978e('0x38')][_0x978e('0x40')]({'where':{'id':_0x3229ea[_0x978e('0x3e')]['id']}})[_0x978e('0x1c')](handleEntityNotFound(_0x220903,null))[_0x978e('0x1c')](saveUpdates(_0x3229ea[_0x978e('0x42')],null))['then'](respondWithResult(_0x220903,null))[_0x978e('0x3d')](handleError(_0x220903,null));};exports[_0x978e('0x43')]=function(_0x4123cb,_0x58018e,_0x3b0c6c){return db[_0x978e('0x44')][_0x978e('0x45')](function(_0x1e482a){if(_0x4123cb['body'][_0x978e('0x46')]===_0x978e('0x47')){_0x4123cb[_0x978e('0x42')][_0x978e('0x48')]=path['join'](config[_0x978e('0x49')],'server/files/moh',_0x4123cb[_0x978e('0x42')][_0x978e('0x22')]);}return db['VoiceMusicOnHold']['create'](_0x4123cb['body'],{'transaction':_0x1e482a})['then'](function(_0x981e37){if(_0x4123cb['body']['mode']===_0x978e('0x47')){fs[_0x978e('0x4a')](_0x981e37[_0x978e('0x48')],parseInt(_0x978e('0x4b'),0x8));}var _0xeeb83c=_0x4123cb[_0x978e('0x4c')][_0x978e('0x1d')]({'plain':!![]});if(!_0xeeb83c)throw new Error(_0x978e('0x4d'));if(_0xeeb83c[_0x978e('0x4e')]===_0x978e('0x4c')){var _0x3fe026=_0x981e37[_0x978e('0x1d')]({'plain':!![]});return db['UserProfileSection'][_0x978e('0x40')]({'where':{'name':_0x978e('0x1e'),'userProfileId':_0xeeb83c[_0x978e('0x4f')]},'raw':!![]})[_0x978e('0x1c')](function(_0x23590a){if(_0x23590a&&_0x23590a['autoAssociation']===0x0){return db[_0x978e('0x1f')][_0x978e('0x43')]({'name':_0x3fe026[_0x978e('0x22')],'resourceId':_0x3fe026['id'],'type':_0x23590a[_0x978e('0x22')],'sectionId':_0x23590a['id']},{})[_0x978e('0x1c')](function(){return _0x981e37;});}else{return _0x981e37;}})[_0x978e('0x3d')](function(_0x29fbc2){logger[_0x978e('0x50')](_0x978e('0x51'),_0x29fbc2);});}return _0x981e37;});})[_0x978e('0x1c')](respondWithResult(_0x58018e,0xc9))[_0x978e('0x3d')](handleError(_0x58018e,null));};exports[_0x978e('0x20')]=function(_0x870347,_0x4ea23f,_0x35c9bb){var _0x1ee551;return db[_0x978e('0x38')]['find']({'where':{'id':_0x870347[_0x978e('0x3e')]['id']}})['then'](function(_0x4fdbf1){if(_0x4fdbf1){return db[_0x978e('0x44')][_0x978e('0x45')](function(_0x24bd27){return _0x4fdbf1[_0x978e('0x20')]({'transaction':_0x24bd27,'raw':!![]})['then'](function(_0x2bc256){if(_0x2bc256[_0x978e('0x48')]){fs['readdirSync'](_0x2bc256[_0x978e('0x48')])[_0x978e('0x52')](function(_0x521cb9){fs['unlinkSync'](path[_0x978e('0x53')](_0x2bc256['directory'],_0x521cb9));});fs[_0x978e('0x54')](_0x2bc256[_0x978e('0x48')]);}return _0x2bc256;});})[_0x978e('0x3d')](function(_0x2929c4){throw new db[(_0x978e('0x55'))][(_0x978e('0x56'))](_0x2929c4[_0x978e('0x57')]);});}})['then'](handleEntityNotFound(_0x4ea23f,null))[_0x978e('0x1c')](removeEntity(_0x4ea23f,null))[_0x978e('0x3d')](handleError(_0x4ea23f,null));};exports[_0x978e('0x58')]=function(_0x3aee70,_0x5d6820,_0x2efe02){return db[_0x978e('0x44')]['transaction'](function(_0x5ea246){var _0x4d7da9;return db['VoiceMusicOnHold']['find']({'where':{'id':_0x3aee70[_0x978e('0x3e')]['id']}})[_0x978e('0x1c')](function(_0x762b78){if(_0x762b78){_0x4d7da9=_0x762b78;return _0x762b78[_0x978e('0x58')](_0x3aee70[_0x978e('0x42')]['id'],{'transaction':_0x5ea246});}})[_0x978e('0x1c')](function(_0x487b68){if(_0x487b68){return db[_0x978e('0x59')]['findOne']({'where':{'id':_0x3aee70[_0x978e('0x42')]['id']},'attributes':['id',_0x978e('0x22'),_0x978e('0x5a'),'converted_format',_0x978e('0x5b')],'raw':!![]});}})[_0x978e('0x1c')](function(_0x14a58b){if(_0x14a58b){var _0x348523=path[_0x978e('0x53')](config[_0x978e('0x49')],_0x978e('0x5c'),util[_0x978e('0x5d')](_0x978e('0x5e'),path[_0x978e('0x5f')](_0x14a58b['save_name'],path['extname'](_0x14a58b['save_name'])),_0x14a58b['converted_format']));var _0x33aff8=path[_0x978e('0x53')](config[_0x978e('0x49')],'server/files/moh',_0x4d7da9['name'],util[_0x978e('0x5d')](_0x978e('0x5e'),_0x14a58b[_0x978e('0x22')],_0x14a58b[_0x978e('0x60')]));fs[_0x978e('0x61')](_0x348523,_0x33aff8);return _0x14a58b;}})[_0x978e('0x3d')](function(_0x5e74b5){throw new db['Sequelize'][(_0x978e('0x56'))](_0x5e74b5[_0x978e('0x57')]);});})[_0x978e('0x1c')](handleEntityNotFound(_0x5d6820,null))[_0x978e('0x1c')](respondWithResult(_0x5d6820,0xc9))[_0x978e('0x3d')](handleError(_0x5d6820,null));};exports[_0x978e('0x62')]=function(_0x33b72c,_0x1087c7,_0x355513){return db['sequelize']['transaction'](function(_0x1b94f8){var _0x49ad5c;return db[_0x978e('0x38')][_0x978e('0x63')]({'where':{'id':_0x33b72c[_0x978e('0x3e')]['id']}})[_0x978e('0x1c')](handleEntityNotFound(_0x1087c7,null))[_0x978e('0x1c')](function(_0x484ba0){if(_0x484ba0){_0x49ad5c=_0x484ba0;return _0x484ba0['removeSound'](_0x33b72c[_0x978e('0x3e')]['id2']);}})[_0x978e('0x1c')](function(_0x18ce16){if(_0x18ce16){return db['Sound'][_0x978e('0x63')]({'where':{'id':_0x33b72c[_0x978e('0x3e')][_0x978e('0x64')]},'attributes':['id','name',_0x978e('0x5a'),_0x978e('0x60'),_0x978e('0x5b')],'raw':!![]});}})[_0x978e('0x1c')](function(_0x5e7d96){if(_0x5e7d96){fs[_0x978e('0x65')](path[_0x978e('0x53')](_0x49ad5c[_0x978e('0x48')],util[_0x978e('0x5d')]('%s.%s',_0x5e7d96[_0x978e('0x22')],_0x5e7d96[_0x978e('0x60')])));return _0x5e7d96;}})[_0x978e('0x3d')](function(_0x5b37da){throw new db[(_0x978e('0x55'))]['ValidationError'](_0x5b37da[_0x978e('0x57')]);});})['then'](handleEntityNotFound(_0x1087c7,null))['then'](respondWithStatusCode(_0x1087c7,0xcc))[_0x978e('0x3d')](handleError(_0x1087c7,null));};exports[_0x978e('0x66')]=function(_0x317219,_0xb29173,_0x396f06){var _0x13612b={};var _0x4702d5={};var _0xa2becd;var _0x41c829;return db[_0x978e('0x38')]['findOne']({'where':{'id':_0x317219['params']['id']}})[_0x978e('0x1c')](handleEntityNotFound(_0xb29173,null))['then'](function(_0x58e2c8){if(_0x58e2c8){_0xa2becd=_0x58e2c8;_0x4702d5[_0x978e('0x2a')]=_[_0x978e('0x2c')](db['Sound'][_0x978e('0x26')]);_0x4702d5[_0x978e('0x2b')]=_[_0x978e('0x2c')](_0x317219[_0x978e('0x2b')]);_0x4702d5['filters']=_[_0x978e('0x2d')](_0x4702d5[_0x978e('0x2a')],_0x4702d5['query']);_0x13612b[_0x978e('0x2e')]=_[_0x978e('0x2d')](_0x4702d5[_0x978e('0x2a')],qs[_0x978e('0x2f')](_0x317219[_0x978e('0x2b')][_0x978e('0x2f')]));_0x13612b['attributes']=_0x13612b['attributes'][_0x978e('0x30')]?_0x13612b[_0x978e('0x2e')]:_0x4702d5[_0x978e('0x2a')];_0x13612b[_0x978e('0x67')]=qs[_0x978e('0x32')](_0x317219['query']['sort']);_0x13612b[_0x978e('0x36')]=qs[_0x978e('0x33')](_['pick'](_0x317219[_0x978e('0x2b')],_0x4702d5[_0x978e('0x33')]));if(_0x317219['query'][_0x978e('0x35')]){_0x13612b['where']=_['merge'](_0x13612b[_0x978e('0x36')],{'$or':_[_0x978e('0x25')](_0x13612b[_0x978e('0x2e')],function(_0x5a9c13){var _0x4521f1={};_0x4521f1[_0x5a9c13]={'$like':'%'+_0x317219[_0x978e('0x2b')][_0x978e('0x35')]+'%'};return _0x4521f1;})});}_0x13612b=_[_0x978e('0x37')]({},_0x13612b,_0x317219[_0x978e('0x3f')]);return _0xa2becd[_0x978e('0x66')](_0x13612b);}})[_0x978e('0x1c')](function(_0x32ade5){if(_0x32ade5){_0x41c829=_0x32ade5[_0x978e('0x30')];if(!_0x317219['query'][_0x978e('0x68')]('nolimit')){_0x13612b['limit']=qs['limit'](_0x317219['query'][_0x978e('0x17')]);_0x13612b[_0x978e('0x16')]=qs[_0x978e('0x16')](_0x317219[_0x978e('0x2b')][_0x978e('0x16')]);}return _0xa2becd['getSounds'](_0x13612b);}})[_0x978e('0x1c')](function(_0x4c4bcd){if(_0x4c4bcd){return _0x4c4bcd?{'count':_0x41c829,'rows':_0x4c4bcd}:null;}})[_0x978e('0x1c')](respondWithResult(_0xb29173,null))[_0x978e('0x3d')](handleError(_0xb29173,null));};