0cfe4f07a30d39de7a704af3972a7b8001bcb251
[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 _0xbdb2=['ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../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','Content-Range','apply','reject','save','then','destroy','get','Pauses','UserProfileResource','error','stack','name','send','map','Pause','rawAttributes','fieldName','type','key','model','keys','filters','attributes','fields','query','length','hasOwnProperty','order','sort','where','pick','filter','VIRTUAL','merge','options','includeAll','include','findAll','rows','catch','show','params','intersection','find','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','path','sox','to-csv'];(function(_0x593e83,_0x30f8cb){var _0x238289=function(_0x2351e4){while(--_0x2351e4){_0x593e83['push'](_0x593e83['shift']());}};_0x238289(++_0x30f8cb);}(_0xbdb2,0x156));var _0x2bdb=function(_0x325dea,_0x513a46){_0x325dea=_0x325dea-0x0;var _0x5804db=_0xbdb2[_0x325dea];return _0x5804db;};'use strict';var emlformat=require(_0x2bdb('0x0'));var rimraf=require(_0x2bdb('0x1'));var zipdir=require(_0x2bdb('0x2'));var jsonpatch=require(_0x2bdb('0x3'));var rp=require('request-promise');var moment=require(_0x2bdb('0x4'));var BPromise=require(_0x2bdb('0x5'));var Mustache=require(_0x2bdb('0x6'));var util=require('util');var path=require(_0x2bdb('0x7'));var sox=require(_0x2bdb('0x8'));var csv=require(_0x2bdb('0x9'));var ejs=require(_0x2bdb('0xa'));var fs=require('fs');var fs_extra=require(_0x2bdb('0xb'));var _=require(_0x2bdb('0xc'));var squel=require(_0x2bdb('0xd'));var crypto=require(_0x2bdb('0xe'));var jsforce=require(_0x2bdb('0xf'));var deskjs=require(_0x2bdb('0x10'));var toCsv=require('to-csv');var querystring=require(_0x2bdb('0x11'));var Papa=require(_0x2bdb('0x12'));var Redis=require('ioredis');var authService=require(_0x2bdb('0x13'));var qs=require(_0x2bdb('0x14'));var as=require(_0x2bdb('0x15'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x2bdb('0x16'))('api');var utils=require(_0x2bdb('0x17'));var config=require(_0x2bdb('0x18'));var licenseUtil=require(_0x2bdb('0x19'));var db=require(_0x2bdb('0x1a'))['db'];function respondWithStatusCode(_0xd26f9,_0x3a834e){_0x3a834e=_0x3a834e||0xcc;return function(_0x4b39b4){if(_0x4b39b4){return _0xd26f9[_0x2bdb('0x1b')](_0x3a834e);}return _0xd26f9[_0x2bdb('0x1c')](_0x3a834e)[_0x2bdb('0x1d')]();};}function respondWithResult(_0x1c49fb,_0x5e5447){_0x5e5447=_0x5e5447||0xc8;return function(_0x10d5cd){if(_0x10d5cd){return _0x1c49fb[_0x2bdb('0x1c')](_0x5e5447)[_0x2bdb('0x1e')](_0x10d5cd);}};}function respondWithFilteredResult(_0x51654b,_0x3f184f){return function(_0x2808af){if(_0x2808af){var _0x2b72b6=typeof _0x3f184f[_0x2bdb('0x1f')]==='undefined'&&typeof _0x3f184f['limit']===_0x2bdb('0x20');var _0x2eb10e=_0x2808af[_0x2bdb('0x21')];var _0x33b9ce=_0x2b72b6?0x0:_0x3f184f[_0x2bdb('0x1f')];var _0x102d7c=_0x2b72b6?_0x2808af[_0x2bdb('0x21')]:_0x3f184f['offset']+_0x3f184f[_0x2bdb('0x22')];var _0x2e436c;if(_0x102d7c>=_0x2eb10e){_0x102d7c=_0x2eb10e;_0x2e436c=0xc8;}else{_0x2e436c=0xce;}_0x51654b[_0x2bdb('0x1c')](_0x2e436c);return _0x51654b[_0x2bdb('0x23')](_0x2bdb('0x24'),_0x33b9ce+'-'+_0x102d7c+'/'+_0x2eb10e)['json'](_0x2808af);}return null;};}function patchUpdates(_0x2fbe20){return function(_0x46664e){try{jsonpatch[_0x2bdb('0x25')](_0x46664e,_0x2fbe20,!![]);}catch(_0x31ac04){return BPromise[_0x2bdb('0x26')](_0x31ac04);}return _0x46664e[_0x2bdb('0x27')]();};}function saveUpdates(_0x2bc4dc,_0x5cf6a6){return function(_0x31e518){if(_0x31e518){return _0x31e518['update'](_0x2bc4dc)[_0x2bdb('0x28')](function(_0x141889){return _0x141889;});}return null;};}function removeEntity(_0x4e275f,_0x3d3d03){return function(_0x39b55a){if(_0x39b55a){return _0x39b55a[_0x2bdb('0x29')]()[_0x2bdb('0x28')](function(){var _0x2854fd=_0x39b55a[_0x2bdb('0x2a')]({'plain':!![]});var _0x3bc2f7=_0x2bdb('0x2b');return db[_0x2bdb('0x2c')][_0x2bdb('0x29')]({'where':{'type':_0x3bc2f7,'resourceId':_0x2854fd['id']}})[_0x2bdb('0x28')](function(){return _0x39b55a;});})[_0x2bdb('0x28')](function(){_0x4e275f[_0x2bdb('0x1c')](0xcc)['end']();});}};}function handleEntityNotFound(_0x9f73c5,_0x2bf015){return function(_0x257cb1){if(!_0x257cb1){_0x9f73c5['sendStatus'](0x194);}return _0x257cb1;};}function handleError(_0x1a91b1,_0x4aa976){_0x4aa976=_0x4aa976||0x1f4;return function(_0x581e8e){logger[_0x2bdb('0x2d')](_0x581e8e[_0x2bdb('0x2e')]);if(_0x581e8e['name']){delete _0x581e8e[_0x2bdb('0x2f')];}_0x1a91b1[_0x2bdb('0x1c')](_0x4aa976)[_0x2bdb('0x30')](_0x581e8e);};}exports['index']=function(_0x409d5b,_0x55655e){var _0xefe434={},_0x1b2efb={},_0xf6bf9e={'count':0x0,'rows':[]};var _0x2aa38a=_[_0x2bdb('0x31')](db[_0x2bdb('0x32')][_0x2bdb('0x33')],function(_0x2fdc97){return{'name':_0x2fdc97[_0x2bdb('0x34')],'type':_0x2fdc97[_0x2bdb('0x35')][_0x2bdb('0x36')]};});_0x1b2efb[_0x2bdb('0x37')]=_['map'](_0x2aa38a,'name');_0x1b2efb['query']=_[_0x2bdb('0x38')](_0x409d5b['query']);_0x1b2efb[_0x2bdb('0x39')]=_['intersection'](_0x1b2efb[_0x2bdb('0x37')],_0x1b2efb['query']);_0xefe434[_0x2bdb('0x3a')]=_['intersection'](_0x1b2efb['model'],qs[_0x2bdb('0x3b')](_0x409d5b[_0x2bdb('0x3c')]['fields']));_0xefe434[_0x2bdb('0x3a')]=_0xefe434[_0x2bdb('0x3a')][_0x2bdb('0x3d')]?_0xefe434[_0x2bdb('0x3a')]:_0x1b2efb[_0x2bdb('0x37')];if(!_0x409d5b[_0x2bdb('0x3c')][_0x2bdb('0x3e')]('nolimit')){_0xefe434[_0x2bdb('0x22')]=qs['limit'](_0x409d5b[_0x2bdb('0x3c')][_0x2bdb('0x22')]);_0xefe434[_0x2bdb('0x1f')]=qs['offset'](_0x409d5b[_0x2bdb('0x3c')][_0x2bdb('0x1f')]);}_0xefe434[_0x2bdb('0x3f')]=qs[_0x2bdb('0x40')](_0x409d5b[_0x2bdb('0x3c')][_0x2bdb('0x40')]);_0xefe434[_0x2bdb('0x41')]=qs[_0x2bdb('0x39')](_[_0x2bdb('0x42')](_0x409d5b[_0x2bdb('0x3c')],_0x1b2efb[_0x2bdb('0x39')]),_0x2aa38a);if(_0x409d5b[_0x2bdb('0x3c')][_0x2bdb('0x43')]){_0xefe434[_0x2bdb('0x41')]=_['merge'](_0xefe434[_0x2bdb('0x41')],{'$or':_[_0x2bdb('0x31')](_0x2aa38a,function(_0x1f461c){if(_0x1f461c[_0x2bdb('0x35')]!==_0x2bdb('0x44')){var _0xd13927={};_0xd13927[_0x1f461c['name']]={'$like':'%'+_0x409d5b[_0x2bdb('0x3c')][_0x2bdb('0x43')]+'%'};return _0xd13927;}})});}_0xefe434=_[_0x2bdb('0x45')]({},_0xefe434,_0x409d5b[_0x2bdb('0x46')]);var _0x485bc8={'where':_0xefe434['where']};return db[_0x2bdb('0x32')][_0x2bdb('0x21')](_0x485bc8)['then'](function(_0x324905){_0xf6bf9e[_0x2bdb('0x21')]=_0x324905;if(_0x409d5b[_0x2bdb('0x3c')][_0x2bdb('0x47')]){_0xefe434[_0x2bdb('0x48')]=[{'all':!![]}];}return db[_0x2bdb('0x32')][_0x2bdb('0x49')](_0xefe434);})[_0x2bdb('0x28')](function(_0x153a87){_0xf6bf9e[_0x2bdb('0x4a')]=_0x153a87;return _0xf6bf9e;})[_0x2bdb('0x28')](respondWithFilteredResult(_0x55655e,_0xefe434))[_0x2bdb('0x4b')](handleError(_0x55655e,null));};exports[_0x2bdb('0x4c')]=function(_0x559689,_0x11a0e4){var _0x40a293={'raw':!![],'where':{'id':_0x559689[_0x2bdb('0x4d')]['id']}},_0x29461b={};_0x29461b[_0x2bdb('0x37')]=_[_0x2bdb('0x38')](db[_0x2bdb('0x32')]['rawAttributes']);_0x29461b[_0x2bdb('0x3c')]=_[_0x2bdb('0x38')](_0x559689['query']);_0x29461b['filters']=_[_0x2bdb('0x4e')](_0x29461b[_0x2bdb('0x37')],_0x29461b[_0x2bdb('0x3c')]);_0x40a293['attributes']=_[_0x2bdb('0x4e')](_0x29461b['model'],qs[_0x2bdb('0x3b')](_0x559689[_0x2bdb('0x3c')][_0x2bdb('0x3b')]));_0x40a293[_0x2bdb('0x3a')]=_0x40a293['attributes']['length']?_0x40a293[_0x2bdb('0x3a')]:_0x29461b[_0x2bdb('0x37')];if(_0x559689[_0x2bdb('0x3c')][_0x2bdb('0x47')]){_0x40a293[_0x2bdb('0x48')]=[{'all':!![]}];}_0x40a293=_[_0x2bdb('0x45')]({},_0x40a293,_0x559689[_0x2bdb('0x46')]);return db[_0x2bdb('0x32')][_0x2bdb('0x4f')](_0x40a293)[_0x2bdb('0x28')](handleEntityNotFound(_0x11a0e4,null))[_0x2bdb('0x28')](respondWithResult(_0x11a0e4,null))[_0x2bdb('0x4b')](handleError(_0x11a0e4,null));};exports['create']=function(_0x341088,_0x1dd849){return db[_0x2bdb('0x32')]['create'](_0x341088[_0x2bdb('0x50')],{})['then'](function(_0x40416e){var _0x378f66=_0x341088['user'][_0x2bdb('0x2a')]({'plain':!![]});if(!_0x378f66)throw new Error(_0x2bdb('0x51'));if(_0x378f66[_0x2bdb('0x52')]===_0x2bdb('0x53')){var _0x186ad9=_0x40416e[_0x2bdb('0x2a')]({'plain':!![]});var _0x391264='Pauses';return db['UserProfileSection'][_0x2bdb('0x4f')]({'where':{'name':_0x391264,'userProfileId':_0x378f66[_0x2bdb('0x54')]},'raw':!![]})[_0x2bdb('0x28')](function(_0x3d93bc){if(_0x3d93bc&&_0x3d93bc[_0x2bdb('0x55')]===0x0){return db[_0x2bdb('0x2c')]['create']({'name':_0x186ad9[_0x2bdb('0x2f')],'resourceId':_0x186ad9['id'],'type':_0x3d93bc[_0x2bdb('0x2f')],'sectionId':_0x3d93bc['id']},{})[_0x2bdb('0x28')](function(){return _0x40416e;});}else{return _0x40416e;}})[_0x2bdb('0x4b')](function(_0xd8d187){logger[_0x2bdb('0x2d')](_0x2bdb('0x56'),_0xd8d187);throw _0xd8d187;});}return _0x40416e;})[_0x2bdb('0x28')](respondWithResult(_0x1dd849,0xc9))[_0x2bdb('0x4b')](handleError(_0x1dd849,null));};exports[_0x2bdb('0x57')]=function(_0x447971,_0x2e2778){if(_0x447971[_0x2bdb('0x50')]['id']){delete _0x447971['body']['id'];}return db[_0x2bdb('0x32')][_0x2bdb('0x4f')]({'where':{'id':_0x447971['params']['id']}})[_0x2bdb('0x28')](handleEntityNotFound(_0x2e2778,null))[_0x2bdb('0x28')](saveUpdates(_0x447971[_0x2bdb('0x50')],null))[_0x2bdb('0x28')](respondWithResult(_0x2e2778,null))[_0x2bdb('0x4b')](handleError(_0x2e2778,null));};exports['destroy']=function(_0x2f6ed4,_0x336bc3){return db['Pause'][_0x2bdb('0x4f')]({'where':{'id':_0x2f6ed4[_0x2bdb('0x4d')]['id']}})[_0x2bdb('0x28')](handleEntityNotFound(_0x336bc3,null))[_0x2bdb('0x28')](removeEntity(_0x336bc3,null))['catch'](handleError(_0x336bc3,null));};