Built motion from commit 9d0783e6.|2.6.13
[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 _0x6de0=['keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','where','pick','filter','VIRTUAL','merge','includeAll','include','rows','catch','show','options','find','create','body','user','role','Pauses','UserProfileSection','autoAssociation','UserProfileResource','error','params','eml-format','rimraf','zip-dir','fast-json-patch','bluebird','mustache','util','path','sox','fs-extra','squel','jsforce','desk.js','to-csv','querystring','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','sendStatus','status','end','offset','undefined','limit','count','set','Content-Range','reject','save','update','then','destroy','get','stack','name','send','index','map','Pause','rawAttributes','fieldName','type','key','model','query'];(function(_0x576170,_0x1712ae){var _0x397c70=function(_0x2eb9de){while(--_0x2eb9de){_0x576170['push'](_0x576170['shift']());}};_0x397c70(++_0x1712ae);}(_0x6de0,0x163));var _0x06de=function(_0x2c91e9,_0x2fb965){_0x2c91e9=_0x2c91e9-0x0;var _0x13f0ff=_0x6de0[_0x2c91e9];return _0x13f0ff;};'use strict';var emlformat=require(_0x06de('0x0'));var rimraf=require(_0x06de('0x1'));var zipdir=require(_0x06de('0x2'));var jsonpatch=require(_0x06de('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x06de('0x4'));var Mustache=require(_0x06de('0x5'));var util=require(_0x06de('0x6'));var path=require(_0x06de('0x7'));var sox=require(_0x06de('0x8'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x06de('0x9'));var _=require('lodash');var squel=require(_0x06de('0xa'));var crypto=require('crypto');var jsforce=require(_0x06de('0xb'));var deskjs=require(_0x06de('0xc'));var toCsv=require(_0x06de('0xd'));var querystring=require(_0x06de('0xe'));var Papa=require(_0x06de('0xf'));var Redis=require('ioredis');var authService=require(_0x06de('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0x06de('0x11'));var hardwareService=require(_0x06de('0x12'));var logger=require(_0x06de('0x13'))(_0x06de('0x14'));var utils=require('../../config/utils');var config=require(_0x06de('0x15'));var licenseUtil=require('../../config/license/util');var db=require(_0x06de('0x16'))['db'];function respondWithStatusCode(_0x5db405,_0x5ae352){_0x5ae352=_0x5ae352||0xcc;return function(_0x30b360){if(_0x30b360){return _0x5db405[_0x06de('0x17')](_0x5ae352);}return _0x5db405[_0x06de('0x18')](_0x5ae352)[_0x06de('0x19')]();};}function respondWithResult(_0x4b17a9,_0x46faab){_0x46faab=_0x46faab||0xc8;return function(_0x54baf7){if(_0x54baf7){return _0x4b17a9[_0x06de('0x18')](_0x46faab)['json'](_0x54baf7);}};}function respondWithFilteredResult(_0x5d3984,_0x3b607d){return function(_0x2d69f2){if(_0x2d69f2){var _0x46f68a=typeof _0x3b607d[_0x06de('0x1a')]===_0x06de('0x1b')&&typeof _0x3b607d[_0x06de('0x1c')]===_0x06de('0x1b');var _0x3a2de5=_0x2d69f2[_0x06de('0x1d')];var _0x2ae30e=_0x46f68a?0x0:_0x3b607d['offset'];var _0x62c077=_0x46f68a?_0x2d69f2[_0x06de('0x1d')]:_0x3b607d['offset']+_0x3b607d[_0x06de('0x1c')];var _0x2fed76;if(_0x62c077>=_0x3a2de5){_0x62c077=_0x3a2de5;_0x2fed76=0xc8;}else{_0x2fed76=0xce;}_0x5d3984[_0x06de('0x18')](_0x2fed76);return _0x5d3984[_0x06de('0x1e')](_0x06de('0x1f'),_0x2ae30e+'-'+_0x62c077+'/'+_0x3a2de5)['json'](_0x2d69f2);}return null;};}function patchUpdates(_0x48fd3e){return function(_0x31c0a8){try{jsonpatch['apply'](_0x31c0a8,_0x48fd3e,!![]);}catch(_0x5b3fb1){return BPromise[_0x06de('0x20')](_0x5b3fb1);}return _0x31c0a8[_0x06de('0x21')]();};}function saveUpdates(_0x429811,_0x23e356){return function(_0x176cad){if(_0x176cad){return _0x176cad[_0x06de('0x22')](_0x429811)[_0x06de('0x23')](function(_0x43773c){return _0x43773c;});}return null;};}function removeEntity(_0xbaf51d,_0x3b15ef){return function(_0x19a2ba){if(_0x19a2ba){return _0x19a2ba[_0x06de('0x24')]()[_0x06de('0x23')](function(){var _0x23e09c=_0x19a2ba[_0x06de('0x25')]({'plain':!![]});var _0x422efb='Pauses';return db['UserProfileResource'][_0x06de('0x24')]({'where':{'type':_0x422efb,'resourceId':_0x23e09c['id']}})['then'](function(){return _0x19a2ba;});})[_0x06de('0x23')](function(){_0xbaf51d['status'](0xcc)[_0x06de('0x19')]();});}};}function handleEntityNotFound(_0x20330a,_0x34b11c){return function(_0xa35acb){if(!_0xa35acb){_0x20330a[_0x06de('0x17')](0x194);}return _0xa35acb;};}function handleError(_0x40e729,_0x5c425c){_0x5c425c=_0x5c425c||0x1f4;return function(_0x1798b4){logger['error'](_0x1798b4[_0x06de('0x26')]);if(_0x1798b4['name']){delete _0x1798b4[_0x06de('0x27')];}_0x40e729[_0x06de('0x18')](_0x5c425c)[_0x06de('0x28')](_0x1798b4);};}exports[_0x06de('0x29')]=function(_0x16daa8,_0x1ea958){var _0xf59056={},_0x523859={},_0x5dc0cb={'count':0x0,'rows':[]};var _0x405114=_[_0x06de('0x2a')](db[_0x06de('0x2b')][_0x06de('0x2c')],function(_0x548d5d){return{'name':_0x548d5d[_0x06de('0x2d')],'type':_0x548d5d[_0x06de('0x2e')][_0x06de('0x2f')]};});_0x523859[_0x06de('0x30')]=_[_0x06de('0x2a')](_0x405114,_0x06de('0x27'));_0x523859[_0x06de('0x31')]=_[_0x06de('0x32')](_0x16daa8[_0x06de('0x31')]);_0x523859[_0x06de('0x33')]=_[_0x06de('0x34')](_0x523859[_0x06de('0x30')],_0x523859[_0x06de('0x31')]);_0xf59056[_0x06de('0x35')]=_[_0x06de('0x34')](_0x523859[_0x06de('0x30')],qs[_0x06de('0x36')](_0x16daa8['query'][_0x06de('0x36')]));_0xf59056['attributes']=_0xf59056[_0x06de('0x35')][_0x06de('0x37')]?_0xf59056['attributes']:_0x523859[_0x06de('0x30')];if(!_0x16daa8['query'][_0x06de('0x38')](_0x06de('0x39'))){_0xf59056['limit']=qs[_0x06de('0x1c')](_0x16daa8['query'][_0x06de('0x1c')]);_0xf59056[_0x06de('0x1a')]=qs[_0x06de('0x1a')](_0x16daa8['query']['offset']);}_0xf59056[_0x06de('0x3a')]=qs['sort'](_0x16daa8[_0x06de('0x31')]['sort']);_0xf59056[_0x06de('0x3b')]=qs['filters'](_[_0x06de('0x3c')](_0x16daa8['query'],_0x523859[_0x06de('0x33')]),_0x405114);if(_0x16daa8[_0x06de('0x31')][_0x06de('0x3d')]){_0xf59056[_0x06de('0x3b')]=_['merge'](_0xf59056[_0x06de('0x3b')],{'$or':_['map'](_0x405114,function(_0x444061){if(_0x444061[_0x06de('0x2e')]!==_0x06de('0x3e')){var _0xdcb66b={};_0xdcb66b[_0x444061[_0x06de('0x27')]]={'$like':'%'+_0x16daa8[_0x06de('0x31')]['filter']+'%'};return _0xdcb66b;}})});}_0xf59056=_[_0x06de('0x3f')]({},_0xf59056,_0x16daa8['options']);var _0x39ebc1={'where':_0xf59056['where']};return db[_0x06de('0x2b')][_0x06de('0x1d')](_0x39ebc1)[_0x06de('0x23')](function(_0xc1d827){_0x5dc0cb['count']=_0xc1d827;if(_0x16daa8[_0x06de('0x31')][_0x06de('0x40')]){_0xf59056[_0x06de('0x41')]=[{'all':!![]}];}return db[_0x06de('0x2b')]['findAll'](_0xf59056);})[_0x06de('0x23')](function(_0x1bc45a){_0x5dc0cb[_0x06de('0x42')]=_0x1bc45a;return _0x5dc0cb;})[_0x06de('0x23')](respondWithFilteredResult(_0x1ea958,_0xf59056))[_0x06de('0x43')](handleError(_0x1ea958,null));};exports[_0x06de('0x44')]=function(_0x505420,_0x44f6cb){var _0x42121c={'raw':!![],'where':{'id':_0x505420['params']['id']}},_0x52be82={};_0x52be82[_0x06de('0x30')]=_[_0x06de('0x32')](db[_0x06de('0x2b')]['rawAttributes']);_0x52be82[_0x06de('0x31')]=_['keys'](_0x505420[_0x06de('0x31')]);_0x52be82[_0x06de('0x33')]=_[_0x06de('0x34')](_0x52be82[_0x06de('0x30')],_0x52be82['query']);_0x42121c[_0x06de('0x35')]=_['intersection'](_0x52be82[_0x06de('0x30')],qs[_0x06de('0x36')](_0x505420[_0x06de('0x31')][_0x06de('0x36')]));_0x42121c['attributes']=_0x42121c[_0x06de('0x35')][_0x06de('0x37')]?_0x42121c[_0x06de('0x35')]:_0x52be82[_0x06de('0x30')];if(_0x505420[_0x06de('0x31')][_0x06de('0x40')]){_0x42121c[_0x06de('0x41')]=[{'all':!![]}];}_0x42121c=_['merge']({},_0x42121c,_0x505420[_0x06de('0x45')]);return db[_0x06de('0x2b')][_0x06de('0x46')](_0x42121c)['then'](handleEntityNotFound(_0x44f6cb,null))[_0x06de('0x23')](respondWithResult(_0x44f6cb,null))['catch'](handleError(_0x44f6cb,null));};exports[_0x06de('0x47')]=function(_0x2a037d,_0x338394){return db['Pause'][_0x06de('0x47')](_0x2a037d[_0x06de('0x48')],{})[_0x06de('0x23')](function(_0x58cef6){var _0x5f2f31=_0x2a037d[_0x06de('0x49')][_0x06de('0x25')]({'plain':!![]});if(!_0x5f2f31)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x5f2f31[_0x06de('0x4a')]===_0x06de('0x49')){var _0x3d95a7=_0x58cef6[_0x06de('0x25')]({'plain':!![]});var _0x40f520=_0x06de('0x4b');return db[_0x06de('0x4c')][_0x06de('0x46')]({'where':{'name':_0x40f520,'userProfileId':_0x5f2f31['userProfileId']},'raw':!![]})[_0x06de('0x23')](function(_0x4de37c){if(_0x4de37c&&_0x4de37c[_0x06de('0x4d')]===0x0){return db[_0x06de('0x4e')]['create']({'name':_0x3d95a7[_0x06de('0x27')],'resourceId':_0x3d95a7['id'],'type':_0x4de37c['name'],'sectionId':_0x4de37c['id']},{})[_0x06de('0x23')](function(){return _0x58cef6;});}else{return _0x58cef6;}})[_0x06de('0x43')](function(_0x1b6fde){logger[_0x06de('0x4f')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x1b6fde);throw _0x1b6fde;});}return _0x58cef6;})[_0x06de('0x23')](respondWithResult(_0x338394,0xc9))[_0x06de('0x43')](handleError(_0x338394,null));};exports[_0x06de('0x22')]=function(_0x18e868,_0x117f26){if(_0x18e868[_0x06de('0x48')]['id']){delete _0x18e868[_0x06de('0x48')]['id'];}return db[_0x06de('0x2b')]['find']({'where':{'id':_0x18e868[_0x06de('0x50')]['id']}})[_0x06de('0x23')](handleEntityNotFound(_0x117f26,null))['then'](saveUpdates(_0x18e868[_0x06de('0x48')],null))[_0x06de('0x23')](respondWithResult(_0x117f26,null))['catch'](handleError(_0x117f26,null));};exports['destroy']=function(_0x313e0e,_0x39a394){return db[_0x06de('0x2b')]['find']({'where':{'id':_0x313e0e[_0x06de('0x50')]['id']}})[_0x06de('0x23')](handleEntityNotFound(_0x39a394,null))[_0x06de('0x23')](removeEntity(_0x39a394,null))[_0x06de('0x43')](handleError(_0x39a394,null));};