c70b2e008fd06a3ce358e650b7e7aa61a6faad82
[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 _0xa448=['moment','bluebird','util','path','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','offset','undefined','limit','count','set','Content-Range','json','apply','save','update','then','end','sendStatus','error','name','rawAttributes','fieldName','type','model','map','query','keys','filters','intersection','attributes','fields','length','order','sort','filter','where','merge','VIRTUAL','options','VoiceMailMessage','includeAll','include','findAll','rows','params','find','catch','body','destroy','download','recording','msg_id','Sequelize','ValidationError','VoiceMailMessage\x20not\x20found','audio/wav','attachment','Content-Disposition','.wav\x22','eml-format','zip-dir','fast-json-patch'];(function(_0xfd183f,_0x21bbde){var _0x40b42e=function(_0x5dfbf3){while(--_0x5dfbf3){_0xfd183f['push'](_0xfd183f['shift']());}};_0x40b42e(++_0x21bbde);}(_0xa448,0xe7));var _0x8a44=function(_0x2204c2,_0x21bb81){_0x2204c2=_0x2204c2-0x0;var _0x234f68=_0xa448[_0x2204c2];return _0x234f68;};'use strict';var emlformat=require(_0x8a44('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x8a44('0x1'));var jsonpatch=require(_0x8a44('0x2'));var rp=require('request-promise');var moment=require(_0x8a44('0x3'));var BPromise=require(_0x8a44('0x4'));var Mustache=require('mustache');var util=require(_0x8a44('0x5'));var path=require(_0x8a44('0x6'));var sox=require('sox');var csv=require(_0x8a44('0x7'));var ejs=require(_0x8a44('0x8'));var fs=require('fs');var fs_extra=require(_0x8a44('0x9'));var _=require(_0x8a44('0xa'));var squel=require('squel');var crypto=require(_0x8a44('0xb'));var jsforce=require(_0x8a44('0xc'));var deskjs=require(_0x8a44('0xd'));var toCsv=require(_0x8a44('0x7'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x8a44('0xe'));var qs=require(_0x8a44('0xf'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x8a44('0x10'));var logger=require(_0x8a44('0x11'))(_0x8a44('0x12'));var utils=require(_0x8a44('0x13'));var config=require(_0x8a44('0x14'));var licenseUtil=require(_0x8a44('0x15'));var db=require(_0x8a44('0x16'))['db'];function respondWithStatusCode(_0x4d30ff,_0x107537){_0x107537=_0x107537||0xcc;return function(_0x5a843b){if(_0x5a843b){return _0x4d30ff['sendStatus'](_0x107537);}return _0x4d30ff[_0x8a44('0x17')](_0x107537)['end']();};}function respondWithResult(_0x4e97d6,_0x3f0a94){_0x3f0a94=_0x3f0a94||0xc8;return function(_0xdb3442){if(_0xdb3442){return _0x4e97d6[_0x8a44('0x17')](_0x3f0a94)['json'](_0xdb3442);}};}function respondWithFilteredResult(_0xcc0e83,_0xaab8d5){return function(_0x3f717b){if(_0x3f717b){var _0x5c278d=typeof _0xaab8d5[_0x8a44('0x18')]===_0x8a44('0x19')&&typeof _0xaab8d5[_0x8a44('0x1a')]==='undefined';var _0x15304f=_0x3f717b['count'];var _0x4e0a75=_0x5c278d?0x0:_0xaab8d5[_0x8a44('0x18')];var _0x4851cc=_0x5c278d?_0x3f717b[_0x8a44('0x1b')]:_0xaab8d5[_0x8a44('0x18')]+_0xaab8d5[_0x8a44('0x1a')];var _0x161337;if(_0x4851cc>=_0x15304f){_0x4851cc=_0x15304f;_0x161337=0xc8;}else{_0x161337=0xce;}_0xcc0e83[_0x8a44('0x17')](_0x161337);return _0xcc0e83[_0x8a44('0x1c')](_0x8a44('0x1d'),_0x4e0a75+'-'+_0x4851cc+'/'+_0x15304f)[_0x8a44('0x1e')](_0x3f717b);}return null;};}function patchUpdates(_0x5c40a4){return function(_0x1358b3){try{jsonpatch[_0x8a44('0x1f')](_0x1358b3,_0x5c40a4,!![]);}catch(_0x5c6c83){return BPromise['reject'](_0x5c6c83);}return _0x1358b3[_0x8a44('0x20')]();};}function saveUpdates(_0x327380,_0x15d576){return function(_0x1538c2){if(_0x1538c2){return _0x1538c2[_0x8a44('0x21')](_0x327380)[_0x8a44('0x22')](function(_0x1b526d){return _0x1b526d;});}return null;};}function removeEntity(_0x285f8b,_0x109e02){return function(_0x353327){if(_0x353327){return _0x353327['destroy']()[_0x8a44('0x22')](function(){_0x285f8b[_0x8a44('0x17')](0xcc)[_0x8a44('0x23')]();});}};}function handleEntityNotFound(_0x5b98f5,_0x4310f6){return function(_0xb8ec79){if(!_0xb8ec79){_0x5b98f5[_0x8a44('0x24')](0x194);}return _0xb8ec79;};}function handleError(_0x5777d4,_0x81bf9){_0x81bf9=_0x81bf9||0x1f4;return function(_0x59c6ff){logger[_0x8a44('0x25')](_0x59c6ff['stack']);if(_0x59c6ff[_0x8a44('0x26')]){delete _0x59c6ff[_0x8a44('0x26')];}_0x5777d4[_0x8a44('0x17')](_0x81bf9)['send'](_0x59c6ff);};}exports['index']=function(_0x270ecd,_0x1fa00f){var _0x5ce05f={},_0x24cde7={},_0x126117={'count':0x0,'rows':[]};var _0x52db04=_['map'](db['VoiceMailMessage'][_0x8a44('0x27')],function(_0x70bc6a){return{'name':_0x70bc6a[_0x8a44('0x28')],'type':_0x70bc6a[_0x8a44('0x29')]['key']};});_0x24cde7[_0x8a44('0x2a')]=_['differenceBy'](_[_0x8a44('0x2b')](_0x52db04,'name'),[_0x8a44('0x26')]);_0x24cde7[_0x8a44('0x2c')]=_[_0x8a44('0x2d')](_0x270ecd[_0x8a44('0x2c')]);_0x24cde7[_0x8a44('0x2e')]=_[_0x8a44('0x2f')](_0x24cde7[_0x8a44('0x2a')],_0x24cde7[_0x8a44('0x2c')]);_0x5ce05f[_0x8a44('0x30')]=_[_0x8a44('0x2f')](_0x24cde7[_0x8a44('0x2a')],qs[_0x8a44('0x31')](_0x270ecd[_0x8a44('0x2c')]['fields']));_0x5ce05f[_0x8a44('0x30')]=_0x5ce05f[_0x8a44('0x30')][_0x8a44('0x32')]?_0x5ce05f['attributes']:_0x24cde7['model'];if(!_0x270ecd['query']['hasOwnProperty']('nolimit')){_0x5ce05f[_0x8a44('0x1a')]=qs[_0x8a44('0x1a')](_0x270ecd[_0x8a44('0x2c')][_0x8a44('0x1a')]);_0x5ce05f['offset']=qs[_0x8a44('0x18')](_0x270ecd[_0x8a44('0x2c')][_0x8a44('0x18')]);}_0x5ce05f[_0x8a44('0x33')]=qs[_0x8a44('0x34')](_0x270ecd[_0x8a44('0x2c')]['sort']);_0x5ce05f['where']=qs[_0x8a44('0x2e')](_['pick'](_0x270ecd[_0x8a44('0x2c')],_0x24cde7[_0x8a44('0x2e')]),_0x52db04);if(_0x270ecd[_0x8a44('0x2c')][_0x8a44('0x35')]){_0x5ce05f[_0x8a44('0x36')]=_[_0x8a44('0x37')](_0x5ce05f[_0x8a44('0x36')],{'$or':_[_0x8a44('0x2b')](_0x52db04,function(_0x6b4071){if(_0x6b4071['type']!==_0x8a44('0x38')){var _0x581812={};_0x581812[_0x6b4071['name']]={'$like':'%'+_0x270ecd['query'][_0x8a44('0x35')]+'%'};return _0x581812;}})});}_0x5ce05f=_[_0x8a44('0x37')]({},_0x5ce05f,_0x270ecd[_0x8a44('0x39')]);var _0x2c7398={'where':_0x5ce05f['where']};return db[_0x8a44('0x3a')][_0x8a44('0x1b')](_0x2c7398)[_0x8a44('0x22')](function(_0x3fa1c1){_0x126117['count']=_0x3fa1c1;if(_0x270ecd['query'][_0x8a44('0x3b')]){_0x5ce05f[_0x8a44('0x3c')]=[{'all':!![]}];}return db[_0x8a44('0x3a')][_0x8a44('0x3d')](_0x5ce05f);})[_0x8a44('0x22')](function(_0x39fa0c){_0x126117[_0x8a44('0x3e')]=_0x39fa0c;return _0x126117;})[_0x8a44('0x22')](respondWithFilteredResult(_0x1fa00f,_0x5ce05f))['catch'](handleError(_0x1fa00f,null));};exports['show']=function(_0x33758c,_0x4f7f93){var _0xf35d80={'raw':!![],'where':{'id':_0x33758c[_0x8a44('0x3f')]['id']}},_0x55a70={};_0x55a70[_0x8a44('0x2a')]=_['keys'](db[_0x8a44('0x3a')][_0x8a44('0x27')]);_0x55a70[_0x8a44('0x2c')]=_[_0x8a44('0x2d')](_0x33758c['query']);_0x55a70[_0x8a44('0x2e')]=_[_0x8a44('0x2f')](_0x55a70[_0x8a44('0x2a')],_0x55a70[_0x8a44('0x2c')]);_0xf35d80['attributes']=_[_0x8a44('0x2f')](_0x55a70[_0x8a44('0x2a')],qs[_0x8a44('0x31')](_0x33758c[_0x8a44('0x2c')][_0x8a44('0x31')]));_0xf35d80['attributes']=_0xf35d80[_0x8a44('0x30')][_0x8a44('0x32')]?_0xf35d80[_0x8a44('0x30')]:_0x55a70['model'];if(_0x33758c['query']['includeAll']){_0xf35d80['include']=[{'all':!![]}];}_0xf35d80=_[_0x8a44('0x37')]({},_0xf35d80,_0x33758c[_0x8a44('0x39')]);return db[_0x8a44('0x3a')][_0x8a44('0x40')](_0xf35d80)[_0x8a44('0x22')](handleEntityNotFound(_0x4f7f93,null))['then'](respondWithResult(_0x4f7f93,null))[_0x8a44('0x41')](handleError(_0x4f7f93,null));};exports['create']=function(_0x393e52,_0x3e80f5){return db['VoiceMailMessage']['create'](_0x393e52[_0x8a44('0x42')],{})['then'](respondWithResult(_0x3e80f5,0xc9))[_0x8a44('0x41')](handleError(_0x3e80f5,null));};exports['update']=function(_0x1e6469,_0x282afa){if(_0x1e6469['body']['id']){delete _0x1e6469['body']['id'];}return db['VoiceMailMessage']['find']({'where':{'id':_0x1e6469[_0x8a44('0x3f')]['id']}})[_0x8a44('0x22')](handleEntityNotFound(_0x282afa,null))[_0x8a44('0x22')](saveUpdates(_0x1e6469[_0x8a44('0x42')],null))['then'](respondWithResult(_0x282afa,null))[_0x8a44('0x41')](handleError(_0x282afa,null));};exports[_0x8a44('0x43')]=function(_0x171fa7,_0x59d779){return db[_0x8a44('0x3a')]['find']({'where':{'id':_0x171fa7[_0x8a44('0x3f')]['id']}})[_0x8a44('0x22')](handleEntityNotFound(_0x59d779,null))['then'](removeEntity(_0x59d779,null))[_0x8a44('0x41')](handleError(_0x59d779,null));};exports[_0x8a44('0x44')]=function(_0x25963f,_0xebf5ce,_0x49afc8){return db[_0x8a44('0x3a')][_0x8a44('0x40')]({'where':{'id':_0x25963f[_0x8a44('0x3f')]['id']},'attributes':['id',_0x8a44('0x45'),_0x8a44('0x46')]})[_0x8a44('0x22')](handleEntityNotFound(_0xebf5ce,null))[_0x8a44('0x22')](function(_0x3a97bc){if(_0x3a97bc){if(!_0x3a97bc[_0x8a44('0x45')]){throw new db[(_0x8a44('0x47'))][(_0x8a44('0x48'))](_0x8a44('0x49'));}var _0x50fbfa={'Content-Type':_0x8a44('0x4a'),'Content-Disposition':_0x8a44('0x4b')};if(_0x3a97bc[_0x8a44('0x46')]){_0x50fbfa[_0x8a44('0x4c')]='attachment;\x20filename=\x22'+_0x3a97bc[_0x8a44('0x46')]+_0x8a44('0x4d');}_0xebf5ce[_0x8a44('0x1c')](_0x50fbfa);return _0xebf5ce['send'](new Buffer(_0x3a97bc[_0x8a44('0x45')]));}})[_0x8a44('0x41')](handleError(_0xebf5ce,null));};