e002462da16224f6675abf56a5ea6d0baf64fcb5
[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 _0x0319=['order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','findAll','rows','catch','show','find','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','eml-format','rimraf','zip-dir','request-promise','bluebird','util','path','sox','lodash','squel','crypto','jsforce','desk.js','to-csv','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','count','offset','limit','Content-Range','apply','reject','save','update','then','Pauses','UserProfileResource','error','stack','name','send','index','map','Pause','rawAttributes','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit'];(function(_0x53db6f,_0x3b0fc1){var _0x386a7f=function(_0x24a595){while(--_0x24a595){_0x53db6f['push'](_0x53db6f['shift']());}};_0x386a7f(++_0x3b0fc1);}(_0x0319,0x109));var _0x9031=function(_0x6c993a,_0x5ea3ab){_0x6c993a=_0x6c993a-0x0;var _0x27f547=_0x0319[_0x6c993a];return _0x27f547;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x9031('0x0'));var rimraf=require(_0x9031('0x1'));var zipdir=require(_0x9031('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x9031('0x3'));var moment=require('moment');var BPromise=require(_0x9031('0x4'));var Mustache=require('mustache');var util=require(_0x9031('0x5'));var path=require(_0x9031('0x6'));var sox=require(_0x9031('0x7'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0x9031('0x8'));var squel=require(_0x9031('0x9'));var crypto=require(_0x9031('0xa'));var jsforce=require(_0x9031('0xb'));var deskjs=require(_0x9031('0xc'));var toCsv=require(_0x9031('0xd'));var querystring=require('querystring');var Papa=require(_0x9031('0xe'));var Redis=require(_0x9031('0xf'));var authService=require('../../components/auth/service');var qs=require(_0x9031('0x10'));var as=require(_0x9031('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')('api');var utils=require('../../config/utils');var config=require(_0x9031('0x12'));var licenseUtil=require(_0x9031('0x13'));var db=require(_0x9031('0x14'))['db'];function respondWithStatusCode(_0x365813,_0x2bb520){_0x2bb520=_0x2bb520||0xcc;return function(_0x429f1e){if(_0x429f1e){return _0x365813[_0x9031('0x15')](_0x2bb520);}return _0x365813['status'](_0x2bb520)['end']();};}function respondWithResult(_0x1d0f56,_0x3b7d8b){_0x3b7d8b=_0x3b7d8b||0xc8;return function(_0x284aec){if(_0x284aec){return _0x1d0f56[_0x9031('0x16')](_0x3b7d8b)[_0x9031('0x17')](_0x284aec);}};}function respondWithFilteredResult(_0x2c7b54,_0x547365){return function(_0x4aa4fc){if(_0x4aa4fc){var _0x2934d9=_0x4aa4fc[_0x9031('0x18')],_0x30aa2d=_0x547365['offset'],_0x450be0=_0x547365[_0x9031('0x19')]+_0x547365[_0x9031('0x1a')],_0x24dc0b;if(_0x450be0>=_0x2934d9){_0x450be0=_0x2934d9;_0x24dc0b=0xc8;}else{_0x24dc0b=0xce;}_0x2c7b54[_0x9031('0x16')](_0x24dc0b);return _0x2c7b54['set'](_0x9031('0x1b'),_0x30aa2d+'-'+_0x450be0+'/'+_0x2934d9)[_0x9031('0x17')](_0x4aa4fc);}return null;};}function patchUpdates(_0x4eaf4f){return function(_0x26a7a7){try{jsonpatch[_0x9031('0x1c')](_0x26a7a7,_0x4eaf4f,!![]);}catch(_0x29d96e){return BPromise[_0x9031('0x1d')](_0x29d96e);}return _0x26a7a7[_0x9031('0x1e')]();};}function saveUpdates(_0x27f1b5,_0x1d69d9){return function(_0x52bf25){if(_0x52bf25){return _0x52bf25[_0x9031('0x1f')](_0x27f1b5)[_0x9031('0x20')](function(_0x34ab15){return _0x34ab15;});}return null;};}function removeEntity(_0x24f26a,_0x3fa46d){return function(_0x213e47){if(_0x213e47){return _0x213e47['destroy']()[_0x9031('0x20')](function(){var _0xa38d51=_0x213e47['get']({'plain':!![]});var _0x21b72c=_0x9031('0x21');return db[_0x9031('0x22')]['destroy']({'where':{'type':_0x21b72c,'resourceId':_0xa38d51['id']}})['then'](function(){return _0x213e47;});})[_0x9031('0x20')](function(){_0x24f26a[_0x9031('0x16')](0xcc)['end']();});}};}function handleEntityNotFound(_0x3b7f8b,_0x2dbeab){return function(_0x564b26){if(!_0x564b26){_0x3b7f8b['sendStatus'](0x194);}return _0x564b26;};}function handleError(_0x21e379,_0x1f35de){_0x1f35de=_0x1f35de||0x1f4;return function(_0x4f60ff){logger[_0x9031('0x23')](_0x4f60ff[_0x9031('0x24')]);if(_0x4f60ff[_0x9031('0x25')]){delete _0x4f60ff[_0x9031('0x25')];}_0x21e379['status'](_0x1f35de)[_0x9031('0x26')](_0x4f60ff);};}exports[_0x9031('0x27')]=function(_0x48f20b,_0x5ef7de){var _0x47528a={},_0x56ee5d={},_0x77210a={'count':0x0,'rows':[]};var _0x239de4=_[_0x9031('0x28')](db[_0x9031('0x29')][_0x9031('0x2a')],function(_0x5f51a1){return{'name':_0x5f51a1['fieldName'],'type':_0x5f51a1[_0x9031('0x2b')][_0x9031('0x2c')]};});_0x56ee5d[_0x9031('0x2d')]=_[_0x9031('0x28')](_0x239de4,_0x9031('0x25'));_0x56ee5d[_0x9031('0x2e')]=_[_0x9031('0x2f')](_0x48f20b[_0x9031('0x2e')]);_0x56ee5d[_0x9031('0x30')]=_[_0x9031('0x31')](_0x56ee5d[_0x9031('0x2d')],_0x56ee5d[_0x9031('0x2e')]);_0x47528a[_0x9031('0x32')]=_[_0x9031('0x31')](_0x56ee5d[_0x9031('0x2d')],qs[_0x9031('0x33')](_0x48f20b['query'][_0x9031('0x33')]));_0x47528a[_0x9031('0x32')]=_0x47528a['attributes'][_0x9031('0x34')]?_0x47528a[_0x9031('0x32')]:_0x56ee5d[_0x9031('0x2d')];if(!_0x48f20b[_0x9031('0x2e')][_0x9031('0x35')](_0x9031('0x36'))){_0x47528a[_0x9031('0x1a')]=qs[_0x9031('0x1a')](_0x48f20b[_0x9031('0x2e')][_0x9031('0x1a')]);_0x47528a['offset']=qs['offset'](_0x48f20b[_0x9031('0x2e')][_0x9031('0x19')]);}_0x47528a[_0x9031('0x37')]=qs[_0x9031('0x38')](_0x48f20b['query'][_0x9031('0x38')]);_0x47528a[_0x9031('0x39')]=qs['filters'](_[_0x9031('0x3a')](_0x48f20b[_0x9031('0x2e')],_0x56ee5d[_0x9031('0x30')]),_0x239de4);if(_0x48f20b[_0x9031('0x2e')][_0x9031('0x3b')]){_0x47528a[_0x9031('0x39')]=_[_0x9031('0x3c')](_0x47528a[_0x9031('0x39')],{'$or':_[_0x9031('0x28')](_0x239de4,function(_0x26a1e3){if(_0x26a1e3[_0x9031('0x2b')]!==_0x9031('0x3d')){var _0x333f08={};_0x333f08[_0x26a1e3['name']]={'$like':'%'+_0x48f20b[_0x9031('0x2e')]['filter']+'%'};return _0x333f08;}})});}_0x47528a=_[_0x9031('0x3c')]({},_0x47528a,_0x48f20b[_0x9031('0x3e')]);var _0x30bea9={'where':_0x47528a[_0x9031('0x39')]};return db[_0x9031('0x29')]['count'](_0x30bea9)[_0x9031('0x20')](function(_0x3cd059){_0x77210a['count']=_0x3cd059;if(_0x48f20b[_0x9031('0x2e')][_0x9031('0x3f')]){_0x47528a['include']=[{'all':!![]}];}return db[_0x9031('0x29')][_0x9031('0x40')](_0x47528a);})['then'](function(_0x47410f){_0x77210a[_0x9031('0x41')]=_0x47410f;return _0x77210a;})[_0x9031('0x20')](respondWithFilteredResult(_0x5ef7de,_0x47528a))[_0x9031('0x42')](handleError(_0x5ef7de,null));};exports[_0x9031('0x43')]=function(_0x41a796,_0x323c46){var _0x5bf6e3={'raw':!![],'where':{'id':_0x41a796['params']['id']}},_0x561462={};_0x561462[_0x9031('0x2d')]=_['keys'](db[_0x9031('0x29')]['rawAttributes']);_0x561462[_0x9031('0x2e')]=_[_0x9031('0x2f')](_0x41a796[_0x9031('0x2e')]);_0x561462[_0x9031('0x30')]=_['intersection'](_0x561462['model'],_0x561462[_0x9031('0x2e')]);_0x5bf6e3[_0x9031('0x32')]=_[_0x9031('0x31')](_0x561462[_0x9031('0x2d')],qs['fields'](_0x41a796[_0x9031('0x2e')][_0x9031('0x33')]));_0x5bf6e3[_0x9031('0x32')]=_0x5bf6e3[_0x9031('0x32')][_0x9031('0x34')]?_0x5bf6e3[_0x9031('0x32')]:_0x561462[_0x9031('0x2d')];if(_0x41a796[_0x9031('0x2e')][_0x9031('0x3f')]){_0x5bf6e3['include']=[{'all':!![]}];}_0x5bf6e3=_[_0x9031('0x3c')]({},_0x5bf6e3,_0x41a796['options']);return db[_0x9031('0x29')][_0x9031('0x44')](_0x5bf6e3)[_0x9031('0x20')](handleEntityNotFound(_0x323c46,null))[_0x9031('0x20')](respondWithResult(_0x323c46,null))[_0x9031('0x42')](handleError(_0x323c46,null));};exports[_0x9031('0x45')]=function(_0x183479,_0x1da20d){return db[_0x9031('0x29')]['create'](_0x183479[_0x9031('0x46')],{})[_0x9031('0x20')](function(_0x484b22){var _0x39459c=_0x183479[_0x9031('0x47')][_0x9031('0x48')]({'plain':!![]});if(!_0x39459c)throw new Error(_0x9031('0x49'));if(_0x39459c[_0x9031('0x4a')]===_0x9031('0x47')){var _0x58ee88=_0x484b22[_0x9031('0x48')]({'plain':!![]});var _0x5d2202=_0x9031('0x21');return db[_0x9031('0x4b')][_0x9031('0x44')]({'where':{'name':_0x5d2202,'userProfileId':_0x39459c[_0x9031('0x4c')]},'raw':!![]})[_0x9031('0x20')](function(_0x2be802){if(_0x2be802&&_0x2be802[_0x9031('0x4d')]===0x0){return db[_0x9031('0x22')][_0x9031('0x45')]({'name':_0x58ee88[_0x9031('0x25')],'resourceId':_0x58ee88['id'],'type':_0x2be802[_0x9031('0x25')],'sectionId':_0x2be802['id']},{})[_0x9031('0x20')](function(){return _0x484b22;});}else{return _0x484b22;}})[_0x9031('0x42')](function(_0x474b9b){logger['error'](_0x9031('0x4e'),_0x474b9b);throw _0x474b9b;});}return _0x484b22;})[_0x9031('0x20')](respondWithResult(_0x1da20d,0xc9))['catch'](handleError(_0x1da20d,null));};exports[_0x9031('0x1f')]=function(_0x5e7212,_0x53d989){if(_0x5e7212['body']['id']){delete _0x5e7212[_0x9031('0x46')]['id'];}return db[_0x9031('0x29')]['find']({'where':{'id':_0x5e7212[_0x9031('0x4f')]['id']}})[_0x9031('0x20')](handleEntityNotFound(_0x53d989,null))[_0x9031('0x20')](saveUpdates(_0x5e7212[_0x9031('0x46')],null))[_0x9031('0x20')](respondWithResult(_0x53d989,null))[_0x9031('0x42')](handleError(_0x53d989,null));};exports['destroy']=function(_0x11acd9,_0x2fb36b){return db[_0x9031('0x29')]['find']({'where':{'id':_0x11acd9[_0x9031('0x4f')]['id']}})[_0x9031('0x20')](handleEntityNotFound(_0x2fb36b,null))[_0x9031('0x20')](removeEntity(_0x2fb36b,null))['catch'](handleError(_0x2fb36b,null));};