b30a034e915e31978b295bedc1685de2d0145b56
[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 _0xdcfa=['rows','catch','show','params','options','find','create','body','user','role','UserProfileSection','userProfileId','autoAssociation','rimraf','fast-json-patch','request-promise','moment','bluebird','util','sox','to-csv','ejs','lodash','crypto','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','Content-Range','apply','save','update','then','destroy','get','Pauses','UserProfileResource','error','stack','name','send','index','map','Pause','rawAttributes','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','order','pick','filter','where','merge','VIRTUAL','includeAll','include','findAll'];(function(_0xfd5f37,_0x24a79c){var _0x11bd01=function(_0x4ae9bd){while(--_0x4ae9bd){_0xfd5f37['push'](_0xfd5f37['shift']());}};_0x11bd01(++_0x24a79c);}(_0xdcfa,0xab));var _0xadcf=function(_0x3511d3,_0x4107ae){_0x3511d3=_0x3511d3-0x0;var _0x5d6321=_0xdcfa[_0x3511d3];return _0x5d6321;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xadcf('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0xadcf('0x1'));var rp=require(_0xadcf('0x2'));var moment=require(_0xadcf('0x3'));var BPromise=require(_0xadcf('0x4'));var Mustache=require('mustache');var util=require(_0xadcf('0x5'));var path=require('path');var sox=require(_0xadcf('0x6'));var csv=require(_0xadcf('0x7'));var ejs=require(_0xadcf('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xadcf('0x9'));var squel=require('squel');var crypto=require(_0xadcf('0xa'));var jsforce=require('jsforce');var deskjs=require(_0xadcf('0xb'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0xadcf('0xc'));var Redis=require(_0xadcf('0xd'));var authService=require(_0xadcf('0xe'));var qs=require(_0xadcf('0xf'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xadcf('0x10'));var logger=require('../../config/logger')(_0xadcf('0x11'));var utils=require('../../config/utils');var config=require(_0xadcf('0x12'));var licenseUtil=require(_0xadcf('0x13'));var db=require(_0xadcf('0x14'))['db'];function respondWithStatusCode(_0x1d1ed0,_0x48c039){_0x48c039=_0x48c039||0xcc;return function(_0x20ea26){if(_0x20ea26){return _0x1d1ed0[_0xadcf('0x15')](_0x48c039);}return _0x1d1ed0[_0xadcf('0x16')](_0x48c039)[_0xadcf('0x17')]();};}function respondWithResult(_0x1ac9c0,_0x56fb2d){_0x56fb2d=_0x56fb2d||0xc8;return function(_0x23d9d9){if(_0x23d9d9){return _0x1ac9c0['status'](_0x56fb2d)[_0xadcf('0x18')](_0x23d9d9);}};}function respondWithFilteredResult(_0x1dc176,_0x5ab819){return function(_0x115dca){if(_0x115dca){var _0x574b3f=typeof _0x5ab819[_0xadcf('0x19')]===_0xadcf('0x1a')&&typeof _0x5ab819[_0xadcf('0x1b')]===_0xadcf('0x1a');var _0x4b95b2=_0x115dca[_0xadcf('0x1c')];var _0x487ffd=_0x574b3f?0x0:_0x5ab819['offset'];var _0x2538f8=_0x574b3f?_0x115dca[_0xadcf('0x1c')]:_0x5ab819[_0xadcf('0x19')]+_0x5ab819[_0xadcf('0x1b')];var _0x37f544;if(_0x2538f8>=_0x4b95b2){_0x2538f8=_0x4b95b2;_0x37f544=0xc8;}else{_0x37f544=0xce;}_0x1dc176[_0xadcf('0x16')](_0x37f544);return _0x1dc176['set'](_0xadcf('0x1d'),_0x487ffd+'-'+_0x2538f8+'/'+_0x4b95b2)[_0xadcf('0x18')](_0x115dca);}return null;};}function patchUpdates(_0x501b4e){return function(_0xe06be7){try{jsonpatch[_0xadcf('0x1e')](_0xe06be7,_0x501b4e,!![]);}catch(_0x4afe05){return BPromise['reject'](_0x4afe05);}return _0xe06be7[_0xadcf('0x1f')]();};}function saveUpdates(_0x4db072,_0x1e9d6a){return function(_0x456ab4){if(_0x456ab4){return _0x456ab4[_0xadcf('0x20')](_0x4db072)[_0xadcf('0x21')](function(_0x5f41ad){return _0x5f41ad;});}return null;};}function removeEntity(_0x5c5125,_0x5a8bb2){return function(_0x160f28){if(_0x160f28){return _0x160f28[_0xadcf('0x22')]()['then'](function(){var _0x169e34=_0x160f28[_0xadcf('0x23')]({'plain':!![]});var _0x39369a=_0xadcf('0x24');return db[_0xadcf('0x25')]['destroy']({'where':{'type':_0x39369a,'resourceId':_0x169e34['id']}})[_0xadcf('0x21')](function(){return _0x160f28;});})[_0xadcf('0x21')](function(){_0x5c5125[_0xadcf('0x16')](0xcc)[_0xadcf('0x17')]();});}};}function handleEntityNotFound(_0x117dd4,_0x2782a6){return function(_0x159761){if(!_0x159761){_0x117dd4[_0xadcf('0x15')](0x194);}return _0x159761;};}function handleError(_0x151b97,_0x16a3ce){_0x16a3ce=_0x16a3ce||0x1f4;return function(_0x1aae79){logger[_0xadcf('0x26')](_0x1aae79[_0xadcf('0x27')]);if(_0x1aae79[_0xadcf('0x28')]){delete _0x1aae79['name'];}_0x151b97['status'](_0x16a3ce)[_0xadcf('0x29')](_0x1aae79);};}exports[_0xadcf('0x2a')]=function(_0x3b9d45,_0x5593d2){var _0x229bf9={},_0x1228fd={},_0x28a838={'count':0x0,'rows':[]};var _0x542729=_[_0xadcf('0x2b')](db[_0xadcf('0x2c')][_0xadcf('0x2d')],function(_0x2e01a3){return{'name':_0x2e01a3['fieldName'],'type':_0x2e01a3[_0xadcf('0x2e')][_0xadcf('0x2f')]};});_0x1228fd[_0xadcf('0x30')]=_[_0xadcf('0x2b')](_0x542729,_0xadcf('0x28'));_0x1228fd[_0xadcf('0x31')]=_[_0xadcf('0x32')](_0x3b9d45[_0xadcf('0x31')]);_0x1228fd[_0xadcf('0x33')]=_[_0xadcf('0x34')](_0x1228fd['model'],_0x1228fd[_0xadcf('0x31')]);_0x229bf9[_0xadcf('0x35')]=_['intersection'](_0x1228fd[_0xadcf('0x30')],qs['fields'](_0x3b9d45[_0xadcf('0x31')][_0xadcf('0x36')]));_0x229bf9[_0xadcf('0x35')]=_0x229bf9[_0xadcf('0x35')][_0xadcf('0x37')]?_0x229bf9[_0xadcf('0x35')]:_0x1228fd[_0xadcf('0x30')];if(!_0x3b9d45[_0xadcf('0x31')][_0xadcf('0x38')]('nolimit')){_0x229bf9[_0xadcf('0x1b')]=qs[_0xadcf('0x1b')](_0x3b9d45[_0xadcf('0x31')][_0xadcf('0x1b')]);_0x229bf9['offset']=qs[_0xadcf('0x19')](_0x3b9d45[_0xadcf('0x31')][_0xadcf('0x19')]);}_0x229bf9[_0xadcf('0x39')]=qs['sort'](_0x3b9d45[_0xadcf('0x31')]['sort']);_0x229bf9['where']=qs[_0xadcf('0x33')](_[_0xadcf('0x3a')](_0x3b9d45[_0xadcf('0x31')],_0x1228fd[_0xadcf('0x33')]),_0x542729);if(_0x3b9d45[_0xadcf('0x31')][_0xadcf('0x3b')]){_0x229bf9[_0xadcf('0x3c')]=_[_0xadcf('0x3d')](_0x229bf9[_0xadcf('0x3c')],{'$or':_[_0xadcf('0x2b')](_0x542729,function(_0x1da854){if(_0x1da854[_0xadcf('0x2e')]!==_0xadcf('0x3e')){var _0x3315cc={};_0x3315cc[_0x1da854[_0xadcf('0x28')]]={'$like':'%'+_0x3b9d45[_0xadcf('0x31')][_0xadcf('0x3b')]+'%'};return _0x3315cc;}})});}_0x229bf9=_[_0xadcf('0x3d')]({},_0x229bf9,_0x3b9d45['options']);var _0x241d15={'where':_0x229bf9[_0xadcf('0x3c')]};return db['Pause']['count'](_0x241d15)[_0xadcf('0x21')](function(_0x5e3085){_0x28a838['count']=_0x5e3085;if(_0x3b9d45[_0xadcf('0x31')][_0xadcf('0x3f')]){_0x229bf9[_0xadcf('0x40')]=[{'all':!![]}];}return db[_0xadcf('0x2c')][_0xadcf('0x41')](_0x229bf9);})[_0xadcf('0x21')](function(_0x290051){_0x28a838[_0xadcf('0x42')]=_0x290051;return _0x28a838;})['then'](respondWithFilteredResult(_0x5593d2,_0x229bf9))[_0xadcf('0x43')](handleError(_0x5593d2,null));};exports[_0xadcf('0x44')]=function(_0x29510f,_0x2bcb69){var _0x15d668={'raw':!![],'where':{'id':_0x29510f[_0xadcf('0x45')]['id']}},_0x4c6843={};_0x4c6843[_0xadcf('0x30')]=_['keys'](db['Pause'][_0xadcf('0x2d')]);_0x4c6843[_0xadcf('0x31')]=_[_0xadcf('0x32')](_0x29510f[_0xadcf('0x31')]);_0x4c6843[_0xadcf('0x33')]=_[_0xadcf('0x34')](_0x4c6843[_0xadcf('0x30')],_0x4c6843[_0xadcf('0x31')]);_0x15d668[_0xadcf('0x35')]=_[_0xadcf('0x34')](_0x4c6843[_0xadcf('0x30')],qs[_0xadcf('0x36')](_0x29510f['query'][_0xadcf('0x36')]));_0x15d668['attributes']=_0x15d668['attributes']['length']?_0x15d668[_0xadcf('0x35')]:_0x4c6843['model'];if(_0x29510f[_0xadcf('0x31')][_0xadcf('0x3f')]){_0x15d668[_0xadcf('0x40')]=[{'all':!![]}];}_0x15d668=_[_0xadcf('0x3d')]({},_0x15d668,_0x29510f[_0xadcf('0x46')]);return db[_0xadcf('0x2c')][_0xadcf('0x47')](_0x15d668)[_0xadcf('0x21')](handleEntityNotFound(_0x2bcb69,null))[_0xadcf('0x21')](respondWithResult(_0x2bcb69,null))[_0xadcf('0x43')](handleError(_0x2bcb69,null));};exports[_0xadcf('0x48')]=function(_0x47aaf8,_0x8e94c5){return db['Pause'][_0xadcf('0x48')](_0x47aaf8[_0xadcf('0x49')],{})[_0xadcf('0x21')](function(_0x5adae8){var _0x49dbac=_0x47aaf8[_0xadcf('0x4a')]['get']({'plain':!![]});if(!_0x49dbac)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x49dbac[_0xadcf('0x4b')]==='user'){var _0x54eaab=_0x5adae8[_0xadcf('0x23')]({'plain':!![]});var _0x3e837b='Pauses';return db[_0xadcf('0x4c')]['find']({'where':{'name':_0x3e837b,'userProfileId':_0x49dbac[_0xadcf('0x4d')]},'raw':!![]})[_0xadcf('0x21')](function(_0xb1353b){if(_0xb1353b&&_0xb1353b[_0xadcf('0x4e')]===0x0){return db['UserProfileResource'][_0xadcf('0x48')]({'name':_0x54eaab[_0xadcf('0x28')],'resourceId':_0x54eaab['id'],'type':_0xb1353b[_0xadcf('0x28')],'sectionId':_0xb1353b['id']},{})[_0xadcf('0x21')](function(){return _0x5adae8;});}else{return _0x5adae8;}})[_0xadcf('0x43')](function(_0x5be570){logger[_0xadcf('0x26')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x5be570);throw _0x5be570;});}return _0x5adae8;})[_0xadcf('0x21')](respondWithResult(_0x8e94c5,0xc9))[_0xadcf('0x43')](handleError(_0x8e94c5,null));};exports['update']=function(_0x3443f4,_0x3dd06f){if(_0x3443f4[_0xadcf('0x49')]['id']){delete _0x3443f4[_0xadcf('0x49')]['id'];}return db[_0xadcf('0x2c')]['find']({'where':{'id':_0x3443f4[_0xadcf('0x45')]['id']}})[_0xadcf('0x21')](handleEntityNotFound(_0x3dd06f,null))[_0xadcf('0x21')](saveUpdates(_0x3443f4['body'],null))[_0xadcf('0x21')](respondWithResult(_0x3dd06f,null))[_0xadcf('0x43')](handleError(_0x3dd06f,null));};exports['destroy']=function(_0x2bf77f,_0x3108fb){return db[_0xadcf('0x2c')]['find']({'where':{'id':_0x2bf77f[_0xadcf('0x45')]['id']}})[_0xadcf('0x21')](handleEntityNotFound(_0x3108fb,null))[_0xadcf('0x21')](removeEntity(_0x3108fb,null))['catch'](handleError(_0x3108fb,null));};