Built motion from commit 0900f080.|2.5.45
[motion2.git] / server / api / pause / pause.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 _0x969b=['moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','lodash','jsforce','desk.js','querystring','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','end','status','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','then','destroy','Pauses','error','stack','name','send','rawAttributes','fieldName','type','key','map','query','filters','intersection','model','fields','attributes','length','nolimit','order','sort','where','pick','VIRTUAL','filter','merge','includeAll','include','Pause','rows','catch','show','keys','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','find','userProfileId','autoAssociation','UserProfileResource','update','params','eml-format','rimraf','fast-json-patch','request-promise'];(function(_0x5f0089,_0x227e2c){var _0x193892=function(_0x24051f){while(--_0x24051f){_0x5f0089['push'](_0x5f0089['shift']());}};_0x193892(++_0x227e2c);}(_0x969b,0x1ee));var _0xb969=function(_0x30daa4,_0x2d2945){_0x30daa4=_0x30daa4-0x0;var _0x2ceab0=_0x969b[_0x30daa4];return _0x2ceab0;};'use strict';var emlformat=require(_0xb969('0x0'));var rimraf=require(_0xb969('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xb969('0x2'));var rp=require(_0xb969('0x3'));var moment=require(_0xb969('0x4'));var BPromise=require(_0xb969('0x5'));var Mustache=require(_0xb969('0x6'));var util=require(_0xb969('0x7'));var path=require(_0xb969('0x8'));var sox=require('sox');var csv=require(_0xb969('0x9'));var ejs=require(_0xb969('0xa'));var fs=require('fs');var fs_extra=require(_0xb969('0xb'));var _=require(_0xb969('0xc'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0xb969('0xd'));var deskjs=require(_0xb969('0xe'));var toCsv=require(_0xb969('0x9'));var querystring=require(_0xb969('0xf'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xb969('0x10'));var as=require(_0xb969('0x11'));var hardwareService=require(_0xb969('0x12'));var logger=require(_0xb969('0x13'))(_0xb969('0x14'));var utils=require(_0xb969('0x15'));var config=require(_0xb969('0x16'));var licenseUtil=require(_0xb969('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x4dedfc,_0x590db3){_0x590db3=_0x590db3||0xcc;return function(_0x117dc1){if(_0x117dc1){return _0x4dedfc[_0xb969('0x18')](_0x590db3);}return _0x4dedfc['status'](_0x590db3)[_0xb969('0x19')]();};}function respondWithResult(_0x242e5e,_0x183c8a){_0x183c8a=_0x183c8a||0xc8;return function(_0x1feb3e){if(_0x1feb3e){return _0x242e5e[_0xb969('0x1a')](_0x183c8a)[_0xb969('0x1b')](_0x1feb3e);}};}function respondWithFilteredResult(_0x1476bf,_0x4df316){return function(_0xc16195){if(_0xc16195){var _0x16cad7=typeof _0x4df316[_0xb969('0x1c')]===_0xb969('0x1d')&&typeof _0x4df316[_0xb969('0x1e')]===_0xb969('0x1d');var _0x78d0ff=_0xc16195[_0xb969('0x1f')];var _0x58390c=_0x16cad7?0x0:_0x4df316[_0xb969('0x1c')];var _0x3950c0=_0x16cad7?_0xc16195[_0xb969('0x1f')]:_0x4df316[_0xb969('0x1c')]+_0x4df316['limit'];var _0x70faa1;if(_0x3950c0>=_0x78d0ff){_0x3950c0=_0x78d0ff;_0x70faa1=0xc8;}else{_0x70faa1=0xce;}_0x1476bf[_0xb969('0x1a')](_0x70faa1);return _0x1476bf[_0xb969('0x20')](_0xb969('0x21'),_0x58390c+'-'+_0x3950c0+'/'+_0x78d0ff)[_0xb969('0x1b')](_0xc16195);}return null;};}function patchUpdates(_0x3a52ea){return function(_0x591a29){try{jsonpatch[_0xb969('0x22')](_0x591a29,_0x3a52ea,!![]);}catch(_0x4fc36d){return BPromise[_0xb969('0x23')](_0x4fc36d);}return _0x591a29[_0xb969('0x24')]();};}function saveUpdates(_0x679598,_0xddb9e1){return function(_0x36c931){if(_0x36c931){return _0x36c931['update'](_0x679598)[_0xb969('0x25')](function(_0x59f9df){return _0x59f9df;});}return null;};}function removeEntity(_0x5b342e,_0x296dda){return function(_0x5bc0fd){if(_0x5bc0fd){return _0x5bc0fd[_0xb969('0x26')]()[_0xb969('0x25')](function(){var _0xc2a916=_0x5bc0fd['get']({'plain':!![]});var _0x2e75c6=_0xb969('0x27');return db['UserProfileResource'][_0xb969('0x26')]({'where':{'type':_0x2e75c6,'resourceId':_0xc2a916['id']}})['then'](function(){return _0x5bc0fd;});})[_0xb969('0x25')](function(){_0x5b342e['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x2ea40b,_0x50b8b6){return function(_0x234045){if(!_0x234045){_0x2ea40b[_0xb969('0x18')](0x194);}return _0x234045;};}function handleError(_0x54a5de,_0x30b05c){_0x30b05c=_0x30b05c||0x1f4;return function(_0x21dabc){logger[_0xb969('0x28')](_0x21dabc[_0xb969('0x29')]);if(_0x21dabc['name']){delete _0x21dabc[_0xb969('0x2a')];}_0x54a5de[_0xb969('0x1a')](_0x30b05c)[_0xb969('0x2b')](_0x21dabc);};}exports['index']=function(_0x550563,_0x2738d8){var _0x18fc96={},_0x1baf9c={},_0x544664={'count':0x0,'rows':[]};var _0x1d3dc9=_['map'](db['Pause'][_0xb969('0x2c')],function(_0x21c07a){return{'name':_0x21c07a[_0xb969('0x2d')],'type':_0x21c07a[_0xb969('0x2e')][_0xb969('0x2f')]};});_0x1baf9c['model']=_[_0xb969('0x30')](_0x1d3dc9,_0xb969('0x2a'));_0x1baf9c[_0xb969('0x31')]=_['keys'](_0x550563[_0xb969('0x31')]);_0x1baf9c[_0xb969('0x32')]=_[_0xb969('0x33')](_0x1baf9c[_0xb969('0x34')],_0x1baf9c[_0xb969('0x31')]);_0x18fc96['attributes']=_[_0xb969('0x33')](_0x1baf9c[_0xb969('0x34')],qs['fields'](_0x550563[_0xb969('0x31')][_0xb969('0x35')]));_0x18fc96[_0xb969('0x36')]=_0x18fc96['attributes'][_0xb969('0x37')]?_0x18fc96[_0xb969('0x36')]:_0x1baf9c[_0xb969('0x34')];if(!_0x550563[_0xb969('0x31')]['hasOwnProperty'](_0xb969('0x38'))){_0x18fc96[_0xb969('0x1e')]=qs[_0xb969('0x1e')](_0x550563[_0xb969('0x31')][_0xb969('0x1e')]);_0x18fc96[_0xb969('0x1c')]=qs[_0xb969('0x1c')](_0x550563['query']['offset']);}_0x18fc96[_0xb969('0x39')]=qs['sort'](_0x550563[_0xb969('0x31')][_0xb969('0x3a')]);_0x18fc96[_0xb969('0x3b')]=qs[_0xb969('0x32')](_[_0xb969('0x3c')](_0x550563[_0xb969('0x31')],_0x1baf9c[_0xb969('0x32')]),_0x1d3dc9);if(_0x550563[_0xb969('0x31')]['filter']){_0x18fc96[_0xb969('0x3b')]=_['merge'](_0x18fc96['where'],{'$or':_['map'](_0x1d3dc9,function(_0x323c02){if(_0x323c02['type']!==_0xb969('0x3d')){var _0x3efd3b={};_0x3efd3b[_0x323c02[_0xb969('0x2a')]]={'$like':'%'+_0x550563[_0xb969('0x31')][_0xb969('0x3e')]+'%'};return _0x3efd3b;}})});}_0x18fc96=_[_0xb969('0x3f')]({},_0x18fc96,_0x550563['options']);var _0x1041d2={'where':_0x18fc96['where']};return db['Pause'][_0xb969('0x1f')](_0x1041d2)['then'](function(_0x2bfe30){_0x544664['count']=_0x2bfe30;if(_0x550563[_0xb969('0x31')][_0xb969('0x40')]){_0x18fc96[_0xb969('0x41')]=[{'all':!![]}];}return db[_0xb969('0x42')]['findAll'](_0x18fc96);})[_0xb969('0x25')](function(_0x49d2e3){_0x544664[_0xb969('0x43')]=_0x49d2e3;return _0x544664;})[_0xb969('0x25')](respondWithFilteredResult(_0x2738d8,_0x18fc96))[_0xb969('0x44')](handleError(_0x2738d8,null));};exports[_0xb969('0x45')]=function(_0x47a079,_0x3e316c){var _0x159364={'raw':!![],'where':{'id':_0x47a079['params']['id']}},_0x983b5c={};_0x983b5c[_0xb969('0x34')]=_[_0xb969('0x46')](db[_0xb969('0x42')][_0xb969('0x2c')]);_0x983b5c[_0xb969('0x31')]=_['keys'](_0x47a079[_0xb969('0x31')]);_0x983b5c['filters']=_[_0xb969('0x33')](_0x983b5c[_0xb969('0x34')],_0x983b5c[_0xb969('0x31')]);_0x159364[_0xb969('0x36')]=_[_0xb969('0x33')](_0x983b5c['model'],qs[_0xb969('0x35')](_0x47a079['query'][_0xb969('0x35')]));_0x159364['attributes']=_0x159364['attributes'][_0xb969('0x37')]?_0x159364[_0xb969('0x36')]:_0x983b5c[_0xb969('0x34')];if(_0x47a079[_0xb969('0x31')][_0xb969('0x40')]){_0x159364[_0xb969('0x41')]=[{'all':!![]}];}_0x159364=_[_0xb969('0x3f')]({},_0x159364,_0x47a079['options']);return db['Pause']['find'](_0x159364)[_0xb969('0x25')](handleEntityNotFound(_0x3e316c,null))[_0xb969('0x25')](respondWithResult(_0x3e316c,null))[_0xb969('0x44')](handleError(_0x3e316c,null));};exports[_0xb969('0x47')]=function(_0x367e92,_0x48f258){return db['Pause'][_0xb969('0x47')](_0x367e92[_0xb969('0x48')],{})[_0xb969('0x25')](function(_0x542221){var _0x1afee3=_0x367e92[_0xb969('0x49')][_0xb969('0x4a')]({'plain':!![]});if(!_0x1afee3)throw new Error(_0xb969('0x4b'));if(_0x1afee3[_0xb969('0x4c')]==='user'){var _0x5beb4d=_0x542221[_0xb969('0x4a')]({'plain':!![]});var _0x2d5ff0=_0xb969('0x27');return db['UserProfileSection'][_0xb969('0x4d')]({'where':{'name':_0x2d5ff0,'userProfileId':_0x1afee3[_0xb969('0x4e')]},'raw':!![]})[_0xb969('0x25')](function(_0x53a7ce){if(_0x53a7ce&&_0x53a7ce[_0xb969('0x4f')]===0x0){return db[_0xb969('0x50')][_0xb969('0x47')]({'name':_0x5beb4d[_0xb969('0x2a')],'resourceId':_0x5beb4d['id'],'type':_0x53a7ce['name'],'sectionId':_0x53a7ce['id']},{})[_0xb969('0x25')](function(){return _0x542221;});}else{return _0x542221;}})[_0xb969('0x44')](function(_0x1d914a){logger['error']('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x1d914a);throw _0x1d914a;});}return _0x542221;})[_0xb969('0x25')](respondWithResult(_0x48f258,0xc9))[_0xb969('0x44')](handleError(_0x48f258,null));};exports[_0xb969('0x51')]=function(_0xc2930b,_0x2be3b1){if(_0xc2930b[_0xb969('0x48')]['id']){delete _0xc2930b['body']['id'];}return db[_0xb969('0x42')][_0xb969('0x4d')]({'where':{'id':_0xc2930b[_0xb969('0x52')]['id']}})[_0xb969('0x25')](handleEntityNotFound(_0x2be3b1,null))[_0xb969('0x25')](saveUpdates(_0xc2930b[_0xb969('0x48')],null))['then'](respondWithResult(_0x2be3b1,null))['catch'](handleError(_0x2be3b1,null));};exports[_0xb969('0x26')]=function(_0x359ff7,_0x135ef5){return db[_0xb969('0x42')]['find']({'where':{'id':_0x359ff7[_0xb969('0x52')]['id']}})[_0xb969('0x25')](handleEntityNotFound(_0x135ef5,null))[_0xb969('0x25')](removeEntity(_0x135ef5,null))[_0xb969('0x44')](handleError(_0x135ef5,null));};