1c75feb97b6e30621e836590930152ccbc6945a9
[motion2.git] / server / api / voiceMailMessage / voiceMailMessage.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 _0x2b5a=['key','model','differenceBy','query','keys','filters','attributes','intersection','fields','hasOwnProperty','nolimit','order','sort','pick','filter','where','VIRTUAL','merge','options','VoiceMailMessage','includeAll','include','findAll','rows','show','params','length','find','catch','create','body','recording','Sequelize','ValidationError','VoiceMailMessage\x20not\x20found','audio/wav','attachment','msg_id','Content-Disposition','attachment;\x20filename=\x22','send','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','ejs','fs-extra','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','set','Content-Range','apply','reject','save','update','then','destroy','error','stack','name','index','map','rawAttributes','fieldName','type'];(function(_0x1a89a1,_0x56d889){var _0x3d5b46=function(_0x56debf){while(--_0x56debf){_0x1a89a1['push'](_0x1a89a1['shift']());}};_0x3d5b46(++_0x56d889);}(_0x2b5a,0x1e1));var _0xa2b5=function(_0x36f4cf,_0x1b1f98){_0x36f4cf=_0x36f4cf-0x0;var _0x43d02b=_0x2b5a[_0x36f4cf];return _0x43d02b;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0xa2b5('0x0'));var jsonpatch=require(_0xa2b5('0x1'));var rp=require(_0xa2b5('0x2'));var moment=require(_0xa2b5('0x3'));var BPromise=require(_0xa2b5('0x4'));var Mustache=require(_0xa2b5('0x5'));var util=require(_0xa2b5('0x6'));var path=require(_0xa2b5('0x7'));var sox=require(_0xa2b5('0x8'));var csv=require('to-csv');var ejs=require(_0xa2b5('0x9'));var fs=require('fs');var fs_extra=require(_0xa2b5('0xa'));var _=require('lodash');var squel=require(_0xa2b5('0xb'));var crypto=require(_0xa2b5('0xc'));var jsforce=require(_0xa2b5('0xd'));var deskjs=require(_0xa2b5('0xe'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0xa2b5('0xf'));var Redis=require(_0xa2b5('0x10'));var authService=require(_0xa2b5('0x11'));var qs=require(_0xa2b5('0x12'));var as=require(_0xa2b5('0x13'));var hardwareService=require(_0xa2b5('0x14'));var logger=require('../../config/logger')(_0xa2b5('0x15'));var utils=require('../../config/utils');var config=require(_0xa2b5('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0xa2b5('0x17'))['db'];function respondWithStatusCode(_0x33eeec,_0x31e04f){_0x31e04f=_0x31e04f||0xcc;return function(_0x91b4fd){if(_0x91b4fd){return _0x33eeec[_0xa2b5('0x18')](_0x31e04f);}return _0x33eeec[_0xa2b5('0x19')](_0x31e04f)[_0xa2b5('0x1a')]();};}function respondWithResult(_0x593682,_0xd179c3){_0xd179c3=_0xd179c3||0xc8;return function(_0xab173a){if(_0xab173a){return _0x593682[_0xa2b5('0x19')](_0xd179c3)[_0xa2b5('0x1b')](_0xab173a);}};}function respondWithFilteredResult(_0x2d78cd,_0x1cbfe6){return function(_0x4f3dff){if(_0x4f3dff){var _0x270a74=typeof _0x1cbfe6[_0xa2b5('0x1c')]==='undefined'&&typeof _0x1cbfe6['limit']===_0xa2b5('0x1d');var _0xd6a932=_0x4f3dff['count'];var _0x37ae1d=_0x270a74?0x0:_0x1cbfe6[_0xa2b5('0x1c')];var _0x2b2a54=_0x270a74?_0x4f3dff['count']:_0x1cbfe6[_0xa2b5('0x1c')]+_0x1cbfe6[_0xa2b5('0x1e')];var _0x33e178;if(_0x2b2a54>=_0xd6a932){_0x2b2a54=_0xd6a932;_0x33e178=0xc8;}else{_0x33e178=0xce;}_0x2d78cd['status'](_0x33e178);return _0x2d78cd[_0xa2b5('0x1f')](_0xa2b5('0x20'),_0x37ae1d+'-'+_0x2b2a54+'/'+_0xd6a932)['json'](_0x4f3dff);}return null;};}function patchUpdates(_0x2d0955){return function(_0x2c48fc){try{jsonpatch[_0xa2b5('0x21')](_0x2c48fc,_0x2d0955,!![]);}catch(_0x876171){return BPromise[_0xa2b5('0x22')](_0x876171);}return _0x2c48fc[_0xa2b5('0x23')]();};}function saveUpdates(_0x2a5676,_0x5122b4){return function(_0x1924bd){if(_0x1924bd){return _0x1924bd[_0xa2b5('0x24')](_0x2a5676)[_0xa2b5('0x25')](function(_0x4a6ce9){return _0x4a6ce9;});}return null;};}function removeEntity(_0x16c5a2,_0x1693e8){return function(_0xad9335){if(_0xad9335){return _0xad9335[_0xa2b5('0x26')]()[_0xa2b5('0x25')](function(){_0x16c5a2['status'](0xcc)[_0xa2b5('0x1a')]();});}};}function handleEntityNotFound(_0x10db20,_0x12957e){return function(_0x3c2752){if(!_0x3c2752){_0x10db20[_0xa2b5('0x18')](0x194);}return _0x3c2752;};}function handleError(_0x59723f,_0x33d120){_0x33d120=_0x33d120||0x1f4;return function(_0x3903da){logger[_0xa2b5('0x27')](_0x3903da[_0xa2b5('0x28')]);if(_0x3903da[_0xa2b5('0x29')]){delete _0x3903da[_0xa2b5('0x29')];}_0x59723f[_0xa2b5('0x19')](_0x33d120)['send'](_0x3903da);};}exports[_0xa2b5('0x2a')]=function(_0x155dc0,_0x310df9){var _0x2be494={},_0xd6d897={},_0x1a9544={'count':0x0,'rows':[]};var _0x338c82=_[_0xa2b5('0x2b')](db['VoiceMailMessage'][_0xa2b5('0x2c')],function(_0x163b8f){return{'name':_0x163b8f[_0xa2b5('0x2d')],'type':_0x163b8f[_0xa2b5('0x2e')][_0xa2b5('0x2f')]};});_0xd6d897[_0xa2b5('0x30')]=_[_0xa2b5('0x31')](_[_0xa2b5('0x2b')](_0x338c82,_0xa2b5('0x29')),['name']);_0xd6d897[_0xa2b5('0x32')]=_[_0xa2b5('0x33')](_0x155dc0[_0xa2b5('0x32')]);_0xd6d897[_0xa2b5('0x34')]=_['intersection'](_0xd6d897['model'],_0xd6d897['query']);_0x2be494[_0xa2b5('0x35')]=_[_0xa2b5('0x36')](_0xd6d897[_0xa2b5('0x30')],qs[_0xa2b5('0x37')](_0x155dc0[_0xa2b5('0x32')][_0xa2b5('0x37')]));_0x2be494[_0xa2b5('0x35')]=_0x2be494['attributes']['length']?_0x2be494[_0xa2b5('0x35')]:_0xd6d897[_0xa2b5('0x30')];if(!_0x155dc0[_0xa2b5('0x32')][_0xa2b5('0x38')](_0xa2b5('0x39'))){_0x2be494['limit']=qs[_0xa2b5('0x1e')](_0x155dc0['query'][_0xa2b5('0x1e')]);_0x2be494[_0xa2b5('0x1c')]=qs[_0xa2b5('0x1c')](_0x155dc0['query'][_0xa2b5('0x1c')]);}_0x2be494[_0xa2b5('0x3a')]=qs[_0xa2b5('0x3b')](_0x155dc0[_0xa2b5('0x32')][_0xa2b5('0x3b')]);_0x2be494['where']=qs[_0xa2b5('0x34')](_[_0xa2b5('0x3c')](_0x155dc0[_0xa2b5('0x32')],_0xd6d897[_0xa2b5('0x34')]),_0x338c82);if(_0x155dc0['query'][_0xa2b5('0x3d')]){_0x2be494['where']=_['merge'](_0x2be494[_0xa2b5('0x3e')],{'$or':_[_0xa2b5('0x2b')](_0x338c82,function(_0x2bad3a){if(_0x2bad3a['type']!==_0xa2b5('0x3f')){var _0x398df2={};_0x398df2[_0x2bad3a['name']]={'$like':'%'+_0x155dc0[_0xa2b5('0x32')][_0xa2b5('0x3d')]+'%'};return _0x398df2;}})});}_0x2be494=_[_0xa2b5('0x40')]({},_0x2be494,_0x155dc0[_0xa2b5('0x41')]);var _0x4d2898={'where':_0x2be494[_0xa2b5('0x3e')]};return db[_0xa2b5('0x42')]['count'](_0x4d2898)['then'](function(_0x5d282f){_0x1a9544['count']=_0x5d282f;if(_0x155dc0[_0xa2b5('0x32')][_0xa2b5('0x43')]){_0x2be494[_0xa2b5('0x44')]=[{'all':!![]}];}return db['VoiceMailMessage'][_0xa2b5('0x45')](_0x2be494);})['then'](function(_0x5db51e){_0x1a9544[_0xa2b5('0x46')]=_0x5db51e;return _0x1a9544;})[_0xa2b5('0x25')](respondWithFilteredResult(_0x310df9,_0x2be494))['catch'](handleError(_0x310df9,null));};exports[_0xa2b5('0x47')]=function(_0x153aae,_0x251c07){var _0x16ae19={'raw':!![],'where':{'id':_0x153aae[_0xa2b5('0x48')]['id']}},_0x550a94={};_0x550a94[_0xa2b5('0x30')]=_[_0xa2b5('0x33')](db[_0xa2b5('0x42')][_0xa2b5('0x2c')]);_0x550a94['query']=_['keys'](_0x153aae['query']);_0x550a94[_0xa2b5('0x34')]=_[_0xa2b5('0x36')](_0x550a94[_0xa2b5('0x30')],_0x550a94[_0xa2b5('0x32')]);_0x16ae19[_0xa2b5('0x35')]=_[_0xa2b5('0x36')](_0x550a94[_0xa2b5('0x30')],qs[_0xa2b5('0x37')](_0x153aae[_0xa2b5('0x32')][_0xa2b5('0x37')]));_0x16ae19[_0xa2b5('0x35')]=_0x16ae19[_0xa2b5('0x35')][_0xa2b5('0x49')]?_0x16ae19[_0xa2b5('0x35')]:_0x550a94['model'];if(_0x153aae[_0xa2b5('0x32')][_0xa2b5('0x43')]){_0x16ae19['include']=[{'all':!![]}];}_0x16ae19=_[_0xa2b5('0x40')]({},_0x16ae19,_0x153aae[_0xa2b5('0x41')]);return db['VoiceMailMessage'][_0xa2b5('0x4a')](_0x16ae19)['then'](handleEntityNotFound(_0x251c07,null))[_0xa2b5('0x25')](respondWithResult(_0x251c07,null))[_0xa2b5('0x4b')](handleError(_0x251c07,null));};exports[_0xa2b5('0x4c')]=function(_0x1e2f38,_0x4b6961){return db['VoiceMailMessage'][_0xa2b5('0x4c')](_0x1e2f38[_0xa2b5('0x4d')],{})['then'](respondWithResult(_0x4b6961,0xc9))[_0xa2b5('0x4b')](handleError(_0x4b6961,null));};exports[_0xa2b5('0x24')]=function(_0x1ff7c2,_0x1ad4f4){if(_0x1ff7c2[_0xa2b5('0x4d')]['id']){delete _0x1ff7c2[_0xa2b5('0x4d')]['id'];}return db['VoiceMailMessage'][_0xa2b5('0x4a')]({'where':{'id':_0x1ff7c2['params']['id']}})[_0xa2b5('0x25')](handleEntityNotFound(_0x1ad4f4,null))[_0xa2b5('0x25')](saveUpdates(_0x1ff7c2['body'],null))['then'](respondWithResult(_0x1ad4f4,null))[_0xa2b5('0x4b')](handleError(_0x1ad4f4,null));};exports[_0xa2b5('0x26')]=function(_0x30058d,_0x345529){return db[_0xa2b5('0x42')]['find']({'where':{'id':_0x30058d['params']['id']}})['then'](handleEntityNotFound(_0x345529,null))[_0xa2b5('0x25')](removeEntity(_0x345529,null))[_0xa2b5('0x4b')](handleError(_0x345529,null));};exports['download']=function(_0x377b92,_0x3fdce3,_0x47b53a){return db[_0xa2b5('0x42')][_0xa2b5('0x4a')]({'where':{'id':_0x377b92[_0xa2b5('0x48')]['id']},'attributes':['id','recording','msg_id']})[_0xa2b5('0x25')](handleEntityNotFound(_0x3fdce3,null))[_0xa2b5('0x25')](function(_0x31abb1){if(_0x31abb1){if(!_0x31abb1[_0xa2b5('0x4e')]){throw new db[(_0xa2b5('0x4f'))][(_0xa2b5('0x50'))](_0xa2b5('0x51'));}var _0x13e017={'Content-Type':_0xa2b5('0x52'),'Content-Disposition':_0xa2b5('0x53')};if(_0x31abb1[_0xa2b5('0x54')]){_0x13e017[_0xa2b5('0x55')]=_0xa2b5('0x56')+_0x31abb1[_0xa2b5('0x54')]+'.wav\x22';}_0x3fdce3[_0xa2b5('0x1f')](_0x13e017);return _0x3fdce3[_0xa2b5('0x57')](new Buffer(_0x31abb1[_0xa2b5('0x4e')]));}})[_0xa2b5('0x4b')](handleError(_0x3fdce3,null));};