Built motion from commit efa66e19.|2.6.22
[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 _0x1e74=['query','keys','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','params','length','find','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','autoAssociation','UserProfileResource','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','set','apply','update','destroy','then','get','Pauses','error','stack','name','send','index','map','Pause','rawAttributes','type','model'];(function(_0x4913b1,_0x4a115e){var _0x1b39a6=function(_0x7ef120){while(--_0x7ef120){_0x4913b1['push'](_0x4913b1['shift']());}};_0x1b39a6(++_0x4a115e);}(_0x1e74,0x71));var _0x41e7=function(_0x16ce1c,_0x202f13){_0x16ce1c=_0x16ce1c-0x0;var _0x545bbf=_0x1e74[_0x16ce1c];return _0x545bbf;};'use strict';var emlformat=require(_0x41e7('0x0'));var rimraf=require(_0x41e7('0x1'));var zipdir=require(_0x41e7('0x2'));var jsonpatch=require(_0x41e7('0x3'));var rp=require('request-promise');var moment=require(_0x41e7('0x4'));var BPromise=require(_0x41e7('0x5'));var Mustache=require(_0x41e7('0x6'));var util=require(_0x41e7('0x7'));var path=require(_0x41e7('0x8'));var sox=require(_0x41e7('0x9'));var csv=require(_0x41e7('0xa'));var ejs=require(_0x41e7('0xb'));var fs=require('fs');var fs_extra=require(_0x41e7('0xc'));var _=require(_0x41e7('0xd'));var squel=require(_0x41e7('0xe'));var crypto=require(_0x41e7('0xf'));var jsforce=require(_0x41e7('0x10'));var deskjs=require(_0x41e7('0x11'));var toCsv=require('to-csv');var querystring=require(_0x41e7('0x12'));var Papa=require(_0x41e7('0x13'));var Redis=require(_0x41e7('0x14'));var authService=require(_0x41e7('0x15'));var qs=require(_0x41e7('0x16'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x41e7('0x17'));var utils=require('../../config/utils');var config=require(_0x41e7('0x18'));var licenseUtil=require(_0x41e7('0x19'));var db=require(_0x41e7('0x1a'))['db'];function respondWithStatusCode(_0x4862de,_0xb2a04a){_0xb2a04a=_0xb2a04a||0xcc;return function(_0x5dc5c9){if(_0x5dc5c9){return _0x4862de[_0x41e7('0x1b')](_0xb2a04a);}return _0x4862de[_0x41e7('0x1c')](_0xb2a04a)[_0x41e7('0x1d')]();};}function respondWithResult(_0x3d297f,_0x104f96){_0x104f96=_0x104f96||0xc8;return function(_0x3b4134){if(_0x3b4134){return _0x3d297f[_0x41e7('0x1c')](_0x104f96)[_0x41e7('0x1e')](_0x3b4134);}};}function respondWithFilteredResult(_0x236fc6,_0x372346){return function(_0x4f14ff){if(_0x4f14ff){var _0x410598=typeof _0x372346[_0x41e7('0x1f')]===_0x41e7('0x20')&&typeof _0x372346[_0x41e7('0x21')]===_0x41e7('0x20');var _0x4be674=_0x4f14ff['count'];var _0x440dbe=_0x410598?0x0:_0x372346['offset'];var _0x443ea7=_0x410598?_0x4f14ff['count']:_0x372346['offset']+_0x372346[_0x41e7('0x21')];var _0x8fea80;if(_0x443ea7>=_0x4be674){_0x443ea7=_0x4be674;_0x8fea80=0xc8;}else{_0x8fea80=0xce;}_0x236fc6['status'](_0x8fea80);return _0x236fc6[_0x41e7('0x22')]('Content-Range',_0x440dbe+'-'+_0x443ea7+'/'+_0x4be674)[_0x41e7('0x1e')](_0x4f14ff);}return null;};}function patchUpdates(_0x150bfa){return function(_0x198378){try{jsonpatch[_0x41e7('0x23')](_0x198378,_0x150bfa,!![]);}catch(_0x24e5d9){return BPromise['reject'](_0x24e5d9);}return _0x198378['save']();};}function saveUpdates(_0x32e6bb,_0x2ed2a4){return function(_0x66eea){if(_0x66eea){return _0x66eea[_0x41e7('0x24')](_0x32e6bb)['then'](function(_0x25dc36){return _0x25dc36;});}return null;};}function removeEntity(_0x1c99a2,_0x34a4a7){return function(_0x36ea57){if(_0x36ea57){return _0x36ea57[_0x41e7('0x25')]()[_0x41e7('0x26')](function(){var _0xb4d852=_0x36ea57[_0x41e7('0x27')]({'plain':!![]});var _0x1b9ddb=_0x41e7('0x28');return db['UserProfileResource'][_0x41e7('0x25')]({'where':{'type':_0x1b9ddb,'resourceId':_0xb4d852['id']}})[_0x41e7('0x26')](function(){return _0x36ea57;});})[_0x41e7('0x26')](function(){_0x1c99a2['status'](0xcc)[_0x41e7('0x1d')]();});}};}function handleEntityNotFound(_0x313396,_0x468bf2){return function(_0x59cc56){if(!_0x59cc56){_0x313396[_0x41e7('0x1b')](0x194);}return _0x59cc56;};}function handleError(_0x43c16f,_0x1c3ca0){_0x1c3ca0=_0x1c3ca0||0x1f4;return function(_0xe4511e){logger[_0x41e7('0x29')](_0xe4511e[_0x41e7('0x2a')]);if(_0xe4511e[_0x41e7('0x2b')]){delete _0xe4511e[_0x41e7('0x2b')];}_0x43c16f[_0x41e7('0x1c')](_0x1c3ca0)[_0x41e7('0x2c')](_0xe4511e);};}exports[_0x41e7('0x2d')]=function(_0x4d11ec,_0xa68e39){var _0x2c08e9={},_0x29245d={},_0x4b6350={'count':0x0,'rows':[]};var _0x33cb80=_[_0x41e7('0x2e')](db[_0x41e7('0x2f')][_0x41e7('0x30')],function(_0x4049b2){return{'name':_0x4049b2['fieldName'],'type':_0x4049b2[_0x41e7('0x31')]['key']};});_0x29245d[_0x41e7('0x32')]=_[_0x41e7('0x2e')](_0x33cb80,_0x41e7('0x2b'));_0x29245d[_0x41e7('0x33')]=_[_0x41e7('0x34')](_0x4d11ec['query']);_0x29245d['filters']=_[_0x41e7('0x35')](_0x29245d['model'],_0x29245d['query']);_0x2c08e9[_0x41e7('0x36')]=_[_0x41e7('0x35')](_0x29245d[_0x41e7('0x32')],qs[_0x41e7('0x37')](_0x4d11ec[_0x41e7('0x33')]['fields']));_0x2c08e9[_0x41e7('0x36')]=_0x2c08e9[_0x41e7('0x36')]['length']?_0x2c08e9[_0x41e7('0x36')]:_0x29245d[_0x41e7('0x32')];if(!_0x4d11ec[_0x41e7('0x33')][_0x41e7('0x38')](_0x41e7('0x39'))){_0x2c08e9[_0x41e7('0x21')]=qs[_0x41e7('0x21')](_0x4d11ec['query'][_0x41e7('0x21')]);_0x2c08e9[_0x41e7('0x1f')]=qs[_0x41e7('0x1f')](_0x4d11ec['query'][_0x41e7('0x1f')]);}_0x2c08e9[_0x41e7('0x3a')]=qs['sort'](_0x4d11ec[_0x41e7('0x33')][_0x41e7('0x3b')]);_0x2c08e9[_0x41e7('0x3c')]=qs[_0x41e7('0x3d')](_[_0x41e7('0x3e')](_0x4d11ec[_0x41e7('0x33')],_0x29245d[_0x41e7('0x3d')]),_0x33cb80);if(_0x4d11ec[_0x41e7('0x33')][_0x41e7('0x3f')]){_0x2c08e9[_0x41e7('0x3c')]=_[_0x41e7('0x40')](_0x2c08e9[_0x41e7('0x3c')],{'$or':_['map'](_0x33cb80,function(_0x18fbbb){if(_0x18fbbb[_0x41e7('0x31')]!==_0x41e7('0x41')){var _0x2ea9d2={};_0x2ea9d2[_0x18fbbb[_0x41e7('0x2b')]]={'$like':'%'+_0x4d11ec[_0x41e7('0x33')][_0x41e7('0x3f')]+'%'};return _0x2ea9d2;}})});}_0x2c08e9=_[_0x41e7('0x40')]({},_0x2c08e9,_0x4d11ec[_0x41e7('0x42')]);var _0x2b5c79={'where':_0x2c08e9[_0x41e7('0x3c')]};return db[_0x41e7('0x2f')]['count'](_0x2b5c79)[_0x41e7('0x26')](function(_0x2595ba){_0x4b6350['count']=_0x2595ba;if(_0x4d11ec[_0x41e7('0x33')][_0x41e7('0x43')]){_0x2c08e9[_0x41e7('0x44')]=[{'all':!![]}];}return db[_0x41e7('0x2f')][_0x41e7('0x45')](_0x2c08e9);})['then'](function(_0x3d6dc7){_0x4b6350[_0x41e7('0x46')]=_0x3d6dc7;return _0x4b6350;})[_0x41e7('0x26')](respondWithFilteredResult(_0xa68e39,_0x2c08e9))[_0x41e7('0x47')](handleError(_0xa68e39,null));};exports['show']=function(_0x442a25,_0x213caf){var _0x4a7cbc={'raw':!![],'where':{'id':_0x442a25[_0x41e7('0x48')]['id']}},_0x1f5674={};_0x1f5674[_0x41e7('0x32')]=_[_0x41e7('0x34')](db[_0x41e7('0x2f')][_0x41e7('0x30')]);_0x1f5674[_0x41e7('0x33')]=_[_0x41e7('0x34')](_0x442a25[_0x41e7('0x33')]);_0x1f5674['filters']=_[_0x41e7('0x35')](_0x1f5674[_0x41e7('0x32')],_0x1f5674[_0x41e7('0x33')]);_0x4a7cbc[_0x41e7('0x36')]=_[_0x41e7('0x35')](_0x1f5674['model'],qs[_0x41e7('0x37')](_0x442a25['query']['fields']));_0x4a7cbc[_0x41e7('0x36')]=_0x4a7cbc['attributes'][_0x41e7('0x49')]?_0x4a7cbc[_0x41e7('0x36')]:_0x1f5674['model'];if(_0x442a25['query']['includeAll']){_0x4a7cbc[_0x41e7('0x44')]=[{'all':!![]}];}_0x4a7cbc=_[_0x41e7('0x40')]({},_0x4a7cbc,_0x442a25[_0x41e7('0x42')]);return db['Pause'][_0x41e7('0x4a')](_0x4a7cbc)[_0x41e7('0x26')](handleEntityNotFound(_0x213caf,null))[_0x41e7('0x26')](respondWithResult(_0x213caf,null))[_0x41e7('0x47')](handleError(_0x213caf,null));};exports[_0x41e7('0x4b')]=function(_0x130e76,_0x1ddcbb){return db[_0x41e7('0x2f')][_0x41e7('0x4b')](_0x130e76[_0x41e7('0x4c')],{})[_0x41e7('0x26')](function(_0x5be85a){var _0x4d68f6=_0x130e76['user'][_0x41e7('0x27')]({'plain':!![]});if(!_0x4d68f6)throw new Error(_0x41e7('0x4d'));if(_0x4d68f6[_0x41e7('0x4e')]==='user'){var _0x1aa398=_0x5be85a[_0x41e7('0x27')]({'plain':!![]});var _0x1d89fa=_0x41e7('0x28');return db[_0x41e7('0x4f')]['find']({'where':{'name':_0x1d89fa,'userProfileId':_0x4d68f6['userProfileId']},'raw':!![]})['then'](function(_0x467a2c){if(_0x467a2c&&_0x467a2c[_0x41e7('0x50')]===0x0){return db[_0x41e7('0x51')][_0x41e7('0x4b')]({'name':_0x1aa398[_0x41e7('0x2b')],'resourceId':_0x1aa398['id'],'type':_0x467a2c[_0x41e7('0x2b')],'sectionId':_0x467a2c['id']},{})['then'](function(){return _0x5be85a;});}else{return _0x5be85a;}})[_0x41e7('0x47')](function(_0x517689){logger[_0x41e7('0x29')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x517689);throw _0x517689;});}return _0x5be85a;})[_0x41e7('0x26')](respondWithResult(_0x1ddcbb,0xc9))['catch'](handleError(_0x1ddcbb,null));};exports[_0x41e7('0x24')]=function(_0x4f1ae2,_0x4d913b){if(_0x4f1ae2[_0x41e7('0x4c')]['id']){delete _0x4f1ae2['body']['id'];}return db[_0x41e7('0x2f')][_0x41e7('0x4a')]({'where':{'id':_0x4f1ae2[_0x41e7('0x48')]['id']}})[_0x41e7('0x26')](handleEntityNotFound(_0x4d913b,null))[_0x41e7('0x26')](saveUpdates(_0x4f1ae2[_0x41e7('0x4c')],null))['then'](respondWithResult(_0x4d913b,null))[_0x41e7('0x47')](handleError(_0x4d913b,null));};exports[_0x41e7('0x25')]=function(_0x3d9b76,_0xcb3431){return db[_0x41e7('0x2f')][_0x41e7('0x4a')]({'where':{'id':_0x3d9b76[_0x41e7('0x48')]['id']}})[_0x41e7('0x26')](handleEntityNotFound(_0xcb3431,null))[_0x41e7('0x26')](removeEntity(_0xcb3431,null))[_0x41e7('0x47')](handleError(_0xcb3431,null));};