Built motion from commit (unavailable).|2.5.10
[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 _0xfaf9=['get','MusicOnHolds','UserProfileResource','error','stack','name','send','map','VoiceMusicOnHold','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','filter','merge','VIRTUAL','options','include','findAll','catch','show','params','rawAttributes','includeAll','update','body','find','sequelize','transaction','mode','join','root','server/files/moh','create','files','directory','0777','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','forEach','Sequelize','ValidationError','message','addSound','Sound','findOne','save_name','converted_format','%s.%s','basename','id2','createdAt','unlinkSync','getSounds','order','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','count','offset','limit','set','json','apply','reject','save','destroy','then'];(function(_0x43d79c,_0x531a55){var _0x4866b0=function(_0x847a){while(--_0x847a){_0x43d79c['push'](_0x43d79c['shift']());}};_0x4866b0(++_0x531a55);}(_0xfaf9,0xb2));var _0x9faf=function(_0x18a79d,_0x57bd2c){_0x18a79d=_0x18a79d-0x0;var _0x4f8848=_0xfaf9[_0x18a79d];return _0x4f8848;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x9faf('0x0'));var rimraf=require(_0x9faf('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x9faf('0x2'));var rp=require(_0x9faf('0x3'));var moment=require(_0x9faf('0x4'));var BPromise=require(_0x9faf('0x5'));var Mustache=require(_0x9faf('0x6'));var util=require(_0x9faf('0x7'));var path=require(_0x9faf('0x8'));var sox=require(_0x9faf('0x9'));var csv=require(_0x9faf('0xa'));var ejs=require(_0x9faf('0xb'));var fs=require('fs');var _=require(_0x9faf('0xc'));var squel=require(_0x9faf('0xd'));var crypto=require(_0x9faf('0xe'));var jsforce=require(_0x9faf('0xf'));var deskjs=require(_0x9faf('0x10'));var toCsv=require(_0x9faf('0xa'));var querystring=require(_0x9faf('0x11'));var Papa=require(_0x9faf('0x12'));var Redis=require('ioredis');var authService=require(_0x9faf('0x13'));var qs=require(_0x9faf('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x9faf('0x15'));var logger=require(_0x9faf('0x16'))('api');var utils=require(_0x9faf('0x17'));var config=require('../../config/environment');var licenseUtil=require(_0x9faf('0x18'));var db=require(_0x9faf('0x19'))['db'];function respondWithStatusCode(_0x210ac1,_0x4d626e){_0x4d626e=_0x4d626e||0xcc;return function(_0x2045a8){if(_0x2045a8){return _0x210ac1[_0x9faf('0x1a')](_0x4d626e);}return _0x210ac1[_0x9faf('0x1b')](_0x4d626e)['end']();};}function respondWithResult(_0x42a4de,_0xfd933f){_0xfd933f=_0xfd933f||0xc8;return function(_0x5b64c3){if(_0x5b64c3){return _0x42a4de[_0x9faf('0x1b')](_0xfd933f)['json'](_0x5b64c3);}};}function respondWithFilteredResult(_0x28c7b9,_0x56fefb){return function(_0x89559a){if(_0x89559a){var _0x5944b2=_0x89559a[_0x9faf('0x1c')],_0x5e0ad4=_0x56fefb[_0x9faf('0x1d')],_0x1c3554=_0x56fefb[_0x9faf('0x1d')]+_0x56fefb[_0x9faf('0x1e')],_0x5184c8;if(_0x1c3554>=_0x5944b2){_0x1c3554=_0x5944b2;_0x5184c8=0xc8;}else{_0x5184c8=0xce;}_0x28c7b9[_0x9faf('0x1b')](_0x5184c8);return _0x28c7b9[_0x9faf('0x1f')]('Content-Range',_0x5e0ad4+'-'+_0x1c3554+'/'+_0x5944b2)[_0x9faf('0x20')](_0x89559a);}return null;};}function patchUpdates(_0x1d2f53){return function(_0x154960){try{jsonpatch[_0x9faf('0x21')](_0x154960,_0x1d2f53,!![]);}catch(_0x26e7e7){return BPromise[_0x9faf('0x22')](_0x26e7e7);}return _0x154960[_0x9faf('0x23')]();};}function saveUpdates(_0x5e14bf,_0x9f1951){return function(_0x3a298c){if(_0x3a298c){return _0x3a298c['update'](_0x5e14bf)['then'](function(_0xd89795){return _0xd89795;});}return null;};}function removeEntity(_0x7a5c51,_0x3a50b8){return function(_0x32c40b){if(_0x32c40b){return _0x32c40b[_0x9faf('0x24')]()[_0x9faf('0x25')](function(){var _0x5a6b59=_0x32c40b[_0x9faf('0x26')]({'plain':!![]});var _0x1dff56=_0x9faf('0x27');return db[_0x9faf('0x28')][_0x9faf('0x24')]({'where':{'type':_0x1dff56,'resourceId':_0x5a6b59['id']}})[_0x9faf('0x25')](function(){return _0x32c40b;});})[_0x9faf('0x25')](function(){_0x7a5c51['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x591bd4,_0x237833){return function(_0x249878){if(!_0x249878){_0x591bd4[_0x9faf('0x1a')](0x194);}return _0x249878;};}function handleError(_0x152873,_0x4fa80c){_0x4fa80c=_0x4fa80c||0x1f4;return function(_0x491ee6){logger[_0x9faf('0x29')](_0x491ee6[_0x9faf('0x2a')]);if(_0x491ee6[_0x9faf('0x2b')]){delete _0x491ee6[_0x9faf('0x2b')];}_0x152873['status'](_0x4fa80c)[_0x9faf('0x2c')](_0x491ee6);};}exports['index']=function(_0x5a37cf,_0x3fa12f){var _0x13999e={},_0x43790b={},_0x1d2017={'count':0x0,'rows':[]};var _0x2ae3b4=_[_0x9faf('0x2d')](db[_0x9faf('0x2e')]['rawAttributes'],function(_0x50300e){return{'name':_0x50300e['fieldName'],'type':_0x50300e[_0x9faf('0x2f')][_0x9faf('0x30')]};});_0x43790b[_0x9faf('0x31')]=_['map'](_0x2ae3b4,'name');_0x43790b[_0x9faf('0x32')]=_[_0x9faf('0x33')](_0x5a37cf[_0x9faf('0x32')]);_0x43790b[_0x9faf('0x34')]=_[_0x9faf('0x35')](_0x43790b['model'],_0x43790b[_0x9faf('0x32')]);_0x13999e[_0x9faf('0x36')]=_[_0x9faf('0x35')](_0x43790b[_0x9faf('0x31')],qs[_0x9faf('0x37')](_0x5a37cf['query'][_0x9faf('0x37')]));_0x13999e[_0x9faf('0x36')]=_0x13999e['attributes'][_0x9faf('0x38')]?_0x13999e['attributes']:_0x43790b[_0x9faf('0x31')];if(!_0x5a37cf[_0x9faf('0x32')][_0x9faf('0x39')](_0x9faf('0x3a'))){_0x13999e[_0x9faf('0x1e')]=qs[_0x9faf('0x1e')](_0x5a37cf['query']['limit']);_0x13999e['offset']=qs[_0x9faf('0x1d')](_0x5a37cf[_0x9faf('0x32')][_0x9faf('0x1d')]);}_0x13999e['order']=qs[_0x9faf('0x3b')](_0x5a37cf[_0x9faf('0x32')][_0x9faf('0x3b')]);_0x13999e[_0x9faf('0x3c')]=qs[_0x9faf('0x34')](_[_0x9faf('0x3d')](_0x5a37cf['query'],_0x43790b[_0x9faf('0x34')]),_0x2ae3b4);if(_0x5a37cf['query'][_0x9faf('0x3e')]){_0x13999e[_0x9faf('0x3c')]=_[_0x9faf('0x3f')](_0x13999e[_0x9faf('0x3c')],{'$or':_[_0x9faf('0x2d')](_0x2ae3b4,function(_0x1fdfe2){if(_0x1fdfe2[_0x9faf('0x2f')]!==_0x9faf('0x40')){var _0x2c64ec={};_0x2c64ec[_0x1fdfe2['name']]={'$like':'%'+_0x5a37cf[_0x9faf('0x32')][_0x9faf('0x3e')]+'%'};return _0x2c64ec;}})});}_0x13999e=_[_0x9faf('0x3f')]({},_0x13999e,_0x5a37cf[_0x9faf('0x41')]);var _0x143f69={'where':_0x13999e[_0x9faf('0x3c')]};return db[_0x9faf('0x2e')][_0x9faf('0x1c')](_0x143f69)['then'](function(_0x39387c){_0x1d2017['count']=_0x39387c;if(_0x5a37cf[_0x9faf('0x32')]['includeAll']){_0x13999e[_0x9faf('0x42')]=[{'all':!![]}];}return db[_0x9faf('0x2e')][_0x9faf('0x43')](_0x13999e);})[_0x9faf('0x25')](function(_0x595fe8){_0x1d2017['rows']=_0x595fe8;return _0x1d2017;})[_0x9faf('0x25')](respondWithFilteredResult(_0x3fa12f,_0x13999e))[_0x9faf('0x44')](handleError(_0x3fa12f,null));};exports[_0x9faf('0x45')]=function(_0x3b6732,_0x2f6d2c){var _0x3330e0={'raw':![],'where':{'id':_0x3b6732[_0x9faf('0x46')]['id']}},_0xb1be3d={};_0xb1be3d[_0x9faf('0x31')]=_[_0x9faf('0x33')](db[_0x9faf('0x2e')][_0x9faf('0x47')]);_0xb1be3d[_0x9faf('0x32')]=_['keys'](_0x3b6732[_0x9faf('0x32')]);_0xb1be3d[_0x9faf('0x34')]=_['intersection'](_0xb1be3d[_0x9faf('0x31')],_0xb1be3d['query']);_0x3330e0[_0x9faf('0x36')]=_[_0x9faf('0x35')](_0xb1be3d[_0x9faf('0x31')],qs[_0x9faf('0x37')](_0x3b6732[_0x9faf('0x32')]['fields']));_0x3330e0[_0x9faf('0x36')]=_0x3330e0[_0x9faf('0x36')][_0x9faf('0x38')]?_0x3330e0[_0x9faf('0x36')]:_0xb1be3d['model'];if(_0x3b6732['query'][_0x9faf('0x48')]){_0x3330e0[_0x9faf('0x42')]=[{'all':!![]}];}_0x3330e0=_[_0x9faf('0x3f')]({},_0x3330e0,_0x3b6732['options']);return db[_0x9faf('0x2e')]['find'](_0x3330e0)[_0x9faf('0x25')](handleEntityNotFound(_0x2f6d2c,null))['then'](respondWithResult(_0x2f6d2c,null))[_0x9faf('0x44')](handleError(_0x2f6d2c,null));};exports[_0x9faf('0x49')]=function(_0x727d44,_0x131f7a){if(_0x727d44[_0x9faf('0x4a')]['id']){delete _0x727d44[_0x9faf('0x4a')]['id'];}return db['VoiceMusicOnHold'][_0x9faf('0x4b')]({'where':{'id':_0x727d44[_0x9faf('0x46')]['id']}})[_0x9faf('0x25')](handleEntityNotFound(_0x131f7a,null))[_0x9faf('0x25')](saveUpdates(_0x727d44[_0x9faf('0x4a')],null))[_0x9faf('0x25')](respondWithResult(_0x131f7a,null))['catch'](handleError(_0x131f7a,null));};exports['create']=function(_0x511279,_0x7ed323,_0xec843c){return db[_0x9faf('0x4c')][_0x9faf('0x4d')](function(_0x46e97c){if(_0x511279[_0x9faf('0x4a')][_0x9faf('0x4e')]==='files'){_0x511279[_0x9faf('0x4a')]['directory']=path[_0x9faf('0x4f')](config[_0x9faf('0x50')],_0x9faf('0x51'),_0x511279['body'][_0x9faf('0x2b')]);}return db[_0x9faf('0x2e')][_0x9faf('0x52')](_0x511279[_0x9faf('0x4a')],{'transaction':_0x46e97c})['then'](function(_0x72b3b3){if(_0x511279[_0x9faf('0x4a')][_0x9faf('0x4e')]===_0x9faf('0x53')){fs['mkdirSync'](_0x72b3b3[_0x9faf('0x54')],parseInt(_0x9faf('0x55'),0x8));}var _0x524adc=_0x511279[_0x9faf('0x56')][_0x9faf('0x26')]({'plain':!![]});if(!_0x524adc)throw new Error(_0x9faf('0x57'));if(_0x524adc[_0x9faf('0x58')]===_0x9faf('0x56')){var _0x310b92=_0x72b3b3[_0x9faf('0x26')]({'plain':!![]});return db[_0x9faf('0x59')][_0x9faf('0x4b')]({'where':{'name':_0x9faf('0x27'),'userProfileId':_0x524adc[_0x9faf('0x5a')]},'raw':!![]})[_0x9faf('0x25')](function(_0x3cebdd){if(_0x3cebdd&&_0x3cebdd[_0x9faf('0x5b')]===0x0){return db['UserProfileResource'][_0x9faf('0x52')]({'name':_0x310b92[_0x9faf('0x2b')],'resourceId':_0x310b92['id'],'type':_0x3cebdd['name'],'sectionId':_0x3cebdd['id']},{})['then'](function(){return _0x72b3b3;});}else{return _0x72b3b3;}})[_0x9faf('0x44')](function(_0x35be15){logger[_0x9faf('0x29')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x35be15);});}return _0x72b3b3;});})[_0x9faf('0x25')](respondWithResult(_0x7ed323,0xc9))[_0x9faf('0x44')](handleError(_0x7ed323,null));};exports[_0x9faf('0x24')]=function(_0x5bc051,_0x5b5fec,_0x2575f5){var _0x4d3ce8;return db[_0x9faf('0x2e')]['find']({'where':{'id':_0x5bc051[_0x9faf('0x46')]['id']}})[_0x9faf('0x25')](function(_0x23bca4){if(_0x23bca4){return db[_0x9faf('0x4c')][_0x9faf('0x4d')](function(_0x2a5e5b){return _0x23bca4[_0x9faf('0x24')]({'transaction':_0x2a5e5b,'raw':!![]})[_0x9faf('0x25')](function(_0x52c720){if(_0x52c720[_0x9faf('0x54')]){fs['readdirSync'](_0x52c720['directory'])[_0x9faf('0x5c')](function(_0x31fe2f){fs['unlinkSync'](path[_0x9faf('0x4f')](_0x52c720[_0x9faf('0x54')],_0x31fe2f));});fs['rmdirSync'](_0x52c720[_0x9faf('0x54')]);}return _0x52c720;});})['catch'](function(_0x13f313){throw new db[(_0x9faf('0x5d'))][(_0x9faf('0x5e'))](_0x13f313[_0x9faf('0x5f')]);});}})[_0x9faf('0x25')](handleEntityNotFound(_0x5b5fec,null))[_0x9faf('0x25')](removeEntity(_0x5b5fec,null))[_0x9faf('0x44')](handleError(_0x5b5fec,null));};exports[_0x9faf('0x60')]=function(_0x4456af,_0x4f6a60,_0x39eea7){return db[_0x9faf('0x4c')]['transaction'](function(_0x1a936f){var _0x3e64dc;return db[_0x9faf('0x2e')][_0x9faf('0x4b')]({'where':{'id':_0x4456af[_0x9faf('0x46')]['id']}})[_0x9faf('0x25')](function(_0x29555b){if(_0x29555b){_0x3e64dc=_0x29555b;return _0x29555b[_0x9faf('0x60')](_0x4456af['body']['id'],{'transaction':_0x1a936f});}})[_0x9faf('0x25')](function(_0x5b84a4){if(_0x5b84a4){return db[_0x9faf('0x61')][_0x9faf('0x62')]({'where':{'id':_0x4456af[_0x9faf('0x4a')]['id']},'attributes':['id','name',_0x9faf('0x63'),_0x9faf('0x64'),'createdAt'],'raw':!![]});}})[_0x9faf('0x25')](function(_0x4bfc2c){if(_0x4bfc2c){var _0x23b198=path[_0x9faf('0x4f')](config[_0x9faf('0x50')],'server/files/sounds/converted',util['format'](_0x9faf('0x65'),path[_0x9faf('0x66')](_0x4bfc2c['save_name'],path['extname'](_0x4bfc2c[_0x9faf('0x63')])),_0x4bfc2c[_0x9faf('0x64')]));var _0x5c55ed=path[_0x9faf('0x4f')](config[_0x9faf('0x50')],_0x9faf('0x51'),_0x3e64dc[_0x9faf('0x2b')],util['format'](_0x9faf('0x65'),_0x4bfc2c[_0x9faf('0x2b')],_0x4bfc2c[_0x9faf('0x64')]));fs['symlinkSync'](_0x23b198,_0x5c55ed);return _0x4bfc2c;}})[_0x9faf('0x44')](function(_0x578827){throw new db[(_0x9faf('0x5d'))][(_0x9faf('0x5e'))](_0x578827[_0x9faf('0x5f')]);});})[_0x9faf('0x25')](handleEntityNotFound(_0x4f6a60,null))[_0x9faf('0x25')](respondWithResult(_0x4f6a60,0xc9))['catch'](handleError(_0x4f6a60,null));};exports['removeSound']=function(_0x34c65e,_0x58e6ad,_0x352fe8){return db[_0x9faf('0x4c')][_0x9faf('0x4d')](function(_0x23c9a6){var _0xade538;return db[_0x9faf('0x2e')]['findOne']({'where':{'id':_0x34c65e['params']['id']}})['then'](handleEntityNotFound(_0x58e6ad,null))[_0x9faf('0x25')](function(_0x1f015a){if(_0x1f015a){_0xade538=_0x1f015a;return _0x1f015a['removeSound'](_0x34c65e[_0x9faf('0x46')][_0x9faf('0x67')]);}})[_0x9faf('0x25')](function(_0x4b386d){if(_0x4b386d){return db[_0x9faf('0x61')][_0x9faf('0x62')]({'where':{'id':_0x34c65e[_0x9faf('0x46')]['id2']},'attributes':['id','name','save_name',_0x9faf('0x64'),_0x9faf('0x68')],'raw':!![]});}})[_0x9faf('0x25')](function(_0x3c1e46){if(_0x3c1e46){fs[_0x9faf('0x69')](path[_0x9faf('0x4f')](_0xade538[_0x9faf('0x54')],util['format'](_0x9faf('0x65'),_0x3c1e46[_0x9faf('0x2b')],_0x3c1e46[_0x9faf('0x64')])));return _0x3c1e46;}})[_0x9faf('0x44')](function(_0x534804){throw new db[(_0x9faf('0x5d'))][(_0x9faf('0x5e'))](_0x534804[_0x9faf('0x5f')]);});})[_0x9faf('0x25')](handleEntityNotFound(_0x58e6ad,null))[_0x9faf('0x25')](respondWithStatusCode(_0x58e6ad,0xcc))[_0x9faf('0x44')](handleError(_0x58e6ad,null));};exports[_0x9faf('0x6a')]=function(_0x107d21,_0x4c864e,_0x48e9fb){var _0x52d2df={};var _0x3c8b66={};var _0x13d998;var _0x597597;return db[_0x9faf('0x2e')]['findOne']({'where':{'id':_0x107d21['params']['id']}})[_0x9faf('0x25')](handleEntityNotFound(_0x4c864e,null))[_0x9faf('0x25')](function(_0x2bd048){if(_0x2bd048){_0x13d998=_0x2bd048;_0x3c8b66[_0x9faf('0x31')]=_[_0x9faf('0x33')](db['Sound']['rawAttributes']);_0x3c8b66['query']=_[_0x9faf('0x33')](_0x107d21[_0x9faf('0x32')]);_0x3c8b66[_0x9faf('0x34')]=_[_0x9faf('0x35')](_0x3c8b66['model'],_0x3c8b66[_0x9faf('0x32')]);_0x52d2df[_0x9faf('0x36')]=_[_0x9faf('0x35')](_0x3c8b66[_0x9faf('0x31')],qs[_0x9faf('0x37')](_0x107d21[_0x9faf('0x32')][_0x9faf('0x37')]));_0x52d2df['attributes']=_0x52d2df[_0x9faf('0x36')][_0x9faf('0x38')]?_0x52d2df[_0x9faf('0x36')]:_0x3c8b66['model'];_0x52d2df[_0x9faf('0x6b')]=qs[_0x9faf('0x3b')](_0x107d21[_0x9faf('0x32')][_0x9faf('0x3b')]);_0x52d2df['where']=qs[_0x9faf('0x34')](_[_0x9faf('0x3d')](_0x107d21[_0x9faf('0x32')],_0x3c8b66[_0x9faf('0x34')]));if(_0x107d21[_0x9faf('0x32')]['filter']){_0x52d2df['where']=_[_0x9faf('0x3f')](_0x52d2df[_0x9faf('0x3c')],{'$or':_[_0x9faf('0x2d')](_0x52d2df['attributes'],function(_0x19a8fa){var _0x50bf6e={};_0x50bf6e[_0x19a8fa]={'$like':'%'+_0x107d21[_0x9faf('0x32')][_0x9faf('0x3e')]+'%'};return _0x50bf6e;})});}_0x52d2df=_['merge']({},_0x52d2df,_0x107d21[_0x9faf('0x41')]);return _0x13d998[_0x9faf('0x6a')](_0x52d2df);}})[_0x9faf('0x25')](function(_0x289bd3){if(_0x289bd3){_0x597597=_0x289bd3[_0x9faf('0x38')];if(!_0x107d21[_0x9faf('0x32')][_0x9faf('0x39')](_0x9faf('0x3a'))){_0x52d2df[_0x9faf('0x1e')]=qs['limit'](_0x107d21[_0x9faf('0x32')]['limit']);_0x52d2df[_0x9faf('0x1d')]=qs[_0x9faf('0x1d')](_0x107d21[_0x9faf('0x32')]['offset']);}return _0x13d998[_0x9faf('0x6a')](_0x52d2df);}})[_0x9faf('0x25')](function(_0x53e7ad){if(_0x53e7ad){return _0x53e7ad?{'count':_0x597597,'rows':_0x53e7ad}:null;}})[_0x9faf('0x25')](respondWithResult(_0x4c864e,null))[_0x9faf('0x44')](handleError(_0x4c864e,null));};