Built motion from commit 00bf23f6.|2.6.16
[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 _0xa984=['send','VoiceMusicOnHold','fieldName','type','key','map','query','filters','intersection','model','attributes','fields','length','hasOwnProperty','sort','where','pick','merge','VIRTUAL','filter','options','include','findAll','rows','catch','show','params','keys','rawAttributes','includeAll','find','body','create','sequelize','mode','files','directory','root','mkdirSync','0777','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','transaction','forEach','unlinkSync','rmdirSync','Sequelize','ValidationError','addSound','Sound','findOne','save_name','converted_format','createdAt','join','server/files/sounds/converted','format','%s.%s','basename','extname','server/files/moh','symlinkSync','message','removeSound','id2','getSounds','order','nolimit','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','crypto','jsforce','desk.js','querystring','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','limit','undefined','count','set','Content-Range','apply','reject','save','update','then','destroy','get','MusicOnHolds','UserProfileResource','sendStatus','error','stack','name'];(function(_0x2c5cee,_0x958114){var _0x5938dc=function(_0x235aa1){while(--_0x235aa1){_0x2c5cee['push'](_0x2c5cee['shift']());}};_0x5938dc(++_0x958114);}(_0xa984,0x134));var _0x4a98=function(_0x403db1,_0x59018e){_0x403db1=_0x403db1-0x0;var _0x47c48f=_0xa984[_0x403db1];return _0x47c48f;};'use strict';var emlformat=require(_0x4a98('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x4a98('0x1'));var jsonpatch=require(_0x4a98('0x2'));var rp=require(_0x4a98('0x3'));var moment=require(_0x4a98('0x4'));var BPromise=require(_0x4a98('0x5'));var Mustache=require(_0x4a98('0x6'));var util=require(_0x4a98('0x7'));var path=require(_0x4a98('0x8'));var sox=require(_0x4a98('0x9'));var csv=require(_0x4a98('0xa'));var ejs=require(_0x4a98('0xb'));var fs=require('fs');var fs_extra=require(_0x4a98('0xc'));var _=require('lodash');var squel=require('squel');var crypto=require(_0x4a98('0xd'));var jsforce=require(_0x4a98('0xe'));var deskjs=require(_0x4a98('0xf'));var toCsv=require(_0x4a98('0xa'));var querystring=require(_0x4a98('0x10'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x4a98('0x11'));var qs=require(_0x4a98('0x12'));var as=require(_0x4a98('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')('api');var utils=require(_0x4a98('0x14'));var config=require(_0x4a98('0x15'));var licenseUtil=require(_0x4a98('0x16'));var db=require(_0x4a98('0x17'))['db'];function respondWithStatusCode(_0x341f77,_0xd4401c){_0xd4401c=_0xd4401c||0xcc;return function(_0x59fd7b){if(_0x59fd7b){return _0x341f77['sendStatus'](_0xd4401c);}return _0x341f77[_0x4a98('0x18')](_0xd4401c)[_0x4a98('0x19')]();};}function respondWithResult(_0x57c9ee,_0x47e685){_0x47e685=_0x47e685||0xc8;return function(_0x314d6b){if(_0x314d6b){return _0x57c9ee[_0x4a98('0x18')](_0x47e685)[_0x4a98('0x1a')](_0x314d6b);}};}function respondWithFilteredResult(_0x33ac32,_0x526f01){return function(_0x471eb6){if(_0x471eb6){var _0x9ba482=typeof _0x526f01[_0x4a98('0x1b')]==='undefined'&&typeof _0x526f01[_0x4a98('0x1c')]===_0x4a98('0x1d');var _0x4a48e4=_0x471eb6['count'];var _0x183425=_0x9ba482?0x0:_0x526f01['offset'];var _0x41a129=_0x9ba482?_0x471eb6[_0x4a98('0x1e')]:_0x526f01[_0x4a98('0x1b')]+_0x526f01['limit'];var _0x4ad5d8;if(_0x41a129>=_0x4a48e4){_0x41a129=_0x4a48e4;_0x4ad5d8=0xc8;}else{_0x4ad5d8=0xce;}_0x33ac32[_0x4a98('0x18')](_0x4ad5d8);return _0x33ac32[_0x4a98('0x1f')](_0x4a98('0x20'),_0x183425+'-'+_0x41a129+'/'+_0x4a48e4)[_0x4a98('0x1a')](_0x471eb6);}return null;};}function patchUpdates(_0x5af49a){return function(_0x1b610e){try{jsonpatch[_0x4a98('0x21')](_0x1b610e,_0x5af49a,!![]);}catch(_0x342faf){return BPromise[_0x4a98('0x22')](_0x342faf);}return _0x1b610e[_0x4a98('0x23')]();};}function saveUpdates(_0x5dded8,_0x57dc7d){return function(_0x3ca7da){if(_0x3ca7da){return _0x3ca7da[_0x4a98('0x24')](_0x5dded8)[_0x4a98('0x25')](function(_0x59020d){return _0x59020d;});}return null;};}function removeEntity(_0xd731ca,_0x2be6b3){return function(_0x31c97f){if(_0x31c97f){return _0x31c97f[_0x4a98('0x26')]()[_0x4a98('0x25')](function(){var _0x479c04=_0x31c97f[_0x4a98('0x27')]({'plain':!![]});var _0xa6f332=_0x4a98('0x28');return db[_0x4a98('0x29')][_0x4a98('0x26')]({'where':{'type':_0xa6f332,'resourceId':_0x479c04['id']}})[_0x4a98('0x25')](function(){return _0x31c97f;});})[_0x4a98('0x25')](function(){_0xd731ca[_0x4a98('0x18')](0xcc)[_0x4a98('0x19')]();});}};}function handleEntityNotFound(_0x37bf51,_0x481107){return function(_0x25e83f){if(!_0x25e83f){_0x37bf51[_0x4a98('0x2a')](0x194);}return _0x25e83f;};}function handleError(_0x4217b8,_0x4185ad){_0x4185ad=_0x4185ad||0x1f4;return function(_0x1008ba){logger[_0x4a98('0x2b')](_0x1008ba[_0x4a98('0x2c')]);if(_0x1008ba[_0x4a98('0x2d')]){delete _0x1008ba[_0x4a98('0x2d')];}_0x4217b8[_0x4a98('0x18')](_0x4185ad)[_0x4a98('0x2e')](_0x1008ba);};}exports['index']=function(_0x13c813,_0x142d98){var _0x3b6c92={},_0x562bf9={},_0x144eed={'count':0x0,'rows':[]};var _0x73390c=_['map'](db[_0x4a98('0x2f')]['rawAttributes'],function(_0x594b2c){return{'name':_0x594b2c[_0x4a98('0x30')],'type':_0x594b2c[_0x4a98('0x31')][_0x4a98('0x32')]};});_0x562bf9['model']=_[_0x4a98('0x33')](_0x73390c,_0x4a98('0x2d'));_0x562bf9[_0x4a98('0x34')]=_['keys'](_0x13c813[_0x4a98('0x34')]);_0x562bf9[_0x4a98('0x35')]=_[_0x4a98('0x36')](_0x562bf9[_0x4a98('0x37')],_0x562bf9[_0x4a98('0x34')]);_0x3b6c92[_0x4a98('0x38')]=_['intersection'](_0x562bf9['model'],qs['fields'](_0x13c813[_0x4a98('0x34')][_0x4a98('0x39')]));_0x3b6c92[_0x4a98('0x38')]=_0x3b6c92[_0x4a98('0x38')][_0x4a98('0x3a')]?_0x3b6c92[_0x4a98('0x38')]:_0x562bf9[_0x4a98('0x37')];if(!_0x13c813[_0x4a98('0x34')][_0x4a98('0x3b')]('nolimit')){_0x3b6c92[_0x4a98('0x1c')]=qs[_0x4a98('0x1c')](_0x13c813[_0x4a98('0x34')][_0x4a98('0x1c')]);_0x3b6c92[_0x4a98('0x1b')]=qs[_0x4a98('0x1b')](_0x13c813[_0x4a98('0x34')]['offset']);}_0x3b6c92['order']=qs[_0x4a98('0x3c')](_0x13c813[_0x4a98('0x34')][_0x4a98('0x3c')]);delete _0x13c813[_0x4a98('0x34')]['sort'];_0x3b6c92[_0x4a98('0x3d')]=qs[_0x4a98('0x35')](_[_0x4a98('0x3e')](_0x13c813[_0x4a98('0x34')],_0x562bf9[_0x4a98('0x35')]),_0x73390c);if(_0x13c813[_0x4a98('0x34')]['filter']){_0x3b6c92[_0x4a98('0x3d')]=_[_0x4a98('0x3f')](_0x3b6c92[_0x4a98('0x3d')],{'$or':_[_0x4a98('0x33')](_0x73390c,function(_0x41ca8f){if(_0x41ca8f[_0x4a98('0x31')]!==_0x4a98('0x40')){var _0x43ac44={};_0x43ac44[_0x41ca8f['name']]={'$like':'%'+_0x13c813[_0x4a98('0x34')][_0x4a98('0x41')]+'%'};return _0x43ac44;}})});}_0x3b6c92=_['merge']({},_0x3b6c92,_0x13c813[_0x4a98('0x42')]);var _0x4ad43a={'where':_0x3b6c92['where']};return db['VoiceMusicOnHold'][_0x4a98('0x1e')](_0x4ad43a)['then'](function(_0x1e38ae){_0x144eed[_0x4a98('0x1e')]=_0x1e38ae;if(_0x13c813['query']['includeAll']){_0x3b6c92[_0x4a98('0x43')]=[{'all':!![]}];}return db[_0x4a98('0x2f')][_0x4a98('0x44')](_0x3b6c92);})[_0x4a98('0x25')](function(_0x525d51){_0x144eed[_0x4a98('0x45')]=_0x525d51;return _0x144eed;})[_0x4a98('0x25')](respondWithFilteredResult(_0x142d98,_0x3b6c92))[_0x4a98('0x46')](handleError(_0x142d98,null));};exports[_0x4a98('0x47')]=function(_0x1cff31,_0xb04f40){var _0x2c8912={'raw':![],'where':{'id':_0x1cff31[_0x4a98('0x48')]['id']}},_0x5ac705={};_0x5ac705[_0x4a98('0x37')]=_[_0x4a98('0x49')](db[_0x4a98('0x2f')][_0x4a98('0x4a')]);_0x5ac705[_0x4a98('0x34')]=_[_0x4a98('0x49')](_0x1cff31[_0x4a98('0x34')]);_0x5ac705[_0x4a98('0x35')]=_[_0x4a98('0x36')](_0x5ac705['model'],_0x5ac705['query']);_0x2c8912[_0x4a98('0x38')]=_['intersection'](_0x5ac705['model'],qs[_0x4a98('0x39')](_0x1cff31[_0x4a98('0x34')]['fields']));_0x2c8912['attributes']=_0x2c8912[_0x4a98('0x38')]['length']?_0x2c8912[_0x4a98('0x38')]:_0x5ac705[_0x4a98('0x37')];if(_0x1cff31[_0x4a98('0x34')][_0x4a98('0x4b')]){_0x2c8912[_0x4a98('0x43')]=[{'all':!![]}];}_0x2c8912=_['merge']({},_0x2c8912,_0x1cff31[_0x4a98('0x42')]);return db['VoiceMusicOnHold'][_0x4a98('0x4c')](_0x2c8912)[_0x4a98('0x25')](handleEntityNotFound(_0xb04f40,null))['then'](respondWithResult(_0xb04f40,null))['catch'](handleError(_0xb04f40,null));};exports[_0x4a98('0x24')]=function(_0x154dd8,_0x2d5735){if(_0x154dd8['body']['id']){delete _0x154dd8[_0x4a98('0x4d')]['id'];}return db[_0x4a98('0x2f')][_0x4a98('0x4c')]({'where':{'id':_0x154dd8[_0x4a98('0x48')]['id']}})['then'](handleEntityNotFound(_0x2d5735,null))[_0x4a98('0x25')](saveUpdates(_0x154dd8['body'],null))['then'](respondWithResult(_0x2d5735,null))[_0x4a98('0x46')](handleError(_0x2d5735,null));};exports[_0x4a98('0x4e')]=function(_0x4f61e5,_0x3ae661,_0x4c28c8){return db[_0x4a98('0x4f')]['transaction'](function(_0x1a443d){if(_0x4f61e5['body'][_0x4a98('0x50')]===_0x4a98('0x51')){_0x4f61e5[_0x4a98('0x4d')][_0x4a98('0x52')]=path['join'](config[_0x4a98('0x53')],'server/files/moh',_0x4f61e5[_0x4a98('0x4d')]['name']);}return db[_0x4a98('0x2f')][_0x4a98('0x4e')](_0x4f61e5['body'],{'transaction':_0x1a443d})[_0x4a98('0x25')](function(_0x523122){if(_0x4f61e5['body']['mode']===_0x4a98('0x51')){fs[_0x4a98('0x54')](_0x523122[_0x4a98('0x52')],parseInt(_0x4a98('0x55'),0x8));}var _0x5263cc=_0x4f61e5[_0x4a98('0x56')][_0x4a98('0x27')]({'plain':!![]});if(!_0x5263cc)throw new Error(_0x4a98('0x57'));if(_0x5263cc['role']===_0x4a98('0x56')){var _0x51b776=_0x523122[_0x4a98('0x27')]({'plain':!![]});return db[_0x4a98('0x58')][_0x4a98('0x4c')]({'where':{'name':_0x4a98('0x28'),'userProfileId':_0x5263cc[_0x4a98('0x59')]},'raw':!![]})[_0x4a98('0x25')](function(_0x2c681c){if(_0x2c681c&&_0x2c681c[_0x4a98('0x5a')]===0x0){return db[_0x4a98('0x29')]['create']({'name':_0x51b776['name'],'resourceId':_0x51b776['id'],'type':_0x2c681c[_0x4a98('0x2d')],'sectionId':_0x2c681c['id']},{})['then'](function(){return _0x523122;});}else{return _0x523122;}})[_0x4a98('0x46')](function(_0x208b3f){logger[_0x4a98('0x2b')](_0x4a98('0x5b'),_0x208b3f);});}return _0x523122;});})[_0x4a98('0x25')](respondWithResult(_0x3ae661,0xc9))['catch'](handleError(_0x3ae661,null));};exports['destroy']=function(_0x5688ef,_0x5e3a25,_0x5a992b){var _0x1c6d04;return db[_0x4a98('0x2f')][_0x4a98('0x4c')]({'where':{'id':_0x5688ef['params']['id']}})[_0x4a98('0x25')](function(_0x49915a){if(_0x49915a){return db[_0x4a98('0x4f')][_0x4a98('0x5c')](function(_0x3fc60d){return _0x49915a['destroy']({'transaction':_0x3fc60d,'raw':!![]})[_0x4a98('0x25')](function(_0x22b6b1){if(_0x22b6b1[_0x4a98('0x52')]){fs['readdirSync'](_0x22b6b1['directory'])[_0x4a98('0x5d')](function(_0x23f8ce){fs[_0x4a98('0x5e')](path['join'](_0x22b6b1[_0x4a98('0x52')],_0x23f8ce));});fs[_0x4a98('0x5f')](_0x22b6b1[_0x4a98('0x52')]);}return _0x22b6b1;});})[_0x4a98('0x46')](function(_0x38731e){throw new db[(_0x4a98('0x60'))][(_0x4a98('0x61'))](_0x38731e['message']);});}})[_0x4a98('0x25')](handleEntityNotFound(_0x5e3a25,null))[_0x4a98('0x25')](removeEntity(_0x5e3a25,null))[_0x4a98('0x46')](handleError(_0x5e3a25,null));};exports[_0x4a98('0x62')]=function(_0x39233e,_0x3a888c,_0x161b9c){return db['sequelize'][_0x4a98('0x5c')](function(_0x542b04){var _0x5d04ee;return db[_0x4a98('0x2f')][_0x4a98('0x4c')]({'where':{'id':_0x39233e[_0x4a98('0x48')]['id']}})[_0x4a98('0x25')](function(_0x1c2256){if(_0x1c2256){_0x5d04ee=_0x1c2256;return _0x1c2256['addSound'](_0x39233e[_0x4a98('0x4d')]['id'],{'transaction':_0x542b04});}})['then'](function(_0x35c1ca){if(_0x35c1ca){return db[_0x4a98('0x63')][_0x4a98('0x64')]({'where':{'id':_0x39233e[_0x4a98('0x4d')]['id']},'attributes':['id',_0x4a98('0x2d'),_0x4a98('0x65'),_0x4a98('0x66'),_0x4a98('0x67')],'raw':!![]});}})['then'](function(_0xc20f9c){if(_0xc20f9c){var _0x201127=path[_0x4a98('0x68')](config[_0x4a98('0x53')],_0x4a98('0x69'),util[_0x4a98('0x6a')](_0x4a98('0x6b'),path[_0x4a98('0x6c')](_0xc20f9c[_0x4a98('0x65')],path[_0x4a98('0x6d')](_0xc20f9c['save_name'])),_0xc20f9c[_0x4a98('0x66')]));var _0x4110d0=path[_0x4a98('0x68')](config[_0x4a98('0x53')],_0x4a98('0x6e'),_0x5d04ee[_0x4a98('0x2d')],util['format'](_0x4a98('0x6b'),_0xc20f9c['name'],_0xc20f9c[_0x4a98('0x66')]));fs[_0x4a98('0x6f')](_0x201127,_0x4110d0);return _0xc20f9c;}})[_0x4a98('0x46')](function(_0x5a7dc5){throw new db[(_0x4a98('0x60'))][(_0x4a98('0x61'))](_0x5a7dc5[_0x4a98('0x70')]);});})[_0x4a98('0x25')](handleEntityNotFound(_0x3a888c,null))[_0x4a98('0x25')](respondWithResult(_0x3a888c,0xc9))[_0x4a98('0x46')](handleError(_0x3a888c,null));};exports[_0x4a98('0x71')]=function(_0x1f1487,_0x21d6fa,_0x5756fc){return db[_0x4a98('0x4f')][_0x4a98('0x5c')](function(_0x27c440){var _0xfb4905;return db[_0x4a98('0x2f')]['findOne']({'where':{'id':_0x1f1487[_0x4a98('0x48')]['id']}})[_0x4a98('0x25')](handleEntityNotFound(_0x21d6fa,null))[_0x4a98('0x25')](function(_0x246075){if(_0x246075){_0xfb4905=_0x246075;return _0x246075[_0x4a98('0x71')](_0x1f1487[_0x4a98('0x48')][_0x4a98('0x72')]);}})[_0x4a98('0x25')](function(_0x1d1e4d){if(_0x1d1e4d){return db[_0x4a98('0x63')][_0x4a98('0x64')]({'where':{'id':_0x1f1487[_0x4a98('0x48')][_0x4a98('0x72')]},'attributes':['id',_0x4a98('0x2d'),'save_name',_0x4a98('0x66'),'createdAt'],'raw':!![]});}})[_0x4a98('0x25')](function(_0x8e2bc6){if(_0x8e2bc6){fs[_0x4a98('0x5e')](path[_0x4a98('0x68')](_0xfb4905[_0x4a98('0x52')],util[_0x4a98('0x6a')](_0x4a98('0x6b'),_0x8e2bc6[_0x4a98('0x2d')],_0x8e2bc6[_0x4a98('0x66')])));return _0x8e2bc6;}})[_0x4a98('0x46')](function(_0x2ea603){throw new db[(_0x4a98('0x60'))][(_0x4a98('0x61'))](_0x2ea603['message']);});})[_0x4a98('0x25')](handleEntityNotFound(_0x21d6fa,null))['then'](respondWithStatusCode(_0x21d6fa,0xcc))['catch'](handleError(_0x21d6fa,null));};exports[_0x4a98('0x73')]=function(_0x1b388f,_0x557983,_0x52694f){var _0x337a6f={};var _0x3c10a2={};var _0x1bf243;var _0x596b09;return db[_0x4a98('0x2f')][_0x4a98('0x64')]({'where':{'id':_0x1b388f[_0x4a98('0x48')]['id']}})[_0x4a98('0x25')](handleEntityNotFound(_0x557983,null))['then'](function(_0x593b2d){if(_0x593b2d){_0x1bf243=_0x593b2d;_0x3c10a2[_0x4a98('0x37')]=_['keys'](db[_0x4a98('0x63')][_0x4a98('0x4a')]);_0x3c10a2[_0x4a98('0x34')]=_[_0x4a98('0x49')](_0x1b388f[_0x4a98('0x34')]);_0x3c10a2['filters']=_[_0x4a98('0x36')](_0x3c10a2['model'],_0x3c10a2[_0x4a98('0x34')]);_0x337a6f[_0x4a98('0x38')]=_[_0x4a98('0x36')](_0x3c10a2[_0x4a98('0x37')],qs[_0x4a98('0x39')](_0x1b388f['query'][_0x4a98('0x39')]));_0x337a6f[_0x4a98('0x38')]=_0x337a6f[_0x4a98('0x38')][_0x4a98('0x3a')]?_0x337a6f['attributes']:_0x3c10a2[_0x4a98('0x37')];_0x337a6f[_0x4a98('0x74')]=qs[_0x4a98('0x3c')](_0x1b388f['query']['sort']);_0x337a6f[_0x4a98('0x3d')]=qs[_0x4a98('0x35')](_['pick'](_0x1b388f[_0x4a98('0x34')],_0x3c10a2[_0x4a98('0x35')]));if(_0x1b388f[_0x4a98('0x34')][_0x4a98('0x41')]){_0x337a6f[_0x4a98('0x3d')]=_[_0x4a98('0x3f')](_0x337a6f[_0x4a98('0x3d')],{'$or':_[_0x4a98('0x33')](_0x337a6f['attributes'],function(_0x6b8b7f){var _0x2b6800={};_0x2b6800[_0x6b8b7f]={'$like':'%'+_0x1b388f['query'][_0x4a98('0x41')]+'%'};return _0x2b6800;})});}_0x337a6f=_[_0x4a98('0x3f')]({},_0x337a6f,_0x1b388f[_0x4a98('0x42')]);return _0x1bf243[_0x4a98('0x73')](_0x337a6f);}})['then'](function(_0x2f777a){if(_0x2f777a){_0x596b09=_0x2f777a[_0x4a98('0x3a')];if(!_0x1b388f[_0x4a98('0x34')][_0x4a98('0x3b')](_0x4a98('0x75'))){_0x337a6f[_0x4a98('0x1c')]=qs[_0x4a98('0x1c')](_0x1b388f[_0x4a98('0x34')][_0x4a98('0x1c')]);_0x337a6f[_0x4a98('0x1b')]=qs[_0x4a98('0x1b')](_0x1b388f[_0x4a98('0x34')][_0x4a98('0x1b')]);}return _0x1bf243[_0x4a98('0x73')](_0x337a6f);}})['then'](function(_0x57ac23){if(_0x57ac23){return _0x57ac23?{'count':_0x596b09,'rows':_0x57ac23}:null;}})[_0x4a98('0x25')](respondWithResult(_0x557983,null))[_0x4a98('0x46')](handleError(_0x557983,null));};