Built motion from commit (unavailable).|2.5.9
[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 _0x3753=['pick','filter','merge','VIRTUAL','count','includeAll','include','findAll','rows','params','length','options','find','body','create','transaction','mode','directory','join','root','server/files/moh','files','mkdirSync','0777','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','UserProfileSection','userProfileId','catch','sequelize','readdirSync','forEach','ValidationError','message','addSound','findOne','converted_format','format','%s.%s','save_name','symlinkSync','Sequelize','removeSound','id2','createdAt','unlinkSync','getSounds','Sound','nolimit','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','to-csv','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../config/license/hardware','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','limit','set','Content-Range','apply','reject','update','then','destroy','MusicOnHolds','UserProfileResource','end','error','stack','name','send','index','VoiceMusicOnHold','rawAttributes','type','map','query','keys','filters','model','attributes','intersection','fields','hasOwnProperty','order','sort','where'];(function(_0x11005e,_0x20c3d2){var _0x29338f=function(_0x3384e9){while(--_0x3384e9){_0x11005e['push'](_0x11005e['shift']());}};_0x29338f(++_0x20c3d2);}(_0x3753,0x1e3));var _0x3375=function(_0x471cfe,_0x55314f){_0x471cfe=_0x471cfe-0x0;var _0x1d317a=_0x3753[_0x471cfe];return _0x1d317a;};'use strict';var pdf=require(_0x3375('0x0'));var emlformat=require(_0x3375('0x1'));var rimraf=require(_0x3375('0x2'));var zipdir=require(_0x3375('0x3'));var jsonpatch=require(_0x3375('0x4'));var rp=require(_0x3375('0x5'));var moment=require(_0x3375('0x6'));var BPromise=require('bluebird');var Mustache=require(_0x3375('0x7'));var util=require(_0x3375('0x8'));var path=require('path');var sox=require('sox');var csv=require(_0x3375('0x9'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x3375('0xa'));var squel=require(_0x3375('0xb'));var crypto=require(_0x3375('0xc'));var jsforce=require(_0x3375('0xd'));var deskjs=require(_0x3375('0xe'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x3375('0xf'));var Redis=require(_0x3375('0x10'));var authService=require(_0x3375('0x11'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x3375('0x12'));var logger=require('../../config/logger')('api');var utils=require('../../config/utils');var config=require(_0x3375('0x13'));var licenseUtil=require(_0x3375('0x14'));var db=require(_0x3375('0x15'))['db'];function respondWithStatusCode(_0x157d5a,_0x5e61ed){_0x5e61ed=_0x5e61ed||0xcc;return function(_0x29d72d){if(_0x29d72d){return _0x157d5a[_0x3375('0x16')](_0x5e61ed);}return _0x157d5a[_0x3375('0x17')](_0x5e61ed)['end']();};}function respondWithResult(_0x1a4287,_0x47dd88){_0x47dd88=_0x47dd88||0xc8;return function(_0xe0d389){if(_0xe0d389){return _0x1a4287['status'](_0x47dd88)[_0x3375('0x18')](_0xe0d389);}};}function respondWithFilteredResult(_0x268b21,_0x3ecc6e){return function(_0xd001d4){if(_0xd001d4){var _0x4c7fd3=_0xd001d4['count'],_0x2cab51=_0x3ecc6e[_0x3375('0x19')],_0x135a2e=_0x3ecc6e[_0x3375('0x19')]+_0x3ecc6e[_0x3375('0x1a')],_0x1d4a4a;if(_0x135a2e>=_0x4c7fd3){_0x135a2e=_0x4c7fd3;_0x1d4a4a=0xc8;}else{_0x1d4a4a=0xce;}_0x268b21[_0x3375('0x17')](_0x1d4a4a);return _0x268b21[_0x3375('0x1b')](_0x3375('0x1c'),_0x2cab51+'-'+_0x135a2e+'/'+_0x4c7fd3)[_0x3375('0x18')](_0xd001d4);}return null;};}function patchUpdates(_0x5d9848){return function(_0x2a7350){try{jsonpatch[_0x3375('0x1d')](_0x2a7350,_0x5d9848,!![]);}catch(_0xd4d843){return BPromise[_0x3375('0x1e')](_0xd4d843);}return _0x2a7350['save']();};}function saveUpdates(_0x59b1e1,_0x565d54){return function(_0x14c28a){if(_0x14c28a){return _0x14c28a[_0x3375('0x1f')](_0x59b1e1)[_0x3375('0x20')](function(_0x599658){return _0x599658;});}return null;};}function removeEntity(_0xbfab59,_0x37dc8e){return function(_0x922eb3){if(_0x922eb3){return _0x922eb3[_0x3375('0x21')]()[_0x3375('0x20')](function(){var _0x224589=_0x922eb3['get']({'plain':!![]});var _0x2af201=_0x3375('0x22');return db[_0x3375('0x23')][_0x3375('0x21')]({'where':{'type':_0x2af201,'resourceId':_0x224589['id']}})[_0x3375('0x20')](function(){return _0x922eb3;});})[_0x3375('0x20')](function(){_0xbfab59['status'](0xcc)[_0x3375('0x24')]();});}};}function handleEntityNotFound(_0x595ca1,_0x1d776e){return function(_0x2bb450){if(!_0x2bb450){_0x595ca1[_0x3375('0x16')](0x194);}return _0x2bb450;};}function handleError(_0x3d5396,_0x5b386f){_0x5b386f=_0x5b386f||0x1f4;return function(_0x2a224f){logger[_0x3375('0x25')](_0x2a224f[_0x3375('0x26')]);if(_0x2a224f[_0x3375('0x27')]){delete _0x2a224f[_0x3375('0x27')];}_0x3d5396[_0x3375('0x17')](_0x5b386f)[_0x3375('0x28')](_0x2a224f);};}exports[_0x3375('0x29')]=function(_0x580eab,_0xe4ddb2){var _0x56b2ad={},_0x10344a={},_0x5c8c35={'count':0x0,'rows':[]};var _0x42b72c=_['map'](db[_0x3375('0x2a')][_0x3375('0x2b')],function(_0x555454){return{'name':_0x555454['fieldName'],'type':_0x555454[_0x3375('0x2c')]['key']};});_0x10344a['model']=_[_0x3375('0x2d')](_0x42b72c,_0x3375('0x27'));_0x10344a[_0x3375('0x2e')]=_[_0x3375('0x2f')](_0x580eab[_0x3375('0x2e')]);_0x10344a[_0x3375('0x30')]=_['intersection'](_0x10344a[_0x3375('0x31')],_0x10344a[_0x3375('0x2e')]);_0x56b2ad[_0x3375('0x32')]=_[_0x3375('0x33')](_0x10344a[_0x3375('0x31')],qs[_0x3375('0x34')](_0x580eab[_0x3375('0x2e')][_0x3375('0x34')]));_0x56b2ad[_0x3375('0x32')]=_0x56b2ad[_0x3375('0x32')]['length']?_0x56b2ad[_0x3375('0x32')]:_0x10344a[_0x3375('0x31')];if(!_0x580eab[_0x3375('0x2e')][_0x3375('0x35')]('nolimit')){_0x56b2ad[_0x3375('0x1a')]=qs['limit'](_0x580eab['query']['limit']);_0x56b2ad[_0x3375('0x19')]=qs['offset'](_0x580eab[_0x3375('0x2e')]['offset']);}_0x56b2ad[_0x3375('0x36')]=qs[_0x3375('0x37')](_0x580eab['query'][_0x3375('0x37')]);_0x56b2ad[_0x3375('0x38')]=qs['filters'](_[_0x3375('0x39')](_0x580eab['query'],_0x10344a[_0x3375('0x30')]),_0x42b72c);if(_0x580eab[_0x3375('0x2e')][_0x3375('0x3a')]){_0x56b2ad[_0x3375('0x38')]=_[_0x3375('0x3b')](_0x56b2ad[_0x3375('0x38')],{'$or':_[_0x3375('0x2d')](_0x42b72c,function(_0x5aaaf0){if(_0x5aaaf0[_0x3375('0x2c')]!==_0x3375('0x3c')){var _0x226873={};_0x226873[_0x5aaaf0[_0x3375('0x27')]]={'$like':'%'+_0x580eab[_0x3375('0x2e')][_0x3375('0x3a')]+'%'};return _0x226873;}})});}_0x56b2ad=_['merge']({},_0x56b2ad,_0x580eab['options']);var _0x25e8af={'where':_0x56b2ad['where']};return db['VoiceMusicOnHold'][_0x3375('0x3d')](_0x25e8af)['then'](function(_0x264b20){_0x5c8c35[_0x3375('0x3d')]=_0x264b20;if(_0x580eab[_0x3375('0x2e')][_0x3375('0x3e')]){_0x56b2ad[_0x3375('0x3f')]=[{'all':!![]}];}return db[_0x3375('0x2a')][_0x3375('0x40')](_0x56b2ad);})[_0x3375('0x20')](function(_0xe33f33){_0x5c8c35[_0x3375('0x41')]=_0xe33f33;return _0x5c8c35;})[_0x3375('0x20')](respondWithFilteredResult(_0xe4ddb2,_0x56b2ad))['catch'](handleError(_0xe4ddb2,null));};exports['show']=function(_0x187092,_0xda85d0){var _0x58630e={'raw':![],'where':{'id':_0x187092[_0x3375('0x42')]['id']}},_0x486bcf={};_0x486bcf['model']=_[_0x3375('0x2f')](db[_0x3375('0x2a')][_0x3375('0x2b')]);_0x486bcf[_0x3375('0x2e')]=_[_0x3375('0x2f')](_0x187092['query']);_0x486bcf[_0x3375('0x30')]=_['intersection'](_0x486bcf[_0x3375('0x31')],_0x486bcf[_0x3375('0x2e')]);_0x58630e[_0x3375('0x32')]=_[_0x3375('0x33')](_0x486bcf[_0x3375('0x31')],qs[_0x3375('0x34')](_0x187092[_0x3375('0x2e')][_0x3375('0x34')]));_0x58630e[_0x3375('0x32')]=_0x58630e[_0x3375('0x32')][_0x3375('0x43')]?_0x58630e[_0x3375('0x32')]:_0x486bcf['model'];if(_0x187092[_0x3375('0x2e')][_0x3375('0x3e')]){_0x58630e[_0x3375('0x3f')]=[{'all':!![]}];}_0x58630e=_['merge']({},_0x58630e,_0x187092[_0x3375('0x44')]);return db[_0x3375('0x2a')][_0x3375('0x45')](_0x58630e)['then'](handleEntityNotFound(_0xda85d0,null))[_0x3375('0x20')](respondWithResult(_0xda85d0,null))['catch'](handleError(_0xda85d0,null));};exports[_0x3375('0x1f')]=function(_0xff0e53,_0x3a3ffc){if(_0xff0e53[_0x3375('0x46')]['id']){delete _0xff0e53[_0x3375('0x46')]['id'];}return db[_0x3375('0x2a')][_0x3375('0x45')]({'where':{'id':_0xff0e53['params']['id']}})['then'](handleEntityNotFound(_0x3a3ffc,null))[_0x3375('0x20')](saveUpdates(_0xff0e53[_0x3375('0x46')],null))[_0x3375('0x20')](respondWithResult(_0x3a3ffc,null))['catch'](handleError(_0x3a3ffc,null));};exports[_0x3375('0x47')]=function(_0x1c4562,_0x1644ac,_0x50caff){return db['sequelize'][_0x3375('0x48')](function(_0xacbd6){if(_0x1c4562[_0x3375('0x46')][_0x3375('0x49')]==='files'){_0x1c4562[_0x3375('0x46')][_0x3375('0x4a')]=path[_0x3375('0x4b')](config[_0x3375('0x4c')],_0x3375('0x4d'),_0x1c4562[_0x3375('0x46')][_0x3375('0x27')]);}return db[_0x3375('0x2a')]['create'](_0x1c4562[_0x3375('0x46')],{'transaction':_0xacbd6})[_0x3375('0x20')](function(_0xb2023d){if(_0x1c4562['body'][_0x3375('0x49')]===_0x3375('0x4e')){fs[_0x3375('0x4f')](_0xb2023d['directory'],parseInt(_0x3375('0x50'),0x8));}var _0x287d61=_0x1c4562['user'][_0x3375('0x51')]({'plain':!![]});if(!_0x287d61)throw new Error(_0x3375('0x52'));if(_0x287d61[_0x3375('0x53')]===_0x3375('0x54')){var _0x349124=_0xb2023d[_0x3375('0x51')]({'plain':!![]});return db[_0x3375('0x55')][_0x3375('0x45')]({'where':{'name':_0x3375('0x22'),'userProfileId':_0x287d61[_0x3375('0x56')]},'raw':!![]})[_0x3375('0x20')](function(_0x3fb913){if(_0x3fb913&&_0x3fb913['autoAssociation']===0x0){return db['UserProfileResource'][_0x3375('0x47')]({'name':_0x349124[_0x3375('0x27')],'resourceId':_0x349124['id'],'type':_0x3fb913[_0x3375('0x27')],'sectionId':_0x3fb913['id']},{})['then'](function(){return _0xb2023d;});}else{return _0xb2023d;}})[_0x3375('0x57')](function(_0x3b94d9){logger[_0x3375('0x25')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x3b94d9);});}return _0xb2023d;});})[_0x3375('0x20')](respondWithResult(_0x1644ac,0xc9))[_0x3375('0x57')](handleError(_0x1644ac,null));};exports['destroy']=function(_0x107668,_0x43791a,_0x303922){var _0x48f98c;return db['VoiceMusicOnHold'][_0x3375('0x45')]({'where':{'id':_0x107668['params']['id']}})[_0x3375('0x20')](function(_0x18d5d5){if(_0x18d5d5){return db[_0x3375('0x58')][_0x3375('0x48')](function(_0x2a3dd7){return _0x18d5d5[_0x3375('0x21')]({'transaction':_0x2a3dd7,'raw':!![]})['then'](function(_0x42d5bf){if(_0x42d5bf[_0x3375('0x4a')]){fs[_0x3375('0x59')](_0x42d5bf[_0x3375('0x4a')])[_0x3375('0x5a')](function(_0xe1bb96){fs['unlinkSync'](path[_0x3375('0x4b')](_0x42d5bf[_0x3375('0x4a')],_0xe1bb96));});fs['rmdirSync'](_0x42d5bf['directory']);}return _0x42d5bf;});})[_0x3375('0x57')](function(_0x25e98b){throw new db['Sequelize'][(_0x3375('0x5b'))](_0x25e98b[_0x3375('0x5c')]);});}})['then'](handleEntityNotFound(_0x43791a,null))[_0x3375('0x20')](removeEntity(_0x43791a,null))[_0x3375('0x57')](handleError(_0x43791a,null));};exports[_0x3375('0x5d')]=function(_0x41b5ad,_0x363ba8,_0x43a364){return db['sequelize'][_0x3375('0x48')](function(_0x598e9f){var _0x4daba7;return db[_0x3375('0x2a')]['find']({'where':{'id':_0x41b5ad[_0x3375('0x42')]['id']}})['then'](function(_0x15e305){if(_0x15e305){_0x4daba7=_0x15e305;return _0x15e305['addSound'](_0x41b5ad[_0x3375('0x46')]['id'],{'transaction':_0x598e9f});}})[_0x3375('0x20')](function(_0x3917af){if(_0x3917af){return db['Sound'][_0x3375('0x5e')]({'where':{'id':_0x41b5ad['body']['id']},'attributes':['id',_0x3375('0x27'),'save_name',_0x3375('0x5f'),'createdAt'],'raw':!![]});}})['then'](function(_0x3dd1bf){if(_0x3dd1bf){var _0x5d39fe=path['join'](config[_0x3375('0x4c')],'server/files/sounds/converted',util[_0x3375('0x60')](_0x3375('0x61'),path['basename'](_0x3dd1bf[_0x3375('0x62')],path['extname'](_0x3dd1bf['save_name'])),_0x3dd1bf[_0x3375('0x5f')]));var _0x48bbf4=path['join'](config[_0x3375('0x4c')],_0x3375('0x4d'),_0x4daba7[_0x3375('0x27')],util[_0x3375('0x60')](_0x3375('0x61'),_0x3dd1bf[_0x3375('0x27')],_0x3dd1bf[_0x3375('0x5f')]));fs[_0x3375('0x63')](_0x5d39fe,_0x48bbf4);return _0x3dd1bf;}})[_0x3375('0x57')](function(_0x14ace4){throw new db[(_0x3375('0x64'))][(_0x3375('0x5b'))](_0x14ace4[_0x3375('0x5c')]);});})[_0x3375('0x20')](handleEntityNotFound(_0x363ba8,null))[_0x3375('0x20')](respondWithResult(_0x363ba8,0xc9))[_0x3375('0x57')](handleError(_0x363ba8,null));};exports[_0x3375('0x65')]=function(_0x2692b3,_0x175001,_0x345270){return db['sequelize']['transaction'](function(_0x292c94){var _0x541486;return db[_0x3375('0x2a')][_0x3375('0x5e')]({'where':{'id':_0x2692b3[_0x3375('0x42')]['id']}})[_0x3375('0x20')](handleEntityNotFound(_0x175001,null))[_0x3375('0x20')](function(_0x247d4b){if(_0x247d4b){_0x541486=_0x247d4b;return _0x247d4b[_0x3375('0x65')](_0x2692b3['params'][_0x3375('0x66')]);}})[_0x3375('0x20')](function(_0x3049ea){if(_0x3049ea){return db['Sound'][_0x3375('0x5e')]({'where':{'id':_0x2692b3[_0x3375('0x42')][_0x3375('0x66')]},'attributes':['id',_0x3375('0x27'),'save_name',_0x3375('0x5f'),_0x3375('0x67')],'raw':!![]});}})[_0x3375('0x20')](function(_0x330b93){if(_0x330b93){fs[_0x3375('0x68')](path[_0x3375('0x4b')](_0x541486['directory'],util[_0x3375('0x60')](_0x3375('0x61'),_0x330b93['name'],_0x330b93[_0x3375('0x5f')])));return _0x330b93;}})[_0x3375('0x57')](function(_0x3e0365){throw new db[(_0x3375('0x64'))]['ValidationError'](_0x3e0365[_0x3375('0x5c')]);});})[_0x3375('0x20')](handleEntityNotFound(_0x175001,null))[_0x3375('0x20')](respondWithStatusCode(_0x175001,0xcc))[_0x3375('0x57')](handleError(_0x175001,null));};exports[_0x3375('0x69')]=function(_0x1390bf,_0x370ba0,_0x1d6be2){var _0xb0a3f3={};var _0x2213e1={};var _0x1cfaae;var _0x5e4ae8;return db['VoiceMusicOnHold']['findOne']({'where':{'id':_0x1390bf[_0x3375('0x42')]['id']}})[_0x3375('0x20')](handleEntityNotFound(_0x370ba0,null))['then'](function(_0x4acc21){if(_0x4acc21){_0x1cfaae=_0x4acc21;_0x2213e1[_0x3375('0x31')]=_[_0x3375('0x2f')](db[_0x3375('0x6a')][_0x3375('0x2b')]);_0x2213e1['query']=_['keys'](_0x1390bf[_0x3375('0x2e')]);_0x2213e1[_0x3375('0x30')]=_['intersection'](_0x2213e1[_0x3375('0x31')],_0x2213e1[_0x3375('0x2e')]);_0xb0a3f3[_0x3375('0x32')]=_[_0x3375('0x33')](_0x2213e1[_0x3375('0x31')],qs['fields'](_0x1390bf[_0x3375('0x2e')]['fields']));_0xb0a3f3[_0x3375('0x32')]=_0xb0a3f3[_0x3375('0x32')]['length']?_0xb0a3f3['attributes']:_0x2213e1[_0x3375('0x31')];_0xb0a3f3[_0x3375('0x36')]=qs['sort'](_0x1390bf['query'][_0x3375('0x37')]);_0xb0a3f3[_0x3375('0x38')]=qs['filters'](_[_0x3375('0x39')](_0x1390bf['query'],_0x2213e1[_0x3375('0x30')]));if(_0x1390bf[_0x3375('0x2e')][_0x3375('0x3a')]){_0xb0a3f3[_0x3375('0x38')]=_[_0x3375('0x3b')](_0xb0a3f3[_0x3375('0x38')],{'$or':_[_0x3375('0x2d')](_0xb0a3f3[_0x3375('0x32')],function(_0x1224c1){var _0x569799={};_0x569799[_0x1224c1]={'$like':'%'+_0x1390bf[_0x3375('0x2e')][_0x3375('0x3a')]+'%'};return _0x569799;})});}_0xb0a3f3=_[_0x3375('0x3b')]({},_0xb0a3f3,_0x1390bf[_0x3375('0x44')]);return _0x1cfaae['getSounds'](_0xb0a3f3);}})['then'](function(_0xc8b284){if(_0xc8b284){_0x5e4ae8=_0xc8b284[_0x3375('0x43')];if(!_0x1390bf[_0x3375('0x2e')]['hasOwnProperty'](_0x3375('0x6b'))){_0xb0a3f3[_0x3375('0x1a')]=qs['limit'](_0x1390bf[_0x3375('0x2e')][_0x3375('0x1a')]);_0xb0a3f3[_0x3375('0x19')]=qs[_0x3375('0x19')](_0x1390bf['query'][_0x3375('0x19')]);}return _0x1cfaae[_0x3375('0x69')](_0xb0a3f3);}})[_0x3375('0x20')](function(_0x1b52ec){if(_0x1b52ec){return _0x1b52ec?{'count':_0x5e4ae8,'rows':_0x1b52ec}:null;}})[_0x3375('0x20')](respondWithResult(_0x370ba0,null))[_0x3375('0x57')](handleError(_0x370ba0,null));};