Built motion from commit c738b9ac.|2.6.25
[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 _0xa324=['destroy','error','stack','name','send','map','Pause','fieldName','type','key','keys','intersection','model','query','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','UserProfileSection','find','params','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','count','limit','set','apply','reject','save','update','then','get','Pauses','UserProfileResource'];(function(_0x3ec903,_0x8de89e){var _0x3de912=function(_0x2fa720){while(--_0x2fa720){_0x3ec903['push'](_0x3ec903['shift']());}};_0x3de912(++_0x8de89e);}(_0xa324,0x17a));var _0x4a32=function(_0x409353,_0xe9f04d){_0x409353=_0x409353-0x0;var _0x4f4b59=_0xa324[_0x409353];return _0x4f4b59;};'use strict';var emlformat=require(_0x4a32('0x0'));var rimraf=require(_0x4a32('0x1'));var zipdir=require(_0x4a32('0x2'));var jsonpatch=require(_0x4a32('0x3'));var rp=require(_0x4a32('0x4'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x4a32('0x5'));var util=require(_0x4a32('0x6'));var path=require(_0x4a32('0x7'));var sox=require(_0x4a32('0x8'));var csv=require(_0x4a32('0x9'));var ejs=require(_0x4a32('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x4a32('0xb'));var squel=require(_0x4a32('0xc'));var crypto=require(_0x4a32('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x4a32('0xe'));var toCsv=require(_0x4a32('0x9'));var querystring=require(_0x4a32('0xf'));var Papa=require('papaparse');var Redis=require(_0x4a32('0x10'));var authService=require(_0x4a32('0x11'));var qs=require(_0x4a32('0x12'));var as=require(_0x4a32('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x4a32('0x14'))('api');var utils=require(_0x4a32('0x15'));var config=require(_0x4a32('0x16'));var licenseUtil=require(_0x4a32('0x17'));var db=require(_0x4a32('0x18'))['db'];function respondWithStatusCode(_0x43dc17,_0x3124e0){_0x3124e0=_0x3124e0||0xcc;return function(_0x408c67){if(_0x408c67){return _0x43dc17[_0x4a32('0x19')](_0x3124e0);}return _0x43dc17[_0x4a32('0x1a')](_0x3124e0)[_0x4a32('0x1b')]();};}function respondWithResult(_0x58157d,_0x2ff638){_0x2ff638=_0x2ff638||0xc8;return function(_0x537cf4){if(_0x537cf4){return _0x58157d[_0x4a32('0x1a')](_0x2ff638)[_0x4a32('0x1c')](_0x537cf4);}};}function respondWithFilteredResult(_0x47928b,_0x1eb290){return function(_0x4cb4ac){if(_0x4cb4ac){var _0x2b3380=typeof _0x1eb290[_0x4a32('0x1d')]==='undefined'&&typeof _0x1eb290['limit']===_0x4a32('0x1e');var _0x16a02e=_0x4cb4ac[_0x4a32('0x1f')];var _0x5d68b8=_0x2b3380?0x0:_0x1eb290[_0x4a32('0x1d')];var _0x35cfe5=_0x2b3380?_0x4cb4ac[_0x4a32('0x1f')]:_0x1eb290['offset']+_0x1eb290[_0x4a32('0x20')];var _0xeb6dd9;if(_0x35cfe5>=_0x16a02e){_0x35cfe5=_0x16a02e;_0xeb6dd9=0xc8;}else{_0xeb6dd9=0xce;}_0x47928b[_0x4a32('0x1a')](_0xeb6dd9);return _0x47928b[_0x4a32('0x21')]('Content-Range',_0x5d68b8+'-'+_0x35cfe5+'/'+_0x16a02e)['json'](_0x4cb4ac);}return null;};}function patchUpdates(_0x3033a6){return function(_0x2758e1){try{jsonpatch[_0x4a32('0x22')](_0x2758e1,_0x3033a6,!![]);}catch(_0xaa40a0){return BPromise[_0x4a32('0x23')](_0xaa40a0);}return _0x2758e1[_0x4a32('0x24')]();};}function saveUpdates(_0x127d83,_0x111c8b){return function(_0x2243d4){if(_0x2243d4){return _0x2243d4[_0x4a32('0x25')](_0x127d83)[_0x4a32('0x26')](function(_0x4ebf2d){return _0x4ebf2d;});}return null;};}function removeEntity(_0x293de1,_0x3bed7b){return function(_0x1d0e9f){if(_0x1d0e9f){return _0x1d0e9f['destroy']()[_0x4a32('0x26')](function(){var _0x2b16c0=_0x1d0e9f[_0x4a32('0x27')]({'plain':!![]});var _0x8ae23a=_0x4a32('0x28');return db[_0x4a32('0x29')][_0x4a32('0x2a')]({'where':{'type':_0x8ae23a,'resourceId':_0x2b16c0['id']}})['then'](function(){return _0x1d0e9f;});})[_0x4a32('0x26')](function(){_0x293de1['status'](0xcc)[_0x4a32('0x1b')]();});}};}function handleEntityNotFound(_0x36b807,_0x13c28a){return function(_0x3c61d2){if(!_0x3c61d2){_0x36b807[_0x4a32('0x19')](0x194);}return _0x3c61d2;};}function handleError(_0x3f723e,_0x5c6bea){_0x5c6bea=_0x5c6bea||0x1f4;return function(_0x4c83c3){logger[_0x4a32('0x2b')](_0x4c83c3[_0x4a32('0x2c')]);if(_0x4c83c3['name']){delete _0x4c83c3[_0x4a32('0x2d')];}_0x3f723e[_0x4a32('0x1a')](_0x5c6bea)[_0x4a32('0x2e')](_0x4c83c3);};}exports['index']=function(_0x595a88,_0x100a39){var _0x4b54c2={},_0x299ae8={},_0x224ce0={'count':0x0,'rows':[]};var _0x46d043=_[_0x4a32('0x2f')](db[_0x4a32('0x30')]['rawAttributes'],function(_0x55195e){return{'name':_0x55195e[_0x4a32('0x31')],'type':_0x55195e[_0x4a32('0x32')][_0x4a32('0x33')]};});_0x299ae8['model']=_[_0x4a32('0x2f')](_0x46d043,_0x4a32('0x2d'));_0x299ae8['query']=_[_0x4a32('0x34')](_0x595a88['query']);_0x299ae8['filters']=_[_0x4a32('0x35')](_0x299ae8[_0x4a32('0x36')],_0x299ae8[_0x4a32('0x37')]);_0x4b54c2[_0x4a32('0x38')]=_['intersection'](_0x299ae8[_0x4a32('0x36')],qs[_0x4a32('0x39')](_0x595a88[_0x4a32('0x37')]['fields']));_0x4b54c2[_0x4a32('0x38')]=_0x4b54c2[_0x4a32('0x38')][_0x4a32('0x3a')]?_0x4b54c2[_0x4a32('0x38')]:_0x299ae8[_0x4a32('0x36')];if(!_0x595a88[_0x4a32('0x37')][_0x4a32('0x3b')](_0x4a32('0x3c'))){_0x4b54c2[_0x4a32('0x20')]=qs[_0x4a32('0x20')](_0x595a88[_0x4a32('0x37')][_0x4a32('0x20')]);_0x4b54c2['offset']=qs[_0x4a32('0x1d')](_0x595a88[_0x4a32('0x37')][_0x4a32('0x1d')]);}_0x4b54c2[_0x4a32('0x3d')]=qs[_0x4a32('0x3e')](_0x595a88[_0x4a32('0x37')][_0x4a32('0x3e')]);_0x4b54c2[_0x4a32('0x3f')]=qs[_0x4a32('0x40')](_[_0x4a32('0x41')](_0x595a88[_0x4a32('0x37')],_0x299ae8[_0x4a32('0x40')]),_0x46d043);if(_0x595a88[_0x4a32('0x37')][_0x4a32('0x42')]){_0x4b54c2['where']=_[_0x4a32('0x43')](_0x4b54c2[_0x4a32('0x3f')],{'$or':_[_0x4a32('0x2f')](_0x46d043,function(_0xff96e5){if(_0xff96e5[_0x4a32('0x32')]!==_0x4a32('0x44')){var _0x4b4e44={};_0x4b4e44[_0xff96e5[_0x4a32('0x2d')]]={'$like':'%'+_0x595a88['query'][_0x4a32('0x42')]+'%'};return _0x4b4e44;}})});}_0x4b54c2=_[_0x4a32('0x43')]({},_0x4b54c2,_0x595a88[_0x4a32('0x45')]);var _0xda1240={'where':_0x4b54c2[_0x4a32('0x3f')]};return db[_0x4a32('0x30')][_0x4a32('0x1f')](_0xda1240)[_0x4a32('0x26')](function(_0x5d3690){_0x224ce0['count']=_0x5d3690;if(_0x595a88[_0x4a32('0x37')][_0x4a32('0x46')]){_0x4b54c2[_0x4a32('0x47')]=[{'all':!![]}];}return db[_0x4a32('0x30')][_0x4a32('0x48')](_0x4b54c2);})[_0x4a32('0x26')](function(_0x3af8a6){_0x224ce0[_0x4a32('0x49')]=_0x3af8a6;return _0x224ce0;})[_0x4a32('0x26')](respondWithFilteredResult(_0x100a39,_0x4b54c2))[_0x4a32('0x4a')](handleError(_0x100a39,null));};exports[_0x4a32('0x4b')]=function(_0xb98ea8,_0x21a8ed){var _0x56021a={'raw':!![],'where':{'id':_0xb98ea8['params']['id']}},_0x574a22={};_0x574a22[_0x4a32('0x36')]=_[_0x4a32('0x34')](db['Pause']['rawAttributes']);_0x574a22[_0x4a32('0x37')]=_[_0x4a32('0x34')](_0xb98ea8[_0x4a32('0x37')]);_0x574a22[_0x4a32('0x40')]=_['intersection'](_0x574a22[_0x4a32('0x36')],_0x574a22['query']);_0x56021a[_0x4a32('0x38')]=_[_0x4a32('0x35')](_0x574a22[_0x4a32('0x36')],qs[_0x4a32('0x39')](_0xb98ea8['query']['fields']));_0x56021a['attributes']=_0x56021a[_0x4a32('0x38')]['length']?_0x56021a[_0x4a32('0x38')]:_0x574a22['model'];if(_0xb98ea8[_0x4a32('0x37')][_0x4a32('0x46')]){_0x56021a['include']=[{'all':!![]}];}_0x56021a=_[_0x4a32('0x43')]({},_0x56021a,_0xb98ea8[_0x4a32('0x45')]);return db[_0x4a32('0x30')]['find'](_0x56021a)[_0x4a32('0x26')](handleEntityNotFound(_0x21a8ed,null))[_0x4a32('0x26')](respondWithResult(_0x21a8ed,null))[_0x4a32('0x4a')](handleError(_0x21a8ed,null));};exports[_0x4a32('0x4c')]=function(_0x52b6b5,_0x42a6fb){return db['Pause'][_0x4a32('0x4c')](_0x52b6b5[_0x4a32('0x4d')],{})[_0x4a32('0x26')](function(_0x7df915){var _0x1a4bf4=_0x52b6b5['user']['get']({'plain':!![]});if(!_0x1a4bf4)throw new Error(_0x4a32('0x4e'));if(_0x1a4bf4[_0x4a32('0x4f')]===_0x4a32('0x50')){var _0x13360a=_0x7df915['get']({'plain':!![]});var _0x59c8d6=_0x4a32('0x28');return db[_0x4a32('0x51')][_0x4a32('0x52')]({'where':{'name':_0x59c8d6,'userProfileId':_0x1a4bf4['userProfileId']},'raw':!![]})[_0x4a32('0x26')](function(_0x56deda){if(_0x56deda&&_0x56deda['autoAssociation']===0x0){return db[_0x4a32('0x29')][_0x4a32('0x4c')]({'name':_0x13360a['name'],'resourceId':_0x13360a['id'],'type':_0x56deda[_0x4a32('0x2d')],'sectionId':_0x56deda['id']},{})['then'](function(){return _0x7df915;});}else{return _0x7df915;}})[_0x4a32('0x4a')](function(_0x486b4c){logger[_0x4a32('0x2b')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x486b4c);throw _0x486b4c;});}return _0x7df915;})[_0x4a32('0x26')](respondWithResult(_0x42a6fb,0xc9))[_0x4a32('0x4a')](handleError(_0x42a6fb,null));};exports[_0x4a32('0x25')]=function(_0x3ee637,_0x558515){if(_0x3ee637[_0x4a32('0x4d')]['id']){delete _0x3ee637[_0x4a32('0x4d')]['id'];}return db[_0x4a32('0x30')][_0x4a32('0x52')]({'where':{'id':_0x3ee637['params']['id']}})[_0x4a32('0x26')](handleEntityNotFound(_0x558515,null))['then'](saveUpdates(_0x3ee637[_0x4a32('0x4d')],null))['then'](respondWithResult(_0x558515,null))[_0x4a32('0x4a')](handleError(_0x558515,null));};exports[_0x4a32('0x2a')]=function(_0x2e918b,_0x4ed55f){return db[_0x4a32('0x30')]['find']({'where':{'id':_0x2e918b[_0x4a32('0x53')]['id']}})[_0x4a32('0x26')](handleEntityNotFound(_0x4ed55f,null))[_0x4a32('0x26')](removeEntity(_0x4ed55f,null))[_0x4a32('0x4a')](handleError(_0x4ed55f,null));};