c76307588949fa2a08a2506197d92e009e70b628
[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 _0xe09c=['count','set','Content-Range','apply','update','then','destroy','UserProfileResource','error','stack','name','send','index','map','Pause','rawAttributes','fieldName','type','key','model','keys','query','filters','intersection','fields','attributes','nolimit','order','sort','where','filter','merge','VIRTUAL','options','include','findAll','catch','length','find','create','body','user','role','Pauses','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','eml-format','rimraf','zip-dir','fast-json-patch','bluebird','mustache','util','path','ejs','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit'];(function(_0x5a5288,_0x139202){var _0x345b9a=function(_0x9843e9){while(--_0x9843e9){_0x5a5288['push'](_0x5a5288['shift']());}};_0x345b9a(++_0x139202);}(_0xe09c,0x179));var _0xce09=function(_0x5479b8,_0xea443){_0x5479b8=_0x5479b8-0x0;var _0x678fdd=_0xe09c[_0x5479b8];return _0x678fdd;};'use strict';var emlformat=require(_0xce09('0x0'));var rimraf=require(_0xce09('0x1'));var zipdir=require(_0xce09('0x2'));var jsonpatch=require(_0xce09('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0xce09('0x4'));var Mustache=require(_0xce09('0x5'));var util=require(_0xce09('0x6'));var path=require(_0xce09('0x7'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xce09('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xce09('0x9'));var squel=require(_0xce09('0xa'));var crypto=require(_0xce09('0xb'));var jsforce=require(_0xce09('0xc'));var deskjs=require(_0xce09('0xd'));var toCsv=require(_0xce09('0xe'));var querystring=require(_0xce09('0xf'));var Papa=require(_0xce09('0x10'));var Redis=require(_0xce09('0x11'));var authService=require('../../components/auth/service');var qs=require(_0xce09('0x12'));var as=require(_0xce09('0x13'));var hardwareService=require(_0xce09('0x14'));var logger=require(_0xce09('0x15'))('api');var utils=require(_0xce09('0x16'));var config=require(_0xce09('0x17'));var licenseUtil=require(_0xce09('0x18'));var db=require(_0xce09('0x19'))['db'];function respondWithStatusCode(_0x7eb4eb,_0x11225a){_0x11225a=_0x11225a||0xcc;return function(_0x28c832){if(_0x28c832){return _0x7eb4eb[_0xce09('0x1a')](_0x11225a);}return _0x7eb4eb[_0xce09('0x1b')](_0x11225a)[_0xce09('0x1c')]();};}function respondWithResult(_0x5522eb,_0x1a559a){_0x1a559a=_0x1a559a||0xc8;return function(_0x293759){if(_0x293759){return _0x5522eb[_0xce09('0x1b')](_0x1a559a)[_0xce09('0x1d')](_0x293759);}};}function respondWithFilteredResult(_0x1a5de5,_0x1a86ff){return function(_0x4bd0dd){if(_0x4bd0dd){var _0x219ed5=typeof _0x1a86ff[_0xce09('0x1e')]===_0xce09('0x1f')&&typeof _0x1a86ff[_0xce09('0x20')]==='undefined';var _0xb805fe=_0x4bd0dd['count'];var _0x5e4b3d=_0x219ed5?0x0:_0x1a86ff[_0xce09('0x1e')];var _0x444d97=_0x219ed5?_0x4bd0dd[_0xce09('0x21')]:_0x1a86ff[_0xce09('0x1e')]+_0x1a86ff[_0xce09('0x20')];var _0x294883;if(_0x444d97>=_0xb805fe){_0x444d97=_0xb805fe;_0x294883=0xc8;}else{_0x294883=0xce;}_0x1a5de5[_0xce09('0x1b')](_0x294883);return _0x1a5de5[_0xce09('0x22')](_0xce09('0x23'),_0x5e4b3d+'-'+_0x444d97+'/'+_0xb805fe)[_0xce09('0x1d')](_0x4bd0dd);}return null;};}function patchUpdates(_0x2274ba){return function(_0x3e9237){try{jsonpatch[_0xce09('0x24')](_0x3e9237,_0x2274ba,!![]);}catch(_0x469f13){return BPromise['reject'](_0x469f13);}return _0x3e9237['save']();};}function saveUpdates(_0x1c4031,_0x1968ef){return function(_0x3430ba){if(_0x3430ba){return _0x3430ba[_0xce09('0x25')](_0x1c4031)[_0xce09('0x26')](function(_0x2c492d){return _0x2c492d;});}return null;};}function removeEntity(_0x374d14,_0x4c6f89){return function(_0x23b04d){if(_0x23b04d){return _0x23b04d[_0xce09('0x27')]()[_0xce09('0x26')](function(){var _0x3e3090=_0x23b04d['get']({'plain':!![]});var _0x18f420='Pauses';return db[_0xce09('0x28')][_0xce09('0x27')]({'where':{'type':_0x18f420,'resourceId':_0x3e3090['id']}})[_0xce09('0x26')](function(){return _0x23b04d;});})[_0xce09('0x26')](function(){_0x374d14[_0xce09('0x1b')](0xcc)[_0xce09('0x1c')]();});}};}function handleEntityNotFound(_0x1ba102,_0x42be63){return function(_0x298418){if(!_0x298418){_0x1ba102['sendStatus'](0x194);}return _0x298418;};}function handleError(_0x296f62,_0x1b3e84){_0x1b3e84=_0x1b3e84||0x1f4;return function(_0x220cfe){logger[_0xce09('0x29')](_0x220cfe[_0xce09('0x2a')]);if(_0x220cfe[_0xce09('0x2b')]){delete _0x220cfe[_0xce09('0x2b')];}_0x296f62['status'](_0x1b3e84)[_0xce09('0x2c')](_0x220cfe);};}exports[_0xce09('0x2d')]=function(_0x122a22,_0x5877e6){var _0xfe9c79={},_0x1f4c97={},_0x4c5660={'count':0x0,'rows':[]};var _0x2e558f=_[_0xce09('0x2e')](db[_0xce09('0x2f')][_0xce09('0x30')],function(_0x3fe3bd){return{'name':_0x3fe3bd[_0xce09('0x31')],'type':_0x3fe3bd[_0xce09('0x32')][_0xce09('0x33')]};});_0x1f4c97[_0xce09('0x34')]=_[_0xce09('0x2e')](_0x2e558f,_0xce09('0x2b'));_0x1f4c97['query']=_[_0xce09('0x35')](_0x122a22[_0xce09('0x36')]);_0x1f4c97[_0xce09('0x37')]=_['intersection'](_0x1f4c97['model'],_0x1f4c97[_0xce09('0x36')]);_0xfe9c79['attributes']=_[_0xce09('0x38')](_0x1f4c97['model'],qs[_0xce09('0x39')](_0x122a22['query'][_0xce09('0x39')]));_0xfe9c79[_0xce09('0x3a')]=_0xfe9c79[_0xce09('0x3a')]['length']?_0xfe9c79['attributes']:_0x1f4c97[_0xce09('0x34')];if(!_0x122a22[_0xce09('0x36')]['hasOwnProperty'](_0xce09('0x3b'))){_0xfe9c79['limit']=qs[_0xce09('0x20')](_0x122a22['query'][_0xce09('0x20')]);_0xfe9c79['offset']=qs['offset'](_0x122a22[_0xce09('0x36')][_0xce09('0x1e')]);}_0xfe9c79[_0xce09('0x3c')]=qs[_0xce09('0x3d')](_0x122a22[_0xce09('0x36')][_0xce09('0x3d')]);_0xfe9c79[_0xce09('0x3e')]=qs[_0xce09('0x37')](_['pick'](_0x122a22[_0xce09('0x36')],_0x1f4c97['filters']),_0x2e558f);if(_0x122a22[_0xce09('0x36')][_0xce09('0x3f')]){_0xfe9c79['where']=_[_0xce09('0x40')](_0xfe9c79['where'],{'$or':_[_0xce09('0x2e')](_0x2e558f,function(_0x2e5ab2){if(_0x2e5ab2[_0xce09('0x32')]!==_0xce09('0x41')){var _0x2550ba={};_0x2550ba[_0x2e5ab2['name']]={'$like':'%'+_0x122a22[_0xce09('0x36')][_0xce09('0x3f')]+'%'};return _0x2550ba;}})});}_0xfe9c79=_[_0xce09('0x40')]({},_0xfe9c79,_0x122a22[_0xce09('0x42')]);var _0x2b5252={'where':_0xfe9c79[_0xce09('0x3e')]};return db[_0xce09('0x2f')][_0xce09('0x21')](_0x2b5252)[_0xce09('0x26')](function(_0x5140a0){_0x4c5660[_0xce09('0x21')]=_0x5140a0;if(_0x122a22[_0xce09('0x36')]['includeAll']){_0xfe9c79[_0xce09('0x43')]=[{'all':!![]}];}return db[_0xce09('0x2f')][_0xce09('0x44')](_0xfe9c79);})[_0xce09('0x26')](function(_0x3ae9a3){_0x4c5660['rows']=_0x3ae9a3;return _0x4c5660;})[_0xce09('0x26')](respondWithFilteredResult(_0x5877e6,_0xfe9c79))[_0xce09('0x45')](handleError(_0x5877e6,null));};exports['show']=function(_0x198c3b,_0x5b7b38){var _0x565d8e={'raw':!![],'where':{'id':_0x198c3b['params']['id']}},_0x809332={};_0x809332[_0xce09('0x34')]=_[_0xce09('0x35')](db[_0xce09('0x2f')]['rawAttributes']);_0x809332['query']=_[_0xce09('0x35')](_0x198c3b[_0xce09('0x36')]);_0x809332[_0xce09('0x37')]=_[_0xce09('0x38')](_0x809332[_0xce09('0x34')],_0x809332['query']);_0x565d8e['attributes']=_['intersection'](_0x809332[_0xce09('0x34')],qs[_0xce09('0x39')](_0x198c3b[_0xce09('0x36')]['fields']));_0x565d8e['attributes']=_0x565d8e[_0xce09('0x3a')][_0xce09('0x46')]?_0x565d8e[_0xce09('0x3a')]:_0x809332[_0xce09('0x34')];if(_0x198c3b[_0xce09('0x36')]['includeAll']){_0x565d8e[_0xce09('0x43')]=[{'all':!![]}];}_0x565d8e=_[_0xce09('0x40')]({},_0x565d8e,_0x198c3b[_0xce09('0x42')]);return db[_0xce09('0x2f')][_0xce09('0x47')](_0x565d8e)[_0xce09('0x26')](handleEntityNotFound(_0x5b7b38,null))[_0xce09('0x26')](respondWithResult(_0x5b7b38,null))[_0xce09('0x45')](handleError(_0x5b7b38,null));};exports[_0xce09('0x48')]=function(_0x316324,_0x39a9c3){return db[_0xce09('0x2f')]['create'](_0x316324[_0xce09('0x49')],{})[_0xce09('0x26')](function(_0x2499b9){var _0x392191=_0x316324[_0xce09('0x4a')]['get']({'plain':!![]});if(!_0x392191)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x392191[_0xce09('0x4b')]===_0xce09('0x4a')){var _0x1ad74b=_0x2499b9['get']({'plain':!![]});var _0x498372=_0xce09('0x4c');return db[_0xce09('0x4d')]['find']({'where':{'name':_0x498372,'userProfileId':_0x392191[_0xce09('0x4e')]},'raw':!![]})['then'](function(_0x15e064){if(_0x15e064&&_0x15e064[_0xce09('0x4f')]===0x0){return db['UserProfileResource'][_0xce09('0x48')]({'name':_0x1ad74b[_0xce09('0x2b')],'resourceId':_0x1ad74b['id'],'type':_0x15e064[_0xce09('0x2b')],'sectionId':_0x15e064['id']},{})['then'](function(){return _0x2499b9;});}else{return _0x2499b9;}})[_0xce09('0x45')](function(_0x1916de){logger['error'](_0xce09('0x50'),_0x1916de);throw _0x1916de;});}return _0x2499b9;})[_0xce09('0x26')](respondWithResult(_0x39a9c3,0xc9))[_0xce09('0x45')](handleError(_0x39a9c3,null));};exports[_0xce09('0x25')]=function(_0x29b482,_0x74ba30){if(_0x29b482[_0xce09('0x49')]['id']){delete _0x29b482[_0xce09('0x49')]['id'];}return db[_0xce09('0x2f')][_0xce09('0x47')]({'where':{'id':_0x29b482[_0xce09('0x51')]['id']}})[_0xce09('0x26')](handleEntityNotFound(_0x74ba30,null))[_0xce09('0x26')](saveUpdates(_0x29b482[_0xce09('0x49')],null))[_0xce09('0x26')](respondWithResult(_0x74ba30,null))['catch'](handleError(_0x74ba30,null));};exports[_0xce09('0x27')]=function(_0x4cc9f7,_0x5f440c){return db[_0xce09('0x2f')][_0xce09('0x47')]({'where':{'id':_0x4cc9f7[_0xce09('0x51')]['id']}})['then'](handleEntityNotFound(_0x5f440c,null))['then'](removeEntity(_0x5f440c,null))['catch'](handleError(_0x5f440c,null));};