Built motion from commit 87cd5f02.|2.5.48
[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 _0x9e1e=['util','path','sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','end','json','offset','undefined','count','limit','status','set','Content-Range','apply','reject','save','update','then','get','Pauses','UserProfileResource','error','stack','name','send','index','map','Pause','rawAttributes','type','key','model','query','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','VIRTUAL','merge','findAll','rows','catch','show','params','keys','includeAll','include','find','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','UserProfileSection','userProfileId','autoAssociation','create','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','destroy','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird'];(function(_0x589339,_0x318074){var _0x419a29=function(_0x315964){while(--_0x315964){_0x589339['push'](_0x589339['shift']());}};_0x419a29(++_0x318074);}(_0x9e1e,0x15a));var _0xe9e1=function(_0x4f081f,_0x362ff8){_0x4f081f=_0x4f081f-0x0;var _0x52dcac=_0x9e1e[_0x4f081f];return _0x52dcac;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xe9e1('0x0'));var zipdir=require(_0xe9e1('0x1'));var jsonpatch=require(_0xe9e1('0x2'));var rp=require(_0xe9e1('0x3'));var moment=require(_0xe9e1('0x4'));var BPromise=require(_0xe9e1('0x5'));var Mustache=require('mustache');var util=require(_0xe9e1('0x6'));var path=require(_0xe9e1('0x7'));var sox=require(_0xe9e1('0x8'));var csv=require(_0xe9e1('0x9'));var ejs=require(_0xe9e1('0xa'));var fs=require('fs');var fs_extra=require(_0xe9e1('0xb'));var _=require('lodash');var squel=require(_0xe9e1('0xc'));var crypto=require(_0xe9e1('0xd'));var jsforce=require(_0xe9e1('0xe'));var deskjs=require(_0xe9e1('0xf'));var toCsv=require('to-csv');var querystring=require(_0xe9e1('0x10'));var Papa=require(_0xe9e1('0x11'));var Redis=require('ioredis');var authService=require(_0xe9e1('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0xe9e1('0x13'));var hardwareService=require(_0xe9e1('0x14'));var logger=require('../../config/logger')(_0xe9e1('0x15'));var utils=require(_0xe9e1('0x16'));var config=require(_0xe9e1('0x17'));var licenseUtil=require(_0xe9e1('0x18'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x4b5161,_0x1f911f){_0x1f911f=_0x1f911f||0xcc;return function(_0x141c54){if(_0x141c54){return _0x4b5161[_0xe9e1('0x19')](_0x1f911f);}return _0x4b5161['status'](_0x1f911f)[_0xe9e1('0x1a')]();};}function respondWithResult(_0x2a3cb6,_0x56fc10){_0x56fc10=_0x56fc10||0xc8;return function(_0xbf7a2f){if(_0xbf7a2f){return _0x2a3cb6['status'](_0x56fc10)[_0xe9e1('0x1b')](_0xbf7a2f);}};}function respondWithFilteredResult(_0x45ae6f,_0x5a9b06){return function(_0x457775){if(_0x457775){var _0x41497e=typeof _0x5a9b06[_0xe9e1('0x1c')]===_0xe9e1('0x1d')&&typeof _0x5a9b06['limit']===_0xe9e1('0x1d');var _0x3a0b3b=_0x457775['count'];var _0x4e16e1=_0x41497e?0x0:_0x5a9b06[_0xe9e1('0x1c')];var _0x2d6b59=_0x41497e?_0x457775[_0xe9e1('0x1e')]:_0x5a9b06[_0xe9e1('0x1c')]+_0x5a9b06[_0xe9e1('0x1f')];var _0x23e101;if(_0x2d6b59>=_0x3a0b3b){_0x2d6b59=_0x3a0b3b;_0x23e101=0xc8;}else{_0x23e101=0xce;}_0x45ae6f[_0xe9e1('0x20')](_0x23e101);return _0x45ae6f[_0xe9e1('0x21')](_0xe9e1('0x22'),_0x4e16e1+'-'+_0x2d6b59+'/'+_0x3a0b3b)[_0xe9e1('0x1b')](_0x457775);}return null;};}function patchUpdates(_0x362da4){return function(_0x50e97f){try{jsonpatch[_0xe9e1('0x23')](_0x50e97f,_0x362da4,!![]);}catch(_0x1d0afa){return BPromise[_0xe9e1('0x24')](_0x1d0afa);}return _0x50e97f[_0xe9e1('0x25')]();};}function saveUpdates(_0x44dda3,_0x22c047){return function(_0x2a9872){if(_0x2a9872){return _0x2a9872[_0xe9e1('0x26')](_0x44dda3)['then'](function(_0x307767){return _0x307767;});}return null;};}function removeEntity(_0x5cc826,_0x148bef){return function(_0x3859c8){if(_0x3859c8){return _0x3859c8['destroy']()[_0xe9e1('0x27')](function(){var _0x4bc1b9=_0x3859c8[_0xe9e1('0x28')]({'plain':!![]});var _0x2133d2=_0xe9e1('0x29');return db[_0xe9e1('0x2a')]['destroy']({'where':{'type':_0x2133d2,'resourceId':_0x4bc1b9['id']}})[_0xe9e1('0x27')](function(){return _0x3859c8;});})[_0xe9e1('0x27')](function(){_0x5cc826[_0xe9e1('0x20')](0xcc)['end']();});}};}function handleEntityNotFound(_0x5356be,_0x34ae11){return function(_0x5458f3){if(!_0x5458f3){_0x5356be[_0xe9e1('0x19')](0x194);}return _0x5458f3;};}function handleError(_0x135777,_0x3971a3){_0x3971a3=_0x3971a3||0x1f4;return function(_0x5a449a){logger[_0xe9e1('0x2b')](_0x5a449a[_0xe9e1('0x2c')]);if(_0x5a449a['name']){delete _0x5a449a[_0xe9e1('0x2d')];}_0x135777[_0xe9e1('0x20')](_0x3971a3)[_0xe9e1('0x2e')](_0x5a449a);};}exports[_0xe9e1('0x2f')]=function(_0x40529e,_0x5061cf){var _0x47d19a={},_0x393d81={},_0x4d5c94={'count':0x0,'rows':[]};var _0x39e1c0=_[_0xe9e1('0x30')](db[_0xe9e1('0x31')][_0xe9e1('0x32')],function(_0xb49039){return{'name':_0xb49039['fieldName'],'type':_0xb49039[_0xe9e1('0x33')][_0xe9e1('0x34')]};});_0x393d81[_0xe9e1('0x35')]=_[_0xe9e1('0x30')](_0x39e1c0,'name');_0x393d81['query']=_['keys'](_0x40529e[_0xe9e1('0x36')]);_0x393d81['filters']=_['intersection'](_0x393d81[_0xe9e1('0x35')],_0x393d81[_0xe9e1('0x36')]);_0x47d19a[_0xe9e1('0x37')]=_[_0xe9e1('0x38')](_0x393d81['model'],qs[_0xe9e1('0x39')](_0x40529e['query'][_0xe9e1('0x39')]));_0x47d19a[_0xe9e1('0x37')]=_0x47d19a[_0xe9e1('0x37')][_0xe9e1('0x3a')]?_0x47d19a[_0xe9e1('0x37')]:_0x393d81[_0xe9e1('0x35')];if(!_0x40529e[_0xe9e1('0x36')][_0xe9e1('0x3b')](_0xe9e1('0x3c'))){_0x47d19a['limit']=qs['limit'](_0x40529e[_0xe9e1('0x36')]['limit']);_0x47d19a['offset']=qs['offset'](_0x40529e[_0xe9e1('0x36')]['offset']);}_0x47d19a[_0xe9e1('0x3d')]=qs['sort'](_0x40529e[_0xe9e1('0x36')][_0xe9e1('0x3e')]);_0x47d19a[_0xe9e1('0x3f')]=qs[_0xe9e1('0x40')](_[_0xe9e1('0x41')](_0x40529e[_0xe9e1('0x36')],_0x393d81[_0xe9e1('0x40')]),_0x39e1c0);if(_0x40529e[_0xe9e1('0x36')][_0xe9e1('0x42')]){_0x47d19a[_0xe9e1('0x3f')]=_['merge'](_0x47d19a[_0xe9e1('0x3f')],{'$or':_[_0xe9e1('0x30')](_0x39e1c0,function(_0x3fa556){if(_0x3fa556[_0xe9e1('0x33')]!==_0xe9e1('0x43')){var _0xa48a59={};_0xa48a59[_0x3fa556['name']]={'$like':'%'+_0x40529e[_0xe9e1('0x36')]['filter']+'%'};return _0xa48a59;}})});}_0x47d19a=_[_0xe9e1('0x44')]({},_0x47d19a,_0x40529e['options']);var _0x1ceece={'where':_0x47d19a['where']};return db['Pause']['count'](_0x1ceece)[_0xe9e1('0x27')](function(_0x15458e){_0x4d5c94[_0xe9e1('0x1e')]=_0x15458e;if(_0x40529e[_0xe9e1('0x36')]['includeAll']){_0x47d19a['include']=[{'all':!![]}];}return db[_0xe9e1('0x31')][_0xe9e1('0x45')](_0x47d19a);})[_0xe9e1('0x27')](function(_0x2b47d2){_0x4d5c94[_0xe9e1('0x46')]=_0x2b47d2;return _0x4d5c94;})[_0xe9e1('0x27')](respondWithFilteredResult(_0x5061cf,_0x47d19a))[_0xe9e1('0x47')](handleError(_0x5061cf,null));};exports[_0xe9e1('0x48')]=function(_0x24bd56,_0xc94368){var _0x282e50={'raw':!![],'where':{'id':_0x24bd56[_0xe9e1('0x49')]['id']}},_0x14da58={};_0x14da58[_0xe9e1('0x35')]=_[_0xe9e1('0x4a')](db[_0xe9e1('0x31')][_0xe9e1('0x32')]);_0x14da58[_0xe9e1('0x36')]=_[_0xe9e1('0x4a')](_0x24bd56[_0xe9e1('0x36')]);_0x14da58[_0xe9e1('0x40')]=_[_0xe9e1('0x38')](_0x14da58[_0xe9e1('0x35')],_0x14da58[_0xe9e1('0x36')]);_0x282e50[_0xe9e1('0x37')]=_[_0xe9e1('0x38')](_0x14da58[_0xe9e1('0x35')],qs[_0xe9e1('0x39')](_0x24bd56[_0xe9e1('0x36')][_0xe9e1('0x39')]));_0x282e50[_0xe9e1('0x37')]=_0x282e50[_0xe9e1('0x37')][_0xe9e1('0x3a')]?_0x282e50[_0xe9e1('0x37')]:_0x14da58[_0xe9e1('0x35')];if(_0x24bd56[_0xe9e1('0x36')][_0xe9e1('0x4b')]){_0x282e50[_0xe9e1('0x4c')]=[{'all':!![]}];}_0x282e50=_[_0xe9e1('0x44')]({},_0x282e50,_0x24bd56['options']);return db[_0xe9e1('0x31')][_0xe9e1('0x4d')](_0x282e50)['then'](handleEntityNotFound(_0xc94368,null))['then'](respondWithResult(_0xc94368,null))[_0xe9e1('0x47')](handleError(_0xc94368,null));};exports['create']=function(_0x33bef1,_0x2b3e1d){return db['Pause']['create'](_0x33bef1[_0xe9e1('0x4e')],{})['then'](function(_0x5d9415){var _0x26c091=_0x33bef1['user']['get']({'plain':!![]});if(!_0x26c091)throw new Error(_0xe9e1('0x4f'));if(_0x26c091[_0xe9e1('0x50')]===_0xe9e1('0x51')){var _0x1048dd=_0x5d9415[_0xe9e1('0x28')]({'plain':!![]});var _0x15cf7a=_0xe9e1('0x29');return db[_0xe9e1('0x52')][_0xe9e1('0x4d')]({'where':{'name':_0x15cf7a,'userProfileId':_0x26c091[_0xe9e1('0x53')]},'raw':!![]})[_0xe9e1('0x27')](function(_0x4added){if(_0x4added&&_0x4added[_0xe9e1('0x54')]===0x0){return db['UserProfileResource'][_0xe9e1('0x55')]({'name':_0x1048dd[_0xe9e1('0x2d')],'resourceId':_0x1048dd['id'],'type':_0x4added[_0xe9e1('0x2d')],'sectionId':_0x4added['id']},{})[_0xe9e1('0x27')](function(){return _0x5d9415;});}else{return _0x5d9415;}})[_0xe9e1('0x47')](function(_0x7f602b){logger[_0xe9e1('0x2b')](_0xe9e1('0x56'),_0x7f602b);throw _0x7f602b;});}return _0x5d9415;})[_0xe9e1('0x27')](respondWithResult(_0x2b3e1d,0xc9))[_0xe9e1('0x47')](handleError(_0x2b3e1d,null));};exports[_0xe9e1('0x26')]=function(_0x50d886,_0x4fde8b){if(_0x50d886[_0xe9e1('0x4e')]['id']){delete _0x50d886['body']['id'];}return db[_0xe9e1('0x31')][_0xe9e1('0x4d')]({'where':{'id':_0x50d886[_0xe9e1('0x49')]['id']}})[_0xe9e1('0x27')](handleEntityNotFound(_0x4fde8b,null))[_0xe9e1('0x27')](saveUpdates(_0x50d886[_0xe9e1('0x4e')],null))[_0xe9e1('0x27')](respondWithResult(_0x4fde8b,null))['catch'](handleError(_0x4fde8b,null));};exports[_0xe9e1('0x57')]=function(_0x412a87,_0x85786a){return db[_0xe9e1('0x31')]['find']({'where':{'id':_0x412a87[_0xe9e1('0x49')]['id']}})[_0xe9e1('0x27')](handleEntityNotFound(_0x85786a,null))[_0xe9e1('0x27')](removeEntity(_0x85786a,null))[_0xe9e1('0x47')](handleError(_0x85786a,null));};