Built motion from commit 9d1906d1.|2.5.40
[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 _0xe587=['to-csv','querystring','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','status','end','json','offset','limit','count','Content-Range','apply','reject','save','update','destroy','then','get','MusicOnHolds','UserProfileResource','sendStatus','error','name','send','rawAttributes','fieldName','type','key','map','keys','query','filters','intersection','model','fields','attributes','hasOwnProperty','order','sort','where','pick','filter','VIRTUAL','merge','options','VoiceMusicOnHold','includeAll','include','findAll','rows','catch','show','length','find','body','params','create','sequelize','transaction','mode','directory','join','root','files','mkdirSync','0777','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','unlinkSync','Sequelize','ValidationError','addSound','Sound','save_name','converted_format','createdAt','server/files/sounds/converted','%s.%s','extname','server/files/moh','format','symlinkSync','message','removeSound','findOne','nolimit','getSounds','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','ejs','fs-extra','lodash','crypto','jsforce'];(function(_0x321bb2,_0x202794){var _0x9c12ed=function(_0x263dd3){while(--_0x263dd3){_0x321bb2['push'](_0x321bb2['shift']());}};_0x9c12ed(++_0x202794);}(_0xe587,0x1b0));var _0x7e58=function(_0x15a6e8,_0x1bcd01){_0x15a6e8=_0x15a6e8-0x0;var _0x26ca10=_0xe587[_0x15a6e8];return _0x26ca10;};'use strict';var emlformat=require(_0x7e58('0x0'));var rimraf=require(_0x7e58('0x1'));var zipdir=require(_0x7e58('0x2'));var jsonpatch=require(_0x7e58('0x3'));var rp=require(_0x7e58('0x4'));var moment=require(_0x7e58('0x5'));var BPromise=require(_0x7e58('0x6'));var Mustache=require(_0x7e58('0x7'));var util=require(_0x7e58('0x8'));var path=require(_0x7e58('0x9'));var sox=require(_0x7e58('0xa'));var csv=require('to-csv');var ejs=require(_0x7e58('0xb'));var fs=require('fs');var fs_extra=require(_0x7e58('0xc'));var _=require(_0x7e58('0xd'));var squel=require('squel');var crypto=require(_0x7e58('0xe'));var jsforce=require(_0x7e58('0xf'));var deskjs=require('desk.js');var toCsv=require(_0x7e58('0x10'));var querystring=require(_0x7e58('0x11'));var Papa=require('papaparse');var Redis=require(_0x7e58('0x12'));var authService=require(_0x7e58('0x13'));var qs=require('../../components/parsers/qs');var as=require(_0x7e58('0x14'));var hardwareService=require(_0x7e58('0x15'));var logger=require(_0x7e58('0x16'))(_0x7e58('0x17'));var utils=require('../../config/utils');var config=require(_0x7e58('0x18'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x20d65c,_0x504c64){_0x504c64=_0x504c64||0xcc;return function(_0x2529ef){if(_0x2529ef){return _0x20d65c['sendStatus'](_0x504c64);}return _0x20d65c[_0x7e58('0x19')](_0x504c64)[_0x7e58('0x1a')]();};}function respondWithResult(_0x1f7cdb,_0x26f78f){_0x26f78f=_0x26f78f||0xc8;return function(_0x50dfb6){if(_0x50dfb6){return _0x1f7cdb['status'](_0x26f78f)[_0x7e58('0x1b')](_0x50dfb6);}};}function respondWithFilteredResult(_0x53d539,_0x93a92a){return function(_0x4019b7){if(_0x4019b7){var _0x16d3be=typeof _0x93a92a[_0x7e58('0x1c')]==='undefined'&&typeof _0x93a92a[_0x7e58('0x1d')]==='undefined';var _0x2e026a=_0x4019b7[_0x7e58('0x1e')];var _0x4de8e6=_0x16d3be?0x0:_0x93a92a[_0x7e58('0x1c')];var _0x6e61f9=_0x16d3be?_0x4019b7[_0x7e58('0x1e')]:_0x93a92a[_0x7e58('0x1c')]+_0x93a92a[_0x7e58('0x1d')];var _0x2fc5c6;if(_0x6e61f9>=_0x2e026a){_0x6e61f9=_0x2e026a;_0x2fc5c6=0xc8;}else{_0x2fc5c6=0xce;}_0x53d539[_0x7e58('0x19')](_0x2fc5c6);return _0x53d539['set'](_0x7e58('0x1f'),_0x4de8e6+'-'+_0x6e61f9+'/'+_0x2e026a)[_0x7e58('0x1b')](_0x4019b7);}return null;};}function patchUpdates(_0x227871){return function(_0x7892dd){try{jsonpatch[_0x7e58('0x20')](_0x7892dd,_0x227871,!![]);}catch(_0x3ffbde){return BPromise[_0x7e58('0x21')](_0x3ffbde);}return _0x7892dd[_0x7e58('0x22')]();};}function saveUpdates(_0x6650d,_0x284b8c){return function(_0x4e1461){if(_0x4e1461){return _0x4e1461[_0x7e58('0x23')](_0x6650d)['then'](function(_0x3bcdc6){return _0x3bcdc6;});}return null;};}function removeEntity(_0x139b0c,_0x1c582e){return function(_0xab7b68){if(_0xab7b68){return _0xab7b68[_0x7e58('0x24')]()[_0x7e58('0x25')](function(){var _0x346cd4=_0xab7b68[_0x7e58('0x26')]({'plain':!![]});var _0x4a35ce=_0x7e58('0x27');return db[_0x7e58('0x28')][_0x7e58('0x24')]({'where':{'type':_0x4a35ce,'resourceId':_0x346cd4['id']}})[_0x7e58('0x25')](function(){return _0xab7b68;});})[_0x7e58('0x25')](function(){_0x139b0c['status'](0xcc)[_0x7e58('0x1a')]();});}};}function handleEntityNotFound(_0x350773,_0x30055d){return function(_0x27c516){if(!_0x27c516){_0x350773[_0x7e58('0x29')](0x194);}return _0x27c516;};}function handleError(_0xce00d1,_0x6a6120){_0x6a6120=_0x6a6120||0x1f4;return function(_0x57abf6){logger[_0x7e58('0x2a')](_0x57abf6['stack']);if(_0x57abf6[_0x7e58('0x2b')]){delete _0x57abf6['name'];}_0xce00d1[_0x7e58('0x19')](_0x6a6120)[_0x7e58('0x2c')](_0x57abf6);};}exports['index']=function(_0x1f6326,_0x4e708f){var _0x3243b0={},_0x237a8d={},_0x417daa={'count':0x0,'rows':[]};var _0x55fdb8=_['map'](db['VoiceMusicOnHold'][_0x7e58('0x2d')],function(_0x1407d0){return{'name':_0x1407d0[_0x7e58('0x2e')],'type':_0x1407d0[_0x7e58('0x2f')][_0x7e58('0x30')]};});_0x237a8d['model']=_[_0x7e58('0x31')](_0x55fdb8,'name');_0x237a8d['query']=_[_0x7e58('0x32')](_0x1f6326[_0x7e58('0x33')]);_0x237a8d[_0x7e58('0x34')]=_[_0x7e58('0x35')](_0x237a8d[_0x7e58('0x36')],_0x237a8d[_0x7e58('0x33')]);_0x3243b0['attributes']=_['intersection'](_0x237a8d[_0x7e58('0x36')],qs[_0x7e58('0x37')](_0x1f6326[_0x7e58('0x33')][_0x7e58('0x37')]));_0x3243b0[_0x7e58('0x38')]=_0x3243b0['attributes']['length']?_0x3243b0[_0x7e58('0x38')]:_0x237a8d[_0x7e58('0x36')];if(!_0x1f6326['query'][_0x7e58('0x39')]('nolimit')){_0x3243b0['limit']=qs['limit'](_0x1f6326[_0x7e58('0x33')][_0x7e58('0x1d')]);_0x3243b0[_0x7e58('0x1c')]=qs[_0x7e58('0x1c')](_0x1f6326['query'][_0x7e58('0x1c')]);}_0x3243b0[_0x7e58('0x3a')]=qs[_0x7e58('0x3b')](_0x1f6326[_0x7e58('0x33')][_0x7e58('0x3b')]);delete _0x1f6326[_0x7e58('0x33')][_0x7e58('0x3b')];_0x3243b0[_0x7e58('0x3c')]=qs[_0x7e58('0x34')](_[_0x7e58('0x3d')](_0x1f6326[_0x7e58('0x33')],_0x237a8d[_0x7e58('0x34')]),_0x55fdb8);if(_0x1f6326[_0x7e58('0x33')][_0x7e58('0x3e')]){_0x3243b0['where']=_['merge'](_0x3243b0[_0x7e58('0x3c')],{'$or':_[_0x7e58('0x31')](_0x55fdb8,function(_0x91f64b){if(_0x91f64b['type']!==_0x7e58('0x3f')){var _0x4852f8={};_0x4852f8[_0x91f64b[_0x7e58('0x2b')]]={'$like':'%'+_0x1f6326[_0x7e58('0x33')][_0x7e58('0x3e')]+'%'};return _0x4852f8;}})});}_0x3243b0=_[_0x7e58('0x40')]({},_0x3243b0,_0x1f6326[_0x7e58('0x41')]);var _0x2e5199={'where':_0x3243b0[_0x7e58('0x3c')]};return db[_0x7e58('0x42')]['count'](_0x2e5199)['then'](function(_0x31d1ff){_0x417daa[_0x7e58('0x1e')]=_0x31d1ff;if(_0x1f6326[_0x7e58('0x33')][_0x7e58('0x43')]){_0x3243b0[_0x7e58('0x44')]=[{'all':!![]}];}return db['VoiceMusicOnHold'][_0x7e58('0x45')](_0x3243b0);})[_0x7e58('0x25')](function(_0x5ec81b){_0x417daa[_0x7e58('0x46')]=_0x5ec81b;return _0x417daa;})[_0x7e58('0x25')](respondWithFilteredResult(_0x4e708f,_0x3243b0))[_0x7e58('0x47')](handleError(_0x4e708f,null));};exports[_0x7e58('0x48')]=function(_0x96dafb,_0x2dd89b){var _0x4d3669={'raw':![],'where':{'id':_0x96dafb['params']['id']}},_0x89ed22={};_0x89ed22[_0x7e58('0x36')]=_[_0x7e58('0x32')](db[_0x7e58('0x42')][_0x7e58('0x2d')]);_0x89ed22[_0x7e58('0x33')]=_[_0x7e58('0x32')](_0x96dafb[_0x7e58('0x33')]);_0x89ed22[_0x7e58('0x34')]=_[_0x7e58('0x35')](_0x89ed22[_0x7e58('0x36')],_0x89ed22[_0x7e58('0x33')]);_0x4d3669[_0x7e58('0x38')]=_[_0x7e58('0x35')](_0x89ed22[_0x7e58('0x36')],qs[_0x7e58('0x37')](_0x96dafb[_0x7e58('0x33')][_0x7e58('0x37')]));_0x4d3669[_0x7e58('0x38')]=_0x4d3669[_0x7e58('0x38')][_0x7e58('0x49')]?_0x4d3669[_0x7e58('0x38')]:_0x89ed22[_0x7e58('0x36')];if(_0x96dafb[_0x7e58('0x33')][_0x7e58('0x43')]){_0x4d3669[_0x7e58('0x44')]=[{'all':!![]}];}_0x4d3669=_['merge']({},_0x4d3669,_0x96dafb[_0x7e58('0x41')]);return db[_0x7e58('0x42')][_0x7e58('0x4a')](_0x4d3669)[_0x7e58('0x25')](handleEntityNotFound(_0x2dd89b,null))[_0x7e58('0x25')](respondWithResult(_0x2dd89b,null))[_0x7e58('0x47')](handleError(_0x2dd89b,null));};exports[_0x7e58('0x23')]=function(_0x51bbf1,_0x22453d){if(_0x51bbf1[_0x7e58('0x4b')]['id']){delete _0x51bbf1[_0x7e58('0x4b')]['id'];}return db[_0x7e58('0x42')][_0x7e58('0x4a')]({'where':{'id':_0x51bbf1[_0x7e58('0x4c')]['id']}})[_0x7e58('0x25')](handleEntityNotFound(_0x22453d,null))['then'](saveUpdates(_0x51bbf1[_0x7e58('0x4b')],null))[_0x7e58('0x25')](respondWithResult(_0x22453d,null))[_0x7e58('0x47')](handleError(_0x22453d,null));};exports[_0x7e58('0x4d')]=function(_0xf402b1,_0x147b7c,_0x596554){return db[_0x7e58('0x4e')][_0x7e58('0x4f')](function(_0x38e9ef){if(_0xf402b1['body'][_0x7e58('0x50')]==='files'){_0xf402b1[_0x7e58('0x4b')][_0x7e58('0x51')]=path[_0x7e58('0x52')](config[_0x7e58('0x53')],'server/files/moh',_0xf402b1['body']['name']);}return db[_0x7e58('0x42')][_0x7e58('0x4d')](_0xf402b1['body'],{'transaction':_0x38e9ef})[_0x7e58('0x25')](function(_0x5296a3){if(_0xf402b1['body'][_0x7e58('0x50')]===_0x7e58('0x54')){fs[_0x7e58('0x55')](_0x5296a3[_0x7e58('0x51')],parseInt(_0x7e58('0x56'),0x8));}var _0x1bebd6=_0xf402b1[_0x7e58('0x57')]['get']({'plain':!![]});if(!_0x1bebd6)throw new Error(_0x7e58('0x58'));if(_0x1bebd6[_0x7e58('0x59')]===_0x7e58('0x57')){var _0x3fa9d5=_0x5296a3[_0x7e58('0x26')]({'plain':!![]});return db[_0x7e58('0x5a')]['find']({'where':{'name':_0x7e58('0x27'),'userProfileId':_0x1bebd6['userProfileId']},'raw':!![]})[_0x7e58('0x25')](function(_0x1676f8){if(_0x1676f8&&_0x1676f8[_0x7e58('0x5b')]===0x0){return db[_0x7e58('0x28')]['create']({'name':_0x3fa9d5[_0x7e58('0x2b')],'resourceId':_0x3fa9d5['id'],'type':_0x1676f8['name'],'sectionId':_0x1676f8['id']},{})['then'](function(){return _0x5296a3;});}else{return _0x5296a3;}})[_0x7e58('0x47')](function(_0x1266cf){logger['error'](_0x7e58('0x5c'),_0x1266cf);});}return _0x5296a3;});})[_0x7e58('0x25')](respondWithResult(_0x147b7c,0xc9))[_0x7e58('0x47')](handleError(_0x147b7c,null));};exports['destroy']=function(_0x361cac,_0x16cb4d,_0x3fbb7d){var _0x21eb37;return db[_0x7e58('0x42')]['find']({'where':{'id':_0x361cac[_0x7e58('0x4c')]['id']}})[_0x7e58('0x25')](function(_0x4d9a69){if(_0x4d9a69){return db[_0x7e58('0x4e')][_0x7e58('0x4f')](function(_0x73f22c){return _0x4d9a69[_0x7e58('0x24')]({'transaction':_0x73f22c,'raw':!![]})['then'](function(_0x402c40){if(_0x402c40[_0x7e58('0x51')]){fs['readdirSync'](_0x402c40[_0x7e58('0x51')])['forEach'](function(_0x177617){fs[_0x7e58('0x5d')](path[_0x7e58('0x52')](_0x402c40[_0x7e58('0x51')],_0x177617));});fs['rmdirSync'](_0x402c40[_0x7e58('0x51')]);}return _0x402c40;});})[_0x7e58('0x47')](function(_0x4d536d){throw new db[(_0x7e58('0x5e'))][(_0x7e58('0x5f'))](_0x4d536d['message']);});}})[_0x7e58('0x25')](handleEntityNotFound(_0x16cb4d,null))['then'](removeEntity(_0x16cb4d,null))[_0x7e58('0x47')](handleError(_0x16cb4d,null));};exports[_0x7e58('0x60')]=function(_0x3bf488,_0x2a4ae3,_0x120eca){return db[_0x7e58('0x4e')][_0x7e58('0x4f')](function(_0x349760){var _0x2d1c42;return db['VoiceMusicOnHold'][_0x7e58('0x4a')]({'where':{'id':_0x3bf488['params']['id']}})[_0x7e58('0x25')](function(_0x4c73ac){if(_0x4c73ac){_0x2d1c42=_0x4c73ac;return _0x4c73ac[_0x7e58('0x60')](_0x3bf488[_0x7e58('0x4b')]['id'],{'transaction':_0x349760});}})['then'](function(_0x4887ba){if(_0x4887ba){return db[_0x7e58('0x61')]['findOne']({'where':{'id':_0x3bf488[_0x7e58('0x4b')]['id']},'attributes':['id','name',_0x7e58('0x62'),_0x7e58('0x63'),_0x7e58('0x64')],'raw':!![]});}})[_0x7e58('0x25')](function(_0x4f499d){if(_0x4f499d){var _0x5da215=path['join'](config[_0x7e58('0x53')],_0x7e58('0x65'),util['format'](_0x7e58('0x66'),path['basename'](_0x4f499d[_0x7e58('0x62')],path[_0x7e58('0x67')](_0x4f499d[_0x7e58('0x62')])),_0x4f499d['converted_format']));var _0x512efb=path[_0x7e58('0x52')](config[_0x7e58('0x53')],_0x7e58('0x68'),_0x2d1c42[_0x7e58('0x2b')],util[_0x7e58('0x69')]('%s.%s',_0x4f499d['name'],_0x4f499d[_0x7e58('0x63')]));fs[_0x7e58('0x6a')](_0x5da215,_0x512efb);return _0x4f499d;}})[_0x7e58('0x47')](function(_0x26a639){throw new db[(_0x7e58('0x5e'))][(_0x7e58('0x5f'))](_0x26a639[_0x7e58('0x6b')]);});})['then'](handleEntityNotFound(_0x2a4ae3,null))[_0x7e58('0x25')](respondWithResult(_0x2a4ae3,0xc9))[_0x7e58('0x47')](handleError(_0x2a4ae3,null));};exports[_0x7e58('0x6c')]=function(_0x245587,_0x885d46,_0x578aff){return db[_0x7e58('0x4e')][_0x7e58('0x4f')](function(_0x3b2e1d){var _0x2e73dc;return db[_0x7e58('0x42')][_0x7e58('0x6d')]({'where':{'id':_0x245587[_0x7e58('0x4c')]['id']}})[_0x7e58('0x25')](handleEntityNotFound(_0x885d46,null))[_0x7e58('0x25')](function(_0x54734c){if(_0x54734c){_0x2e73dc=_0x54734c;return _0x54734c[_0x7e58('0x6c')](_0x245587[_0x7e58('0x4c')]['id2']);}})[_0x7e58('0x25')](function(_0x450f27){if(_0x450f27){return db[_0x7e58('0x61')][_0x7e58('0x6d')]({'where':{'id':_0x245587['params']['id2']},'attributes':['id',_0x7e58('0x2b'),_0x7e58('0x62'),_0x7e58('0x63'),_0x7e58('0x64')],'raw':!![]});}})[_0x7e58('0x25')](function(_0x23bbcf){if(_0x23bbcf){fs['unlinkSync'](path[_0x7e58('0x52')](_0x2e73dc[_0x7e58('0x51')],util[_0x7e58('0x69')](_0x7e58('0x66'),_0x23bbcf[_0x7e58('0x2b')],_0x23bbcf[_0x7e58('0x63')])));return _0x23bbcf;}})['catch'](function(_0x577a1a){throw new db[(_0x7e58('0x5e'))][(_0x7e58('0x5f'))](_0x577a1a['message']);});})['then'](handleEntityNotFound(_0x885d46,null))['then'](respondWithStatusCode(_0x885d46,0xcc))['catch'](handleError(_0x885d46,null));};exports['getSounds']=function(_0x4606d8,_0xfe9d7e,_0x5174b9){var _0x2761d8={};var _0x272f03={};var _0x40b45f;var _0x5ed745;return db['VoiceMusicOnHold'][_0x7e58('0x6d')]({'where':{'id':_0x4606d8[_0x7e58('0x4c')]['id']}})['then'](handleEntityNotFound(_0xfe9d7e,null))[_0x7e58('0x25')](function(_0x52ed10){if(_0x52ed10){_0x40b45f=_0x52ed10;_0x272f03[_0x7e58('0x36')]=_[_0x7e58('0x32')](db[_0x7e58('0x61')]['rawAttributes']);_0x272f03[_0x7e58('0x33')]=_['keys'](_0x4606d8['query']);_0x272f03[_0x7e58('0x34')]=_[_0x7e58('0x35')](_0x272f03[_0x7e58('0x36')],_0x272f03['query']);_0x2761d8[_0x7e58('0x38')]=_['intersection'](_0x272f03[_0x7e58('0x36')],qs[_0x7e58('0x37')](_0x4606d8[_0x7e58('0x33')]['fields']));_0x2761d8['attributes']=_0x2761d8[_0x7e58('0x38')][_0x7e58('0x49')]?_0x2761d8[_0x7e58('0x38')]:_0x272f03[_0x7e58('0x36')];_0x2761d8[_0x7e58('0x3a')]=qs[_0x7e58('0x3b')](_0x4606d8[_0x7e58('0x33')]['sort']);_0x2761d8[_0x7e58('0x3c')]=qs[_0x7e58('0x34')](_['pick'](_0x4606d8['query'],_0x272f03[_0x7e58('0x34')]));if(_0x4606d8['query'][_0x7e58('0x3e')]){_0x2761d8[_0x7e58('0x3c')]=_[_0x7e58('0x40')](_0x2761d8[_0x7e58('0x3c')],{'$or':_[_0x7e58('0x31')](_0x2761d8['attributes'],function(_0x34246e){var _0x30f76b={};_0x30f76b[_0x34246e]={'$like':'%'+_0x4606d8[_0x7e58('0x33')][_0x7e58('0x3e')]+'%'};return _0x30f76b;})});}_0x2761d8=_[_0x7e58('0x40')]({},_0x2761d8,_0x4606d8[_0x7e58('0x41')]);return _0x40b45f['getSounds'](_0x2761d8);}})['then'](function(_0x301d46){if(_0x301d46){_0x5ed745=_0x301d46['length'];if(!_0x4606d8[_0x7e58('0x33')][_0x7e58('0x39')](_0x7e58('0x6e'))){_0x2761d8[_0x7e58('0x1d')]=qs['limit'](_0x4606d8['query'][_0x7e58('0x1d')]);_0x2761d8[_0x7e58('0x1c')]=qs[_0x7e58('0x1c')](_0x4606d8['query'][_0x7e58('0x1c')]);}return _0x40b45f[_0x7e58('0x6f')](_0x2761d8);}})[_0x7e58('0x25')](function(_0x3d5d0e){if(_0x3d5d0e){return _0x3d5d0e?{'count':_0x5ed745,'rows':_0x3d5d0e}:null;}})['then'](respondWithResult(_0xfe9d7e,null))[_0x7e58('0x47')](handleError(_0xfe9d7e,null));};