Built motion from commit (unavailable).|2.5.26
[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 _0x00bb=['show','params','length','options','find','user','UserProfileSection','userProfileId','autoAssociation','body','eml-format','rimraf','zip-dir','request-promise','bluebird','mustache','path','sox','lodash','squel','crypto','jsforce','desk.js','to-csv','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../mysqldb','sendStatus','status','json','count','offset','limit','set','apply','save','update','then','destroy','get','Pauses','UserProfileResource','end','error','stack','name','send','map','Pause','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','fields','attributes','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','includeAll','include','rows','catch'];(function(_0x4ccf7f,_0x161ffd){var _0x1953f0=function(_0xfd2ca6){while(--_0xfd2ca6){_0x4ccf7f['push'](_0x4ccf7f['shift']());}};_0x1953f0(++_0x161ffd);}(_0x00bb,0x1d8));var _0xb00b=function(_0x4baae2,_0x487ab6){_0x4baae2=_0x4baae2-0x0;var _0x1a2285=_0x00bb[_0x4baae2];return _0x1a2285;};'use strict';var emlformat=require(_0xb00b('0x0'));var rimraf=require(_0xb00b('0x1'));var zipdir=require(_0xb00b('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xb00b('0x3'));var moment=require('moment');var BPromise=require(_0xb00b('0x4'));var Mustache=require(_0xb00b('0x5'));var util=require('util');var path=require(_0xb00b('0x6'));var sox=require(_0xb00b('0x7'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xb00b('0x8'));var squel=require(_0xb00b('0x9'));var crypto=require(_0xb00b('0xa'));var jsforce=require(_0xb00b('0xb'));var deskjs=require(_0xb00b('0xc'));var toCsv=require(_0xb00b('0xd'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0xb00b('0xe'));var authService=require(_0xb00b('0xf'));var qs=require(_0xb00b('0x10'));var as=require(_0xb00b('0x11'));var hardwareService=require(_0xb00b('0x12'));var logger=require('../../config/logger')(_0xb00b('0x13'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0xb00b('0x14'))['db'];function respondWithStatusCode(_0x2d8ddf,_0x1be8aa){_0x1be8aa=_0x1be8aa||0xcc;return function(_0x466b9b){if(_0x466b9b){return _0x2d8ddf[_0xb00b('0x15')](_0x1be8aa);}return _0x2d8ddf[_0xb00b('0x16')](_0x1be8aa)['end']();};}function respondWithResult(_0x218de2,_0xb0d42e){_0xb0d42e=_0xb0d42e||0xc8;return function(_0x482fe6){if(_0x482fe6){return _0x218de2[_0xb00b('0x16')](_0xb0d42e)[_0xb00b('0x17')](_0x482fe6);}};}function respondWithFilteredResult(_0x540b79,_0x5da36b){return function(_0x9b471e){if(_0x9b471e){var _0x4dcd45=_0x9b471e[_0xb00b('0x18')],_0x51d136=_0x5da36b[_0xb00b('0x19')],_0x1f9c78=_0x5da36b['offset']+_0x5da36b[_0xb00b('0x1a')],_0x638443;if(_0x1f9c78>=_0x4dcd45){_0x1f9c78=_0x4dcd45;_0x638443=0xc8;}else{_0x638443=0xce;}_0x540b79['status'](_0x638443);return _0x540b79[_0xb00b('0x1b')]('Content-Range',_0x51d136+'-'+_0x1f9c78+'/'+_0x4dcd45)[_0xb00b('0x17')](_0x9b471e);}return null;};}function patchUpdates(_0x5e8d7b){return function(_0xb26ebb){try{jsonpatch[_0xb00b('0x1c')](_0xb26ebb,_0x5e8d7b,!![]);}catch(_0x53ee68){return BPromise['reject'](_0x53ee68);}return _0xb26ebb[_0xb00b('0x1d')]();};}function saveUpdates(_0x4a334b,_0x1344c4){return function(_0x43da66){if(_0x43da66){return _0x43da66[_0xb00b('0x1e')](_0x4a334b)[_0xb00b('0x1f')](function(_0x56c189){return _0x56c189;});}return null;};}function removeEntity(_0x362ee0,_0x4df284){return function(_0x25a973){if(_0x25a973){return _0x25a973[_0xb00b('0x20')]()['then'](function(){var _0x231293=_0x25a973[_0xb00b('0x21')]({'plain':!![]});var _0x520444=_0xb00b('0x22');return db[_0xb00b('0x23')]['destroy']({'where':{'type':_0x520444,'resourceId':_0x231293['id']}})[_0xb00b('0x1f')](function(){return _0x25a973;});})[_0xb00b('0x1f')](function(){_0x362ee0[_0xb00b('0x16')](0xcc)[_0xb00b('0x24')]();});}};}function handleEntityNotFound(_0x520e55,_0x50be6c){return function(_0x3785e9){if(!_0x3785e9){_0x520e55['sendStatus'](0x194);}return _0x3785e9;};}function handleError(_0x550587,_0x4a635e){_0x4a635e=_0x4a635e||0x1f4;return function(_0x16ac55){logger[_0xb00b('0x25')](_0x16ac55[_0xb00b('0x26')]);if(_0x16ac55[_0xb00b('0x27')]){delete _0x16ac55[_0xb00b('0x27')];}_0x550587[_0xb00b('0x16')](_0x4a635e)[_0xb00b('0x28')](_0x16ac55);};}exports['index']=function(_0x22c22d,_0x503c9c){var _0x450129={},_0x348165={},_0x5424ca={'count':0x0,'rows':[]};var _0x5b987e=_[_0xb00b('0x29')](db[_0xb00b('0x2a')][_0xb00b('0x2b')],function(_0x183233){return{'name':_0x183233[_0xb00b('0x2c')],'type':_0x183233[_0xb00b('0x2d')][_0xb00b('0x2e')]};});_0x348165[_0xb00b('0x2f')]=_[_0xb00b('0x29')](_0x5b987e,'name');_0x348165[_0xb00b('0x30')]=_[_0xb00b('0x31')](_0x22c22d['query']);_0x348165[_0xb00b('0x32')]=_[_0xb00b('0x33')](_0x348165['model'],_0x348165[_0xb00b('0x30')]);_0x450129['attributes']=_[_0xb00b('0x33')](_0x348165[_0xb00b('0x2f')],qs[_0xb00b('0x34')](_0x22c22d[_0xb00b('0x30')][_0xb00b('0x34')]));_0x450129[_0xb00b('0x35')]=_0x450129[_0xb00b('0x35')]['length']?_0x450129['attributes']:_0x348165['model'];if(!_0x22c22d[_0xb00b('0x30')][_0xb00b('0x36')](_0xb00b('0x37'))){_0x450129[_0xb00b('0x1a')]=qs['limit'](_0x22c22d[_0xb00b('0x30')][_0xb00b('0x1a')]);_0x450129[_0xb00b('0x19')]=qs[_0xb00b('0x19')](_0x22c22d[_0xb00b('0x30')][_0xb00b('0x19')]);}_0x450129[_0xb00b('0x38')]=qs[_0xb00b('0x39')](_0x22c22d['query']['sort']);_0x450129[_0xb00b('0x3a')]=qs['filters'](_[_0xb00b('0x3b')](_0x22c22d[_0xb00b('0x30')],_0x348165[_0xb00b('0x32')]),_0x5b987e);if(_0x22c22d[_0xb00b('0x30')][_0xb00b('0x3c')]){_0x450129[_0xb00b('0x3a')]=_[_0xb00b('0x3d')](_0x450129['where'],{'$or':_[_0xb00b('0x29')](_0x5b987e,function(_0x25578e){if(_0x25578e[_0xb00b('0x2d')]!==_0xb00b('0x3e')){var _0x2496e2={};_0x2496e2[_0x25578e[_0xb00b('0x27')]]={'$like':'%'+_0x22c22d['query'][_0xb00b('0x3c')]+'%'};return _0x2496e2;}})});}_0x450129=_[_0xb00b('0x3d')]({},_0x450129,_0x22c22d['options']);var _0x17ff34={'where':_0x450129[_0xb00b('0x3a')]};return db[_0xb00b('0x2a')][_0xb00b('0x18')](_0x17ff34)[_0xb00b('0x1f')](function(_0x5636b1){_0x5424ca[_0xb00b('0x18')]=_0x5636b1;if(_0x22c22d[_0xb00b('0x30')][_0xb00b('0x3f')]){_0x450129[_0xb00b('0x40')]=[{'all':!![]}];}return db['Pause']['findAll'](_0x450129);})[_0xb00b('0x1f')](function(_0xf6ae0c){_0x5424ca[_0xb00b('0x41')]=_0xf6ae0c;return _0x5424ca;})[_0xb00b('0x1f')](respondWithFilteredResult(_0x503c9c,_0x450129))[_0xb00b('0x42')](handleError(_0x503c9c,null));};exports[_0xb00b('0x43')]=function(_0x275664,_0x493841){var _0x36200d={'raw':!![],'where':{'id':_0x275664[_0xb00b('0x44')]['id']}},_0x3b72c4={};_0x3b72c4[_0xb00b('0x2f')]=_[_0xb00b('0x31')](db[_0xb00b('0x2a')][_0xb00b('0x2b')]);_0x3b72c4[_0xb00b('0x30')]=_[_0xb00b('0x31')](_0x275664[_0xb00b('0x30')]);_0x3b72c4[_0xb00b('0x32')]=_[_0xb00b('0x33')](_0x3b72c4['model'],_0x3b72c4[_0xb00b('0x30')]);_0x36200d[_0xb00b('0x35')]=_[_0xb00b('0x33')](_0x3b72c4[_0xb00b('0x2f')],qs[_0xb00b('0x34')](_0x275664[_0xb00b('0x30')][_0xb00b('0x34')]));_0x36200d[_0xb00b('0x35')]=_0x36200d[_0xb00b('0x35')][_0xb00b('0x45')]?_0x36200d[_0xb00b('0x35')]:_0x3b72c4[_0xb00b('0x2f')];if(_0x275664['query']['includeAll']){_0x36200d['include']=[{'all':!![]}];}_0x36200d=_[_0xb00b('0x3d')]({},_0x36200d,_0x275664[_0xb00b('0x46')]);return db['Pause'][_0xb00b('0x47')](_0x36200d)[_0xb00b('0x1f')](handleEntityNotFound(_0x493841,null))[_0xb00b('0x1f')](respondWithResult(_0x493841,null))[_0xb00b('0x42')](handleError(_0x493841,null));};exports['create']=function(_0x58e9cb,_0x172729){return db[_0xb00b('0x2a')]['create'](_0x58e9cb['body'],{})[_0xb00b('0x1f')](function(_0x3a205d){var _0x4e0be4=_0x58e9cb[_0xb00b('0x48')]['get']({'plain':!![]});if(!_0x4e0be4)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x4e0be4['role']===_0xb00b('0x48')){var _0x481515=_0x3a205d[_0xb00b('0x21')]({'plain':!![]});var _0x3178aa=_0xb00b('0x22');return db[_0xb00b('0x49')][_0xb00b('0x47')]({'where':{'name':_0x3178aa,'userProfileId':_0x4e0be4[_0xb00b('0x4a')]},'raw':!![]})['then'](function(_0x5bd40c){if(_0x5bd40c&&_0x5bd40c[_0xb00b('0x4b')]===0x0){return db[_0xb00b('0x23')]['create']({'name':_0x481515[_0xb00b('0x27')],'resourceId':_0x481515['id'],'type':_0x5bd40c[_0xb00b('0x27')],'sectionId':_0x5bd40c['id']},{})['then'](function(){return _0x3a205d;});}else{return _0x3a205d;}})[_0xb00b('0x42')](function(_0x10e066){logger[_0xb00b('0x25')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x10e066);throw _0x10e066;});}return _0x3a205d;})['then'](respondWithResult(_0x172729,0xc9))[_0xb00b('0x42')](handleError(_0x172729,null));};exports[_0xb00b('0x1e')]=function(_0x12737d,_0xde3cc1){if(_0x12737d['body']['id']){delete _0x12737d[_0xb00b('0x4c')]['id'];}return db[_0xb00b('0x2a')]['find']({'where':{'id':_0x12737d['params']['id']}})[_0xb00b('0x1f')](handleEntityNotFound(_0xde3cc1,null))['then'](saveUpdates(_0x12737d[_0xb00b('0x4c')],null))[_0xb00b('0x1f')](respondWithResult(_0xde3cc1,null))[_0xb00b('0x42')](handleError(_0xde3cc1,null));};exports[_0xb00b('0x20')]=function(_0x450ce7,_0x2965ca){return db['Pause'][_0xb00b('0x47')]({'where':{'id':_0x450ce7['params']['id']}})[_0xb00b('0x1f')](handleEntityNotFound(_0x2965ca,null))[_0xb00b('0x1f')](removeEntity(_0x2965ca,null))[_0xb00b('0x42')](handleError(_0x2965ca,null));};