Built motion from commit (unavailable).|2.5.14
[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 _0x139d=['query','keys','filters','intersection','fields','attributes','length','sort','pick','filter','where','merge','options','includeAll','include','catch','params','find','body','create','sequelize','transaction','mode','files','directory','server/files/moh','mkdirSync','0777','user','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','readdirSync','forEach','unlinkSync','join','rmdirSync','Sequelize','message','addSound','Sound','findOne','save_name','converted_format','createdAt','root','server/files/sounds/converted','basename','extname','format','%s.%s','ValidationError','removeSound','id2','getSounds','order','nolimit','eml-format','rimraf','request-promise','bluebird','mustache','util','path','to-csv','ejs','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../mysqldb','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','update','then','get','UserProfileResource','destroy','sendStatus','name','index','map','VoiceMusicOnHold','rawAttributes','fieldName','type','key','model'];(function(_0x42e8e7,_0x89a365){var _0x3d1515=function(_0x5d1521){while(--_0x5d1521){_0x42e8e7['push'](_0x42e8e7['shift']());}};_0x3d1515(++_0x89a365);}(_0x139d,0x170));var _0xd139=function(_0x4dd571,_0x182b31){_0x4dd571=_0x4dd571-0x0;var _0x236a5f=_0x139d[_0x4dd571];return _0x236a5f;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xd139('0x0'));var rimraf=require(_0xd139('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0xd139('0x2'));var moment=require('moment');var BPromise=require(_0xd139('0x3'));var Mustache=require(_0xd139('0x4'));var util=require(_0xd139('0x5'));var path=require(_0xd139('0x6'));var sox=require('sox');var csv=require(_0xd139('0x7'));var ejs=require(_0xd139('0x8'));var fs=require('fs');var _=require('lodash');var squel=require(_0xd139('0x9'));var crypto=require(_0xd139('0xa'));var jsforce=require('jsforce');var deskjs=require(_0xd139('0xb'));var toCsv=require(_0xd139('0x7'));var querystring=require(_0xd139('0xc'));var Papa=require(_0xd139('0xd'));var Redis=require(_0xd139('0xe'));var authService=require(_0xd139('0xf'));var qs=require(_0xd139('0x10'));var as=require(_0xd139('0x11'));var hardwareService=require(_0xd139('0x12'));var logger=require(_0xd139('0x13'))('api');var utils=require(_0xd139('0x14'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0xd139('0x15'))['db'];function respondWithStatusCode(_0x20a373,_0x581223){_0x581223=_0x581223||0xcc;return function(_0x3a481b){if(_0x3a481b){return _0x20a373['sendStatus'](_0x581223);}return _0x20a373[_0xd139('0x16')](_0x581223)[_0xd139('0x17')]();};}function respondWithResult(_0x49ef20,_0x42580f){_0x42580f=_0x42580f||0xc8;return function(_0x3a27e8){if(_0x3a27e8){return _0x49ef20['status'](_0x42580f)[_0xd139('0x18')](_0x3a27e8);}};}function respondWithFilteredResult(_0x43d9db,_0x3822c7){return function(_0x43c93e){if(_0x43c93e){var _0x243eb8=_0x43c93e[_0xd139('0x19')],_0xed36c6=_0x3822c7[_0xd139('0x1a')],_0x4c3a35=_0x3822c7[_0xd139('0x1a')]+_0x3822c7[_0xd139('0x1b')],_0x1627af;if(_0x4c3a35>=_0x243eb8){_0x4c3a35=_0x243eb8;_0x1627af=0xc8;}else{_0x1627af=0xce;}_0x43d9db[_0xd139('0x16')](_0x1627af);return _0x43d9db[_0xd139('0x1c')](_0xd139('0x1d'),_0xed36c6+'-'+_0x4c3a35+'/'+_0x243eb8)['json'](_0x43c93e);}return null;};}function patchUpdates(_0x49ae43){return function(_0x4abbd2){try{jsonpatch[_0xd139('0x1e')](_0x4abbd2,_0x49ae43,!![]);}catch(_0x426cac){return BPromise[_0xd139('0x1f')](_0x426cac);}return _0x4abbd2[_0xd139('0x20')]();};}function saveUpdates(_0x537b17,_0x3b9819){return function(_0x1f8faa){if(_0x1f8faa){return _0x1f8faa[_0xd139('0x21')](_0x537b17)[_0xd139('0x22')](function(_0x7d4235){return _0x7d4235;});}return null;};}function removeEntity(_0x2a8bdb,_0x131a95){return function(_0x250dd2){if(_0x250dd2){return _0x250dd2['destroy']()[_0xd139('0x22')](function(){var _0x1080f6=_0x250dd2[_0xd139('0x23')]({'plain':!![]});var _0x2370c1='MusicOnHolds';return db[_0xd139('0x24')][_0xd139('0x25')]({'where':{'type':_0x2370c1,'resourceId':_0x1080f6['id']}})[_0xd139('0x22')](function(){return _0x250dd2;});})[_0xd139('0x22')](function(){_0x2a8bdb['status'](0xcc)[_0xd139('0x17')]();});}};}function handleEntityNotFound(_0x219adf,_0x5a4044){return function(_0x15432b){if(!_0x15432b){_0x219adf[_0xd139('0x26')](0x194);}return _0x15432b;};}function handleError(_0x360f80,_0x4fc266){_0x4fc266=_0x4fc266||0x1f4;return function(_0x2016e6){logger['error'](_0x2016e6['stack']);if(_0x2016e6['name']){delete _0x2016e6[_0xd139('0x27')];}_0x360f80['status'](_0x4fc266)['send'](_0x2016e6);};}exports[_0xd139('0x28')]=function(_0x5a8bce,_0x239251){var _0x4c967c={},_0x116e24={},_0x2b0f9b={'count':0x0,'rows':[]};var _0x2d4201=_[_0xd139('0x29')](db[_0xd139('0x2a')][_0xd139('0x2b')],function(_0x1e0c71){return{'name':_0x1e0c71[_0xd139('0x2c')],'type':_0x1e0c71[_0xd139('0x2d')][_0xd139('0x2e')]};});_0x116e24[_0xd139('0x2f')]=_[_0xd139('0x29')](_0x2d4201,'name');_0x116e24[_0xd139('0x30')]=_[_0xd139('0x31')](_0x5a8bce[_0xd139('0x30')]);_0x116e24[_0xd139('0x32')]=_[_0xd139('0x33')](_0x116e24[_0xd139('0x2f')],_0x116e24[_0xd139('0x30')]);_0x4c967c['attributes']=_[_0xd139('0x33')](_0x116e24[_0xd139('0x2f')],qs[_0xd139('0x34')](_0x5a8bce[_0xd139('0x30')][_0xd139('0x34')]));_0x4c967c[_0xd139('0x35')]=_0x4c967c[_0xd139('0x35')][_0xd139('0x36')]?_0x4c967c[_0xd139('0x35')]:_0x116e24[_0xd139('0x2f')];if(!_0x5a8bce[_0xd139('0x30')]['hasOwnProperty']('nolimit')){_0x4c967c[_0xd139('0x1b')]=qs[_0xd139('0x1b')](_0x5a8bce[_0xd139('0x30')][_0xd139('0x1b')]);_0x4c967c[_0xd139('0x1a')]=qs['offset'](_0x5a8bce[_0xd139('0x30')]['offset']);}_0x4c967c['order']=qs[_0xd139('0x37')](_0x5a8bce[_0xd139('0x30')][_0xd139('0x37')]);_0x4c967c['where']=qs[_0xd139('0x32')](_[_0xd139('0x38')](_0x5a8bce['query'],_0x116e24['filters']),_0x2d4201);if(_0x5a8bce[_0xd139('0x30')][_0xd139('0x39')]){_0x4c967c[_0xd139('0x3a')]=_[_0xd139('0x3b')](_0x4c967c[_0xd139('0x3a')],{'$or':_[_0xd139('0x29')](_0x2d4201,function(_0x111c4c){if(_0x111c4c[_0xd139('0x2d')]!=='VIRTUAL'){var _0x561582={};_0x561582[_0x111c4c[_0xd139('0x27')]]={'$like':'%'+_0x5a8bce[_0xd139('0x30')][_0xd139('0x39')]+'%'};return _0x561582;}})});}_0x4c967c=_[_0xd139('0x3b')]({},_0x4c967c,_0x5a8bce[_0xd139('0x3c')]);var _0x21fb37={'where':_0x4c967c[_0xd139('0x3a')]};return db[_0xd139('0x2a')][_0xd139('0x19')](_0x21fb37)[_0xd139('0x22')](function(_0x1a8c7d){_0x2b0f9b[_0xd139('0x19')]=_0x1a8c7d;if(_0x5a8bce['query'][_0xd139('0x3d')]){_0x4c967c[_0xd139('0x3e')]=[{'all':!![]}];}return db['VoiceMusicOnHold']['findAll'](_0x4c967c);})[_0xd139('0x22')](function(_0x5fde87){_0x2b0f9b['rows']=_0x5fde87;return _0x2b0f9b;})[_0xd139('0x22')](respondWithFilteredResult(_0x239251,_0x4c967c))[_0xd139('0x3f')](handleError(_0x239251,null));};exports['show']=function(_0x4150ea,_0x434523){var _0x2f14c7={'raw':![],'where':{'id':_0x4150ea[_0xd139('0x40')]['id']}},_0x1699ab={};_0x1699ab[_0xd139('0x2f')]=_['keys'](db[_0xd139('0x2a')]['rawAttributes']);_0x1699ab[_0xd139('0x30')]=_[_0xd139('0x31')](_0x4150ea['query']);_0x1699ab[_0xd139('0x32')]=_[_0xd139('0x33')](_0x1699ab[_0xd139('0x2f')],_0x1699ab[_0xd139('0x30')]);_0x2f14c7[_0xd139('0x35')]=_[_0xd139('0x33')](_0x1699ab[_0xd139('0x2f')],qs[_0xd139('0x34')](_0x4150ea['query'][_0xd139('0x34')]));_0x2f14c7[_0xd139('0x35')]=_0x2f14c7[_0xd139('0x35')]['length']?_0x2f14c7[_0xd139('0x35')]:_0x1699ab[_0xd139('0x2f')];if(_0x4150ea[_0xd139('0x30')]['includeAll']){_0x2f14c7['include']=[{'all':!![]}];}_0x2f14c7=_[_0xd139('0x3b')]({},_0x2f14c7,_0x4150ea['options']);return db[_0xd139('0x2a')][_0xd139('0x41')](_0x2f14c7)[_0xd139('0x22')](handleEntityNotFound(_0x434523,null))[_0xd139('0x22')](respondWithResult(_0x434523,null))['catch'](handleError(_0x434523,null));};exports[_0xd139('0x21')]=function(_0x40ed77,_0x102cfa){if(_0x40ed77[_0xd139('0x42')]['id']){delete _0x40ed77[_0xd139('0x42')]['id'];}return db['VoiceMusicOnHold']['find']({'where':{'id':_0x40ed77[_0xd139('0x40')]['id']}})['then'](handleEntityNotFound(_0x102cfa,null))[_0xd139('0x22')](saveUpdates(_0x40ed77[_0xd139('0x42')],null))[_0xd139('0x22')](respondWithResult(_0x102cfa,null))[_0xd139('0x3f')](handleError(_0x102cfa,null));};exports[_0xd139('0x43')]=function(_0x842671,_0x3ef91e,_0xdd1935){return db[_0xd139('0x44')][_0xd139('0x45')](function(_0x1d5348){if(_0x842671[_0xd139('0x42')][_0xd139('0x46')]===_0xd139('0x47')){_0x842671[_0xd139('0x42')][_0xd139('0x48')]=path['join'](config['root'],_0xd139('0x49'),_0x842671[_0xd139('0x42')]['name']);}return db['VoiceMusicOnHold']['create'](_0x842671[_0xd139('0x42')],{'transaction':_0x1d5348})[_0xd139('0x22')](function(_0x142514){if(_0x842671['body'][_0xd139('0x46')]===_0xd139('0x47')){fs[_0xd139('0x4a')](_0x142514[_0xd139('0x48')],parseInt(_0xd139('0x4b'),0x8));}var _0x265b92=_0x842671[_0xd139('0x4c')][_0xd139('0x23')]({'plain':!![]});if(!_0x265b92)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x265b92['role']===_0xd139('0x4c')){var _0x161aac=_0x142514[_0xd139('0x23')]({'plain':!![]});return db['UserProfileSection'][_0xd139('0x41')]({'where':{'name':'MusicOnHolds','userProfileId':_0x265b92[_0xd139('0x4d')]},'raw':!![]})[_0xd139('0x22')](function(_0x190947){if(_0x190947&&_0x190947['autoAssociation']===0x0){return db[_0xd139('0x24')]['create']({'name':_0x161aac[_0xd139('0x27')],'resourceId':_0x161aac['id'],'type':_0x190947[_0xd139('0x27')],'sectionId':_0x190947['id']},{})[_0xd139('0x22')](function(){return _0x142514;});}else{return _0x142514;}})[_0xd139('0x3f')](function(_0x43ce04){logger['error'](_0xd139('0x4e'),_0x43ce04);});}return _0x142514;});})[_0xd139('0x22')](respondWithResult(_0x3ef91e,0xc9))[_0xd139('0x3f')](handleError(_0x3ef91e,null));};exports[_0xd139('0x25')]=function(_0x374233,_0x25ce2e,_0x475f5d){var _0x3b12c5;return db['VoiceMusicOnHold'][_0xd139('0x41')]({'where':{'id':_0x374233[_0xd139('0x40')]['id']}})[_0xd139('0x22')](function(_0x544088){if(_0x544088){return db[_0xd139('0x44')][_0xd139('0x45')](function(_0x310639){return _0x544088[_0xd139('0x25')]({'transaction':_0x310639,'raw':!![]})[_0xd139('0x22')](function(_0x30af5f){if(_0x30af5f[_0xd139('0x48')]){fs[_0xd139('0x4f')](_0x30af5f['directory'])[_0xd139('0x50')](function(_0x5de8a8){fs[_0xd139('0x51')](path[_0xd139('0x52')](_0x30af5f[_0xd139('0x48')],_0x5de8a8));});fs[_0xd139('0x53')](_0x30af5f[_0xd139('0x48')]);}return _0x30af5f;});})[_0xd139('0x3f')](function(_0x57d657){throw new db[(_0xd139('0x54'))]['ValidationError'](_0x57d657[_0xd139('0x55')]);});}})['then'](handleEntityNotFound(_0x25ce2e,null))[_0xd139('0x22')](removeEntity(_0x25ce2e,null))[_0xd139('0x3f')](handleError(_0x25ce2e,null));};exports[_0xd139('0x56')]=function(_0x1e2727,_0x5f41f0,_0x575c47){return db['sequelize'][_0xd139('0x45')](function(_0x366382){var _0x340c54;return db[_0xd139('0x2a')]['find']({'where':{'id':_0x1e2727[_0xd139('0x40')]['id']}})[_0xd139('0x22')](function(_0x3feceb){if(_0x3feceb){_0x340c54=_0x3feceb;return _0x3feceb[_0xd139('0x56')](_0x1e2727[_0xd139('0x42')]['id'],{'transaction':_0x366382});}})[_0xd139('0x22')](function(_0x2fb518){if(_0x2fb518){return db[_0xd139('0x57')][_0xd139('0x58')]({'where':{'id':_0x1e2727[_0xd139('0x42')]['id']},'attributes':['id',_0xd139('0x27'),_0xd139('0x59'),_0xd139('0x5a'),_0xd139('0x5b')],'raw':!![]});}})['then'](function(_0x539786){if(_0x539786){var _0x2a5d87=path['join'](config[_0xd139('0x5c')],_0xd139('0x5d'),util['format']('%s.%s',path[_0xd139('0x5e')](_0x539786[_0xd139('0x59')],path[_0xd139('0x5f')](_0x539786[_0xd139('0x59')])),_0x539786['converted_format']));var _0x3cd4c9=path['join'](config[_0xd139('0x5c')],_0xd139('0x49'),_0x340c54[_0xd139('0x27')],util[_0xd139('0x60')](_0xd139('0x61'),_0x539786[_0xd139('0x27')],_0x539786[_0xd139('0x5a')]));fs['symlinkSync'](_0x2a5d87,_0x3cd4c9);return _0x539786;}})[_0xd139('0x3f')](function(_0x344d54){throw new db[(_0xd139('0x54'))][(_0xd139('0x62'))](_0x344d54[_0xd139('0x55')]);});})[_0xd139('0x22')](handleEntityNotFound(_0x5f41f0,null))[_0xd139('0x22')](respondWithResult(_0x5f41f0,0xc9))[_0xd139('0x3f')](handleError(_0x5f41f0,null));};exports[_0xd139('0x63')]=function(_0x43f758,_0x3ab618,_0x3eae28){return db[_0xd139('0x44')][_0xd139('0x45')](function(_0x3a460d){var _0x3ed4c5;return db[_0xd139('0x2a')][_0xd139('0x58')]({'where':{'id':_0x43f758[_0xd139('0x40')]['id']}})[_0xd139('0x22')](handleEntityNotFound(_0x3ab618,null))[_0xd139('0x22')](function(_0x4f2394){if(_0x4f2394){_0x3ed4c5=_0x4f2394;return _0x4f2394['removeSound'](_0x43f758[_0xd139('0x40')][_0xd139('0x64')]);}})[_0xd139('0x22')](function(_0x25845e){if(_0x25845e){return db[_0xd139('0x57')][_0xd139('0x58')]({'where':{'id':_0x43f758[_0xd139('0x40')][_0xd139('0x64')]},'attributes':['id',_0xd139('0x27'),'save_name',_0xd139('0x5a'),_0xd139('0x5b')],'raw':!![]});}})['then'](function(_0x2aeef5){if(_0x2aeef5){fs['unlinkSync'](path['join'](_0x3ed4c5[_0xd139('0x48')],util[_0xd139('0x60')](_0xd139('0x61'),_0x2aeef5['name'],_0x2aeef5[_0xd139('0x5a')])));return _0x2aeef5;}})[_0xd139('0x3f')](function(_0x346167){throw new db[(_0xd139('0x54'))]['ValidationError'](_0x346167[_0xd139('0x55')]);});})[_0xd139('0x22')](handleEntityNotFound(_0x3ab618,null))['then'](respondWithStatusCode(_0x3ab618,0xcc))[_0xd139('0x3f')](handleError(_0x3ab618,null));};exports[_0xd139('0x65')]=function(_0x488c64,_0xe0f131,_0x5a9776){var _0x4a77d0={};var _0x519cb9={};var _0x362ca3;var _0x1ad9b9;return db['VoiceMusicOnHold'][_0xd139('0x58')]({'where':{'id':_0x488c64[_0xd139('0x40')]['id']}})['then'](handleEntityNotFound(_0xe0f131,null))[_0xd139('0x22')](function(_0x226fb4){if(_0x226fb4){_0x362ca3=_0x226fb4;_0x519cb9[_0xd139('0x2f')]=_['keys'](db[_0xd139('0x57')][_0xd139('0x2b')]);_0x519cb9[_0xd139('0x30')]=_['keys'](_0x488c64[_0xd139('0x30')]);_0x519cb9[_0xd139('0x32')]=_['intersection'](_0x519cb9['model'],_0x519cb9['query']);_0x4a77d0['attributes']=_[_0xd139('0x33')](_0x519cb9[_0xd139('0x2f')],qs[_0xd139('0x34')](_0x488c64[_0xd139('0x30')][_0xd139('0x34')]));_0x4a77d0[_0xd139('0x35')]=_0x4a77d0[_0xd139('0x35')][_0xd139('0x36')]?_0x4a77d0['attributes']:_0x519cb9[_0xd139('0x2f')];_0x4a77d0[_0xd139('0x66')]=qs[_0xd139('0x37')](_0x488c64['query']['sort']);_0x4a77d0[_0xd139('0x3a')]=qs['filters'](_['pick'](_0x488c64['query'],_0x519cb9[_0xd139('0x32')]));if(_0x488c64['query'][_0xd139('0x39')]){_0x4a77d0[_0xd139('0x3a')]=_[_0xd139('0x3b')](_0x4a77d0[_0xd139('0x3a')],{'$or':_[_0xd139('0x29')](_0x4a77d0['attributes'],function(_0x345c57){var _0xc334bb={};_0xc334bb[_0x345c57]={'$like':'%'+_0x488c64[_0xd139('0x30')][_0xd139('0x39')]+'%'};return _0xc334bb;})});}_0x4a77d0=_[_0xd139('0x3b')]({},_0x4a77d0,_0x488c64['options']);return _0x362ca3['getSounds'](_0x4a77d0);}})['then'](function(_0x2f55a2){if(_0x2f55a2){_0x1ad9b9=_0x2f55a2[_0xd139('0x36')];if(!_0x488c64[_0xd139('0x30')]['hasOwnProperty'](_0xd139('0x67'))){_0x4a77d0[_0xd139('0x1b')]=qs[_0xd139('0x1b')](_0x488c64['query'][_0xd139('0x1b')]);_0x4a77d0['offset']=qs['offset'](_0x488c64['query']['offset']);}return _0x362ca3[_0xd139('0x65')](_0x4a77d0);}})[_0xd139('0x22')](function(_0x368362){if(_0x368362){return _0x368362?{'count':_0x1ad9b9,'rows':_0x368362}:null;}})[_0xd139('0x22')](respondWithResult(_0xe0f131,null))[_0xd139('0x3f')](handleError(_0xe0f131,null));};