Built motion from commit (unavailable).|2.5.30
[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 _0x3813=['save_name','extname','symlinkSync','message','removeSound','id2','getSounds','eml-format','rimraf','zip-dir','moment','bluebird','mustache','sox','to-csv','fs-extra','squel','crypto','jsforce','desk.js','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','count','Content-Range','apply','reject','save','then','destroy','MusicOnHolds','UserProfileResource','error','stack','name','send','index','map','VoiceMusicOnHold','rawAttributes','type','key','keys','query','filters','intersection','model','fields','attributes','hasOwnProperty','nolimit','limit','order','sort','where','pick','filter','merge','VIRTUAL','options','catch','show','params','length','includeAll','find','update','body','create','sequelize','transaction','mode','files','directory','join','root','server/files/moh','mkdirSync','0777','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','readdirSync','forEach','unlinkSync','rmdirSync','Sequelize','ValidationError','addSound','Sound','findOne','converted_format','createdAt','server/files/sounds/converted','format','%s.%s','basename'];(function(_0x16763d,_0x1fb743){var _0x62b02a=function(_0x3be72c){while(--_0x3be72c){_0x16763d['push'](_0x16763d['shift']());}};_0x62b02a(++_0x1fb743);}(_0x3813,0x1c7));var _0x3381=function(_0x20a584,_0xe384a5){_0x20a584=_0x20a584-0x0;var _0x4b41a8=_0x3813[_0x20a584];return _0x4b41a8;};'use strict';var emlformat=require(_0x3381('0x0'));var rimraf=require(_0x3381('0x1'));var zipdir=require(_0x3381('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x3381('0x3'));var BPromise=require(_0x3381('0x4'));var Mustache=require(_0x3381('0x5'));var util=require('util');var path=require('path');var sox=require(_0x3381('0x6'));var csv=require(_0x3381('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x3381('0x8'));var _=require('lodash');var squel=require(_0x3381('0x9'));var crypto=require(_0x3381('0xa'));var jsforce=require(_0x3381('0xb'));var deskjs=require(_0x3381('0xc'));var toCsv=require(_0x3381('0x7'));var querystring=require('querystring');var Papa=require(_0x3381('0xd'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x3381('0xe'));var as=require(_0x3381('0xf'));var hardwareService=require(_0x3381('0x10'));var logger=require('../../config/logger')(_0x3381('0x11'));var utils=require('../../config/utils');var config=require(_0x3381('0x12'));var licenseUtil=require(_0x3381('0x13'));var db=require(_0x3381('0x14'))['db'];function respondWithStatusCode(_0x571cd3,_0xa00b38){_0xa00b38=_0xa00b38||0xcc;return function(_0x2cc5d7){if(_0x2cc5d7){return _0x571cd3[_0x3381('0x15')](_0xa00b38);}return _0x571cd3[_0x3381('0x16')](_0xa00b38)[_0x3381('0x17')]();};}function respondWithResult(_0x268593,_0x42a6a9){_0x42a6a9=_0x42a6a9||0xc8;return function(_0x426f9f){if(_0x426f9f){return _0x268593['status'](_0x42a6a9)[_0x3381('0x18')](_0x426f9f);}};}function respondWithFilteredResult(_0x7f5447,_0x2d371f){return function(_0x1d8b46){if(_0x1d8b46){var _0x2f95cf=typeof _0x2d371f[_0x3381('0x19')]===_0x3381('0x1a')&&typeof _0x2d371f['limit']===_0x3381('0x1a');var _0x3f2873=_0x1d8b46[_0x3381('0x1b')];var _0xf7abb7=_0x2f95cf?0x0:_0x2d371f[_0x3381('0x19')];var _0x46dfdd=_0x2f95cf?_0x1d8b46[_0x3381('0x1b')]:_0x2d371f[_0x3381('0x19')]+_0x2d371f['limit'];var _0x478237;if(_0x46dfdd>=_0x3f2873){_0x46dfdd=_0x3f2873;_0x478237=0xc8;}else{_0x478237=0xce;}_0x7f5447[_0x3381('0x16')](_0x478237);return _0x7f5447['set'](_0x3381('0x1c'),_0xf7abb7+'-'+_0x46dfdd+'/'+_0x3f2873)[_0x3381('0x18')](_0x1d8b46);}return null;};}function patchUpdates(_0x2a7e0e){return function(_0x32b217){try{jsonpatch[_0x3381('0x1d')](_0x32b217,_0x2a7e0e,!![]);}catch(_0x2786b8){return BPromise[_0x3381('0x1e')](_0x2786b8);}return _0x32b217[_0x3381('0x1f')]();};}function saveUpdates(_0x3064d7,_0x19fc9d){return function(_0x4582f4){if(_0x4582f4){return _0x4582f4['update'](_0x3064d7)[_0x3381('0x20')](function(_0x76de85){return _0x76de85;});}return null;};}function removeEntity(_0x52b268,_0x2377b3){return function(_0x4fa361){if(_0x4fa361){return _0x4fa361[_0x3381('0x21')]()[_0x3381('0x20')](function(){var _0x23b77b=_0x4fa361['get']({'plain':!![]});var _0x12fa72=_0x3381('0x22');return db[_0x3381('0x23')][_0x3381('0x21')]({'where':{'type':_0x12fa72,'resourceId':_0x23b77b['id']}})[_0x3381('0x20')](function(){return _0x4fa361;});})[_0x3381('0x20')](function(){_0x52b268['status'](0xcc)[_0x3381('0x17')]();});}};}function handleEntityNotFound(_0x56070b,_0x12331d){return function(_0x2c80bf){if(!_0x2c80bf){_0x56070b[_0x3381('0x15')](0x194);}return _0x2c80bf;};}function handleError(_0x340bdd,_0x31c742){_0x31c742=_0x31c742||0x1f4;return function(_0x2489fc){logger[_0x3381('0x24')](_0x2489fc[_0x3381('0x25')]);if(_0x2489fc['name']){delete _0x2489fc[_0x3381('0x26')];}_0x340bdd[_0x3381('0x16')](_0x31c742)[_0x3381('0x27')](_0x2489fc);};}exports[_0x3381('0x28')]=function(_0xa184,_0x28bfd7){var _0x45afc0={},_0x371201={},_0x30ed1e={'count':0x0,'rows':[]};var _0x338d55=_[_0x3381('0x29')](db[_0x3381('0x2a')][_0x3381('0x2b')],function(_0xde2dc3){return{'name':_0xde2dc3['fieldName'],'type':_0xde2dc3[_0x3381('0x2c')][_0x3381('0x2d')]};});_0x371201['model']=_['map'](_0x338d55,_0x3381('0x26'));_0x371201['query']=_[_0x3381('0x2e')](_0xa184[_0x3381('0x2f')]);_0x371201[_0x3381('0x30')]=_[_0x3381('0x31')](_0x371201['model'],_0x371201[_0x3381('0x2f')]);_0x45afc0['attributes']=_[_0x3381('0x31')](_0x371201[_0x3381('0x32')],qs[_0x3381('0x33')](_0xa184[_0x3381('0x2f')]['fields']));_0x45afc0[_0x3381('0x34')]=_0x45afc0['attributes']['length']?_0x45afc0[_0x3381('0x34')]:_0x371201['model'];if(!_0xa184['query'][_0x3381('0x35')](_0x3381('0x36'))){_0x45afc0[_0x3381('0x37')]=qs['limit'](_0xa184[_0x3381('0x2f')][_0x3381('0x37')]);_0x45afc0[_0x3381('0x19')]=qs[_0x3381('0x19')](_0xa184[_0x3381('0x2f')][_0x3381('0x19')]);}_0x45afc0[_0x3381('0x38')]=qs[_0x3381('0x39')](_0xa184[_0x3381('0x2f')][_0x3381('0x39')]);delete _0xa184['query'][_0x3381('0x39')];_0x45afc0[_0x3381('0x3a')]=qs['filters'](_[_0x3381('0x3b')](_0xa184['query'],_0x371201['filters']),_0x338d55);if(_0xa184[_0x3381('0x2f')][_0x3381('0x3c')]){_0x45afc0[_0x3381('0x3a')]=_[_0x3381('0x3d')](_0x45afc0[_0x3381('0x3a')],{'$or':_['map'](_0x338d55,function(_0x3c5fd4){if(_0x3c5fd4[_0x3381('0x2c')]!==_0x3381('0x3e')){var _0x25b859={};_0x25b859[_0x3c5fd4[_0x3381('0x26')]]={'$like':'%'+_0xa184[_0x3381('0x2f')][_0x3381('0x3c')]+'%'};return _0x25b859;}})});}_0x45afc0=_[_0x3381('0x3d')]({},_0x45afc0,_0xa184[_0x3381('0x3f')]);var _0x5926df={'where':_0x45afc0['where']};return db['VoiceMusicOnHold']['count'](_0x5926df)[_0x3381('0x20')](function(_0x4bd91e){_0x30ed1e[_0x3381('0x1b')]=_0x4bd91e;if(_0xa184[_0x3381('0x2f')]['includeAll']){_0x45afc0['include']=[{'all':!![]}];}return db['VoiceMusicOnHold']['findAll'](_0x45afc0);})[_0x3381('0x20')](function(_0x4fd715){_0x30ed1e['rows']=_0x4fd715;return _0x30ed1e;})[_0x3381('0x20')](respondWithFilteredResult(_0x28bfd7,_0x45afc0))[_0x3381('0x40')](handleError(_0x28bfd7,null));};exports[_0x3381('0x41')]=function(_0x5f580b,_0x44e765){var _0x4ec550={'raw':![],'where':{'id':_0x5f580b[_0x3381('0x42')]['id']}},_0x1cfc97={};_0x1cfc97[_0x3381('0x32')]=_['keys'](db[_0x3381('0x2a')]['rawAttributes']);_0x1cfc97[_0x3381('0x2f')]=_['keys'](_0x5f580b[_0x3381('0x2f')]);_0x1cfc97[_0x3381('0x30')]=_[_0x3381('0x31')](_0x1cfc97[_0x3381('0x32')],_0x1cfc97[_0x3381('0x2f')]);_0x4ec550[_0x3381('0x34')]=_[_0x3381('0x31')](_0x1cfc97['model'],qs[_0x3381('0x33')](_0x5f580b[_0x3381('0x2f')]['fields']));_0x4ec550['attributes']=_0x4ec550['attributes'][_0x3381('0x43')]?_0x4ec550['attributes']:_0x1cfc97[_0x3381('0x32')];if(_0x5f580b['query'][_0x3381('0x44')]){_0x4ec550['include']=[{'all':!![]}];}_0x4ec550=_['merge']({},_0x4ec550,_0x5f580b[_0x3381('0x3f')]);return db[_0x3381('0x2a')][_0x3381('0x45')](_0x4ec550)[_0x3381('0x20')](handleEntityNotFound(_0x44e765,null))[_0x3381('0x20')](respondWithResult(_0x44e765,null))[_0x3381('0x40')](handleError(_0x44e765,null));};exports[_0x3381('0x46')]=function(_0x298a88,_0x56f9d8){if(_0x298a88[_0x3381('0x47')]['id']){delete _0x298a88[_0x3381('0x47')]['id'];}return db[_0x3381('0x2a')][_0x3381('0x45')]({'where':{'id':_0x298a88[_0x3381('0x42')]['id']}})[_0x3381('0x20')](handleEntityNotFound(_0x56f9d8,null))[_0x3381('0x20')](saveUpdates(_0x298a88['body'],null))[_0x3381('0x20')](respondWithResult(_0x56f9d8,null))[_0x3381('0x40')](handleError(_0x56f9d8,null));};exports[_0x3381('0x48')]=function(_0x5e75a9,_0xa3cbb0,_0x5ca8b2){return db[_0x3381('0x49')][_0x3381('0x4a')](function(_0x21b2d2){if(_0x5e75a9['body'][_0x3381('0x4b')]===_0x3381('0x4c')){_0x5e75a9['body'][_0x3381('0x4d')]=path[_0x3381('0x4e')](config[_0x3381('0x4f')],_0x3381('0x50'),_0x5e75a9[_0x3381('0x47')]['name']);}return db[_0x3381('0x2a')][_0x3381('0x48')](_0x5e75a9[_0x3381('0x47')],{'transaction':_0x21b2d2})[_0x3381('0x20')](function(_0x315c6d){if(_0x5e75a9[_0x3381('0x47')][_0x3381('0x4b')]===_0x3381('0x4c')){fs[_0x3381('0x51')](_0x315c6d['directory'],parseInt(_0x3381('0x52'),0x8));}var _0x4ca670=_0x5e75a9[_0x3381('0x53')][_0x3381('0x54')]({'plain':!![]});if(!_0x4ca670)throw new Error(_0x3381('0x55'));if(_0x4ca670[_0x3381('0x56')]==='user'){var _0x11302f=_0x315c6d[_0x3381('0x54')]({'plain':!![]});return db[_0x3381('0x57')]['find']({'where':{'name':'MusicOnHolds','userProfileId':_0x4ca670['userProfileId']},'raw':!![]})[_0x3381('0x20')](function(_0x10c55c){if(_0x10c55c&&_0x10c55c[_0x3381('0x58')]===0x0){return db[_0x3381('0x23')]['create']({'name':_0x11302f['name'],'resourceId':_0x11302f['id'],'type':_0x10c55c['name'],'sectionId':_0x10c55c['id']},{})['then'](function(){return _0x315c6d;});}else{return _0x315c6d;}})[_0x3381('0x40')](function(_0x21de65){logger[_0x3381('0x24')](_0x3381('0x59'),_0x21de65);});}return _0x315c6d;});})[_0x3381('0x20')](respondWithResult(_0xa3cbb0,0xc9))[_0x3381('0x40')](handleError(_0xa3cbb0,null));};exports[_0x3381('0x21')]=function(_0x22539a,_0x561f49,_0x35a07d){var _0x13b313;return db[_0x3381('0x2a')]['find']({'where':{'id':_0x22539a['params']['id']}})[_0x3381('0x20')](function(_0x5d526e){if(_0x5d526e){return db[_0x3381('0x49')]['transaction'](function(_0x3f337f){return _0x5d526e[_0x3381('0x21')]({'transaction':_0x3f337f,'raw':!![]})[_0x3381('0x20')](function(_0x5950cb){if(_0x5950cb[_0x3381('0x4d')]){fs[_0x3381('0x5a')](_0x5950cb[_0x3381('0x4d')])[_0x3381('0x5b')](function(_0x494560){fs[_0x3381('0x5c')](path[_0x3381('0x4e')](_0x5950cb[_0x3381('0x4d')],_0x494560));});fs[_0x3381('0x5d')](_0x5950cb[_0x3381('0x4d')]);}return _0x5950cb;});})[_0x3381('0x40')](function(_0x4d18b7){throw new db[(_0x3381('0x5e'))][(_0x3381('0x5f'))](_0x4d18b7['message']);});}})[_0x3381('0x20')](handleEntityNotFound(_0x561f49,null))[_0x3381('0x20')](removeEntity(_0x561f49,null))['catch'](handleError(_0x561f49,null));};exports[_0x3381('0x60')]=function(_0x5b11fc,_0x2b8399,_0x53780f){return db[_0x3381('0x49')][_0x3381('0x4a')](function(_0xa8c233){var _0x304f97;return db[_0x3381('0x2a')]['find']({'where':{'id':_0x5b11fc[_0x3381('0x42')]['id']}})[_0x3381('0x20')](function(_0x467851){if(_0x467851){_0x304f97=_0x467851;return _0x467851[_0x3381('0x60')](_0x5b11fc['body']['id'],{'transaction':_0xa8c233});}})[_0x3381('0x20')](function(_0x247dc5){if(_0x247dc5){return db[_0x3381('0x61')][_0x3381('0x62')]({'where':{'id':_0x5b11fc[_0x3381('0x47')]['id']},'attributes':['id',_0x3381('0x26'),'save_name',_0x3381('0x63'),_0x3381('0x64')],'raw':!![]});}})['then'](function(_0x5cf276){if(_0x5cf276){var _0x282af7=path[_0x3381('0x4e')](config[_0x3381('0x4f')],_0x3381('0x65'),util[_0x3381('0x66')](_0x3381('0x67'),path[_0x3381('0x68')](_0x5cf276[_0x3381('0x69')],path[_0x3381('0x6a')](_0x5cf276[_0x3381('0x69')])),_0x5cf276['converted_format']));var _0xd442f1=path[_0x3381('0x4e')](config[_0x3381('0x4f')],_0x3381('0x50'),_0x304f97[_0x3381('0x26')],util[_0x3381('0x66')]('%s.%s',_0x5cf276[_0x3381('0x26')],_0x5cf276['converted_format']));fs[_0x3381('0x6b')](_0x282af7,_0xd442f1);return _0x5cf276;}})[_0x3381('0x40')](function(_0x4634a6){throw new db[(_0x3381('0x5e'))][(_0x3381('0x5f'))](_0x4634a6[_0x3381('0x6c')]);});})[_0x3381('0x20')](handleEntityNotFound(_0x2b8399,null))[_0x3381('0x20')](respondWithResult(_0x2b8399,0xc9))[_0x3381('0x40')](handleError(_0x2b8399,null));};exports[_0x3381('0x6d')]=function(_0x17da15,_0x265ff1,_0x4529d8){return db[_0x3381('0x49')][_0x3381('0x4a')](function(_0x5bee11){var _0x1ff43e;return db[_0x3381('0x2a')][_0x3381('0x62')]({'where':{'id':_0x17da15[_0x3381('0x42')]['id']}})[_0x3381('0x20')](handleEntityNotFound(_0x265ff1,null))[_0x3381('0x20')](function(_0x103e31){if(_0x103e31){_0x1ff43e=_0x103e31;return _0x103e31[_0x3381('0x6d')](_0x17da15[_0x3381('0x42')]['id2']);}})[_0x3381('0x20')](function(_0x434ffc){if(_0x434ffc){return db[_0x3381('0x61')]['findOne']({'where':{'id':_0x17da15['params'][_0x3381('0x6e')]},'attributes':['id',_0x3381('0x26'),'save_name',_0x3381('0x63'),'createdAt'],'raw':!![]});}})[_0x3381('0x20')](function(_0x879fd9){if(_0x879fd9){fs[_0x3381('0x5c')](path[_0x3381('0x4e')](_0x1ff43e[_0x3381('0x4d')],util[_0x3381('0x66')](_0x3381('0x67'),_0x879fd9[_0x3381('0x26')],_0x879fd9[_0x3381('0x63')])));return _0x879fd9;}})['catch'](function(_0x34e031){throw new db[(_0x3381('0x5e'))][(_0x3381('0x5f'))](_0x34e031[_0x3381('0x6c')]);});})[_0x3381('0x20')](handleEntityNotFound(_0x265ff1,null))['then'](respondWithStatusCode(_0x265ff1,0xcc))['catch'](handleError(_0x265ff1,null));};exports[_0x3381('0x6f')]=function(_0xa93cb8,_0x28269b,_0x1cad11){var _0x1b0818={};var _0x2c9e28={};var _0x3c9d20;var _0x5b5e38;return db[_0x3381('0x2a')]['findOne']({'where':{'id':_0xa93cb8[_0x3381('0x42')]['id']}})[_0x3381('0x20')](handleEntityNotFound(_0x28269b,null))['then'](function(_0x5f5097){if(_0x5f5097){_0x3c9d20=_0x5f5097;_0x2c9e28[_0x3381('0x32')]=_[_0x3381('0x2e')](db[_0x3381('0x61')]['rawAttributes']);_0x2c9e28[_0x3381('0x2f')]=_[_0x3381('0x2e')](_0xa93cb8[_0x3381('0x2f')]);_0x2c9e28[_0x3381('0x30')]=_[_0x3381('0x31')](_0x2c9e28[_0x3381('0x32')],_0x2c9e28[_0x3381('0x2f')]);_0x1b0818[_0x3381('0x34')]=_[_0x3381('0x31')](_0x2c9e28[_0x3381('0x32')],qs['fields'](_0xa93cb8[_0x3381('0x2f')]['fields']));_0x1b0818[_0x3381('0x34')]=_0x1b0818[_0x3381('0x34')][_0x3381('0x43')]?_0x1b0818[_0x3381('0x34')]:_0x2c9e28['model'];_0x1b0818[_0x3381('0x38')]=qs[_0x3381('0x39')](_0xa93cb8[_0x3381('0x2f')][_0x3381('0x39')]);_0x1b0818[_0x3381('0x3a')]=qs[_0x3381('0x30')](_['pick'](_0xa93cb8[_0x3381('0x2f')],_0x2c9e28['filters']));if(_0xa93cb8[_0x3381('0x2f')][_0x3381('0x3c')]){_0x1b0818['where']=_[_0x3381('0x3d')](_0x1b0818[_0x3381('0x3a')],{'$or':_[_0x3381('0x29')](_0x1b0818[_0x3381('0x34')],function(_0x6dc19f){var _0x173793={};_0x173793[_0x6dc19f]={'$like':'%'+_0xa93cb8[_0x3381('0x2f')][_0x3381('0x3c')]+'%'};return _0x173793;})});}_0x1b0818=_[_0x3381('0x3d')]({},_0x1b0818,_0xa93cb8['options']);return _0x3c9d20[_0x3381('0x6f')](_0x1b0818);}})[_0x3381('0x20')](function(_0x298f71){if(_0x298f71){_0x5b5e38=_0x298f71[_0x3381('0x43')];if(!_0xa93cb8['query']['hasOwnProperty'](_0x3381('0x36'))){_0x1b0818[_0x3381('0x37')]=qs[_0x3381('0x37')](_0xa93cb8[_0x3381('0x2f')][_0x3381('0x37')]);_0x1b0818[_0x3381('0x19')]=qs[_0x3381('0x19')](_0xa93cb8['query'][_0x3381('0x19')]);}return _0x3c9d20[_0x3381('0x6f')](_0x1b0818);}})[_0x3381('0x20')](function(_0x533e4e){if(_0x533e4e){return _0x533e4e?{'count':_0x5b5e38,'rows':_0x533e4e}:null;}})[_0x3381('0x20')](respondWithResult(_0x28269b,null))[_0x3381('0x40')](handleError(_0x28269b,null));};