e3beba778392c1bead7c1d8ed63e7d01bbf01eca
[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 _0x5d31=['apply','reject','save','update','then','destroy','get','Pauses','status','error','stack','name','index','Pause','fieldName','type','model','map','query','keys','filters','fields','length','hasOwnProperty','sort','where','pick','filter','merge','options','includeAll','include','show','rawAttributes','intersection','attributes','find','catch','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','params','rimraf','zip-dir','fast-json-patch','moment','mustache','path','sox','to-csv','lodash','squel','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','json','offset','undefined','limit','count','set','Content-Range'];(function(_0x396aba,_0x3ef523){var _0x74213e=function(_0x31b2db){while(--_0x31b2db){_0x396aba['push'](_0x396aba['shift']());}};_0x74213e(++_0x3ef523);}(_0x5d31,0xc9));var _0x15d3=function(_0x37437c,_0x55dacf){_0x37437c=_0x37437c-0x0;var _0x35e1a1=_0x5d31[_0x37437c];return _0x35e1a1;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x15d3('0x0'));var zipdir=require(_0x15d3('0x1'));var jsonpatch=require(_0x15d3('0x2'));var rp=require('request-promise');var moment=require(_0x15d3('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x15d3('0x4'));var util=require('util');var path=require(_0x15d3('0x5'));var sox=require(_0x15d3('0x6'));var csv=require(_0x15d3('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x15d3('0x8'));var squel=require(_0x15d3('0x9'));var crypto=require('crypto');var jsforce=require(_0x15d3('0xa'));var deskjs=require(_0x15d3('0xb'));var toCsv=require(_0x15d3('0x7'));var querystring=require('querystring');var Papa=require(_0x15d3('0xc'));var Redis=require(_0x15d3('0xd'));var authService=require(_0x15d3('0xe'));var qs=require('../../components/parsers/qs');var as=require(_0x15d3('0xf'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x15d3('0x10'))(_0x15d3('0x11'));var utils=require(_0x15d3('0x12'));var config=require(_0x15d3('0x13'));var licenseUtil=require(_0x15d3('0x14'));var db=require(_0x15d3('0x15'))['db'];function respondWithStatusCode(_0x1747de,_0x58c511){_0x58c511=_0x58c511||0xcc;return function(_0x5b31f9){if(_0x5b31f9){return _0x1747de[_0x15d3('0x16')](_0x58c511);}return _0x1747de['status'](_0x58c511)['end']();};}function respondWithResult(_0x1763db,_0x314af0){_0x314af0=_0x314af0||0xc8;return function(_0x4af350){if(_0x4af350){return _0x1763db['status'](_0x314af0)[_0x15d3('0x17')](_0x4af350);}};}function respondWithFilteredResult(_0x39598e,_0x4fec98){return function(_0x4565bc){if(_0x4565bc){var _0x4be000=typeof _0x4fec98[_0x15d3('0x18')]===_0x15d3('0x19')&&typeof _0x4fec98[_0x15d3('0x1a')]===_0x15d3('0x19');var _0x286e26=_0x4565bc[_0x15d3('0x1b')];var _0x1af487=_0x4be000?0x0:_0x4fec98[_0x15d3('0x18')];var _0x242a32=_0x4be000?_0x4565bc[_0x15d3('0x1b')]:_0x4fec98[_0x15d3('0x18')]+_0x4fec98['limit'];var _0x481f36;if(_0x242a32>=_0x286e26){_0x242a32=_0x286e26;_0x481f36=0xc8;}else{_0x481f36=0xce;}_0x39598e['status'](_0x481f36);return _0x39598e[_0x15d3('0x1c')](_0x15d3('0x1d'),_0x1af487+'-'+_0x242a32+'/'+_0x286e26)['json'](_0x4565bc);}return null;};}function patchUpdates(_0x5a900a){return function(_0x1cade4){try{jsonpatch[_0x15d3('0x1e')](_0x1cade4,_0x5a900a,!![]);}catch(_0x2f7714){return BPromise[_0x15d3('0x1f')](_0x2f7714);}return _0x1cade4[_0x15d3('0x20')]();};}function saveUpdates(_0x22fde6,_0x3e2bde){return function(_0xf2dfe4){if(_0xf2dfe4){return _0xf2dfe4[_0x15d3('0x21')](_0x22fde6)[_0x15d3('0x22')](function(_0x1a4ed5){return _0x1a4ed5;});}return null;};}function removeEntity(_0x59648f,_0x3c3db6){return function(_0x43df65){if(_0x43df65){return _0x43df65[_0x15d3('0x23')]()['then'](function(){var _0x5b8a19=_0x43df65[_0x15d3('0x24')]({'plain':!![]});var _0x294d35=_0x15d3('0x25');return db['UserProfileResource'][_0x15d3('0x23')]({'where':{'type':_0x294d35,'resourceId':_0x5b8a19['id']}})[_0x15d3('0x22')](function(){return _0x43df65;});})[_0x15d3('0x22')](function(){_0x59648f[_0x15d3('0x26')](0xcc)['end']();});}};}function handleEntityNotFound(_0x513453,_0x2420e7){return function(_0x53c7a9){if(!_0x53c7a9){_0x513453['sendStatus'](0x194);}return _0x53c7a9;};}function handleError(_0x2b6a70,_0x345b73){_0x345b73=_0x345b73||0x1f4;return function(_0x137013){logger[_0x15d3('0x27')](_0x137013[_0x15d3('0x28')]);if(_0x137013[_0x15d3('0x29')]){delete _0x137013['name'];}_0x2b6a70[_0x15d3('0x26')](_0x345b73)['send'](_0x137013);};}exports[_0x15d3('0x2a')]=function(_0x46dade,_0x50c3d5){var _0x33f32a={},_0x24d117={},_0x12eb1a={'count':0x0,'rows':[]};var _0x332347=_['map'](db[_0x15d3('0x2b')]['rawAttributes'],function(_0x4162a8){return{'name':_0x4162a8[_0x15d3('0x2c')],'type':_0x4162a8[_0x15d3('0x2d')]['key']};});_0x24d117[_0x15d3('0x2e')]=_[_0x15d3('0x2f')](_0x332347,'name');_0x24d117[_0x15d3('0x30')]=_[_0x15d3('0x31')](_0x46dade[_0x15d3('0x30')]);_0x24d117[_0x15d3('0x32')]=_['intersection'](_0x24d117[_0x15d3('0x2e')],_0x24d117[_0x15d3('0x30')]);_0x33f32a['attributes']=_['intersection'](_0x24d117[_0x15d3('0x2e')],qs[_0x15d3('0x33')](_0x46dade[_0x15d3('0x30')][_0x15d3('0x33')]));_0x33f32a['attributes']=_0x33f32a['attributes'][_0x15d3('0x34')]?_0x33f32a['attributes']:_0x24d117[_0x15d3('0x2e')];if(!_0x46dade['query'][_0x15d3('0x35')]('nolimit')){_0x33f32a[_0x15d3('0x1a')]=qs[_0x15d3('0x1a')](_0x46dade['query'][_0x15d3('0x1a')]);_0x33f32a[_0x15d3('0x18')]=qs[_0x15d3('0x18')](_0x46dade[_0x15d3('0x30')][_0x15d3('0x18')]);}_0x33f32a['order']=qs[_0x15d3('0x36')](_0x46dade['query'][_0x15d3('0x36')]);_0x33f32a[_0x15d3('0x37')]=qs[_0x15d3('0x32')](_[_0x15d3('0x38')](_0x46dade[_0x15d3('0x30')],_0x24d117[_0x15d3('0x32')]),_0x332347);if(_0x46dade['query'][_0x15d3('0x39')]){_0x33f32a[_0x15d3('0x37')]=_[_0x15d3('0x3a')](_0x33f32a[_0x15d3('0x37')],{'$or':_[_0x15d3('0x2f')](_0x332347,function(_0x3e9877){if(_0x3e9877[_0x15d3('0x2d')]!=='VIRTUAL'){var _0x6f4384={};_0x6f4384[_0x3e9877['name']]={'$like':'%'+_0x46dade[_0x15d3('0x30')][_0x15d3('0x39')]+'%'};return _0x6f4384;}})});}_0x33f32a=_[_0x15d3('0x3a')]({},_0x33f32a,_0x46dade[_0x15d3('0x3b')]);var _0x1fa4d9={'where':_0x33f32a[_0x15d3('0x37')]};return db[_0x15d3('0x2b')][_0x15d3('0x1b')](_0x1fa4d9)[_0x15d3('0x22')](function(_0x5d306d){_0x12eb1a[_0x15d3('0x1b')]=_0x5d306d;if(_0x46dade[_0x15d3('0x30')][_0x15d3('0x3c')]){_0x33f32a[_0x15d3('0x3d')]=[{'all':!![]}];}return db[_0x15d3('0x2b')]['findAll'](_0x33f32a);})[_0x15d3('0x22')](function(_0x36850e){_0x12eb1a['rows']=_0x36850e;return _0x12eb1a;})[_0x15d3('0x22')](respondWithFilteredResult(_0x50c3d5,_0x33f32a))['catch'](handleError(_0x50c3d5,null));};exports[_0x15d3('0x3e')]=function(_0x9f5089,_0x33bc19){var _0x221d3b={'raw':!![],'where':{'id':_0x9f5089['params']['id']}},_0x5affd3={};_0x5affd3[_0x15d3('0x2e')]=_['keys'](db[_0x15d3('0x2b')][_0x15d3('0x3f')]);_0x5affd3[_0x15d3('0x30')]=_['keys'](_0x9f5089['query']);_0x5affd3[_0x15d3('0x32')]=_[_0x15d3('0x40')](_0x5affd3['model'],_0x5affd3[_0x15d3('0x30')]);_0x221d3b['attributes']=_['intersection'](_0x5affd3[_0x15d3('0x2e')],qs[_0x15d3('0x33')](_0x9f5089['query'][_0x15d3('0x33')]));_0x221d3b[_0x15d3('0x41')]=_0x221d3b[_0x15d3('0x41')][_0x15d3('0x34')]?_0x221d3b['attributes']:_0x5affd3['model'];if(_0x9f5089[_0x15d3('0x30')][_0x15d3('0x3c')]){_0x221d3b[_0x15d3('0x3d')]=[{'all':!![]}];}_0x221d3b=_[_0x15d3('0x3a')]({},_0x221d3b,_0x9f5089['options']);return db[_0x15d3('0x2b')][_0x15d3('0x42')](_0x221d3b)['then'](handleEntityNotFound(_0x33bc19,null))['then'](respondWithResult(_0x33bc19,null))[_0x15d3('0x43')](handleError(_0x33bc19,null));};exports[_0x15d3('0x44')]=function(_0x2d0e8b,_0x459ef7){return db[_0x15d3('0x2b')][_0x15d3('0x44')](_0x2d0e8b['body'],{})[_0x15d3('0x22')](function(_0x4cf582){var _0x500134=_0x2d0e8b[_0x15d3('0x45')]['get']({'plain':!![]});if(!_0x500134)throw new Error(_0x15d3('0x46'));if(_0x500134[_0x15d3('0x47')]===_0x15d3('0x45')){var _0x3ab0fa=_0x4cf582[_0x15d3('0x24')]({'plain':!![]});var _0x596f7c='Pauses';return db[_0x15d3('0x48')][_0x15d3('0x42')]({'where':{'name':_0x596f7c,'userProfileId':_0x500134['userProfileId']},'raw':!![]})['then'](function(_0x480007){if(_0x480007&&_0x480007['autoAssociation']===0x0){return db[_0x15d3('0x49')][_0x15d3('0x44')]({'name':_0x3ab0fa[_0x15d3('0x29')],'resourceId':_0x3ab0fa['id'],'type':_0x480007[_0x15d3('0x29')],'sectionId':_0x480007['id']},{})[_0x15d3('0x22')](function(){return _0x4cf582;});}else{return _0x4cf582;}})[_0x15d3('0x43')](function(_0x2c1804){logger['error'](_0x15d3('0x4a'),_0x2c1804);throw _0x2c1804;});}return _0x4cf582;})[_0x15d3('0x22')](respondWithResult(_0x459ef7,0xc9))[_0x15d3('0x43')](handleError(_0x459ef7,null));};exports[_0x15d3('0x21')]=function(_0x4dbed2,_0x14e6f7){if(_0x4dbed2[_0x15d3('0x4b')]['id']){delete _0x4dbed2[_0x15d3('0x4b')]['id'];}return db[_0x15d3('0x2b')]['find']({'where':{'id':_0x4dbed2[_0x15d3('0x4c')]['id']}})[_0x15d3('0x22')](handleEntityNotFound(_0x14e6f7,null))[_0x15d3('0x22')](saveUpdates(_0x4dbed2['body'],null))['then'](respondWithResult(_0x14e6f7,null))[_0x15d3('0x43')](handleError(_0x14e6f7,null));};exports[_0x15d3('0x23')]=function(_0x2d9c45,_0x4db136){return db[_0x15d3('0x2b')]['find']({'where':{'id':_0x2d9c45['params']['id']}})[_0x15d3('0x22')](handleEntityNotFound(_0x4db136,null))[_0x15d3('0x22')](removeEntity(_0x4db136,null))[_0x15d3('0x43')](handleError(_0x4db136,null));};