Built motion from commit 953226e6.|2.6.32
[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 _0x3073=['length','catch','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','find','params','eml-format','rimraf','request-promise','moment','bluebird','mustache','sox','lodash','squel','crypto','to-csv','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','sendStatus','status','json','offset','undefined','count','Content-Range','apply','save','update','then','destroy','get','Pauses','UserProfileResource','end','error','name','send','index','Pause','rawAttributes','fieldName','type','model','query','filters','intersection','fields','attributes','nolimit','limit','order','sort','pick','filter','where','merge','map','VIRTUAL','options','includeAll','include','findAll','rows','show'];(function(_0x11e362,_0xe7e25c){var _0x280d4f=function(_0x21b6e5){while(--_0x21b6e5){_0x11e362['push'](_0x11e362['shift']());}};_0x280d4f(++_0xe7e25c);}(_0x3073,0xab));var _0x3307=function(_0x9cd4c3,_0x1c9b2c){_0x9cd4c3=_0x9cd4c3-0x0;var _0x4c9025=_0x3073[_0x9cd4c3];return _0x4c9025;};'use strict';var emlformat=require(_0x3307('0x0'));var rimraf=require(_0x3307('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x3307('0x2'));var moment=require(_0x3307('0x3'));var BPromise=require(_0x3307('0x4'));var Mustache=require(_0x3307('0x5'));var util=require('util');var path=require('path');var sox=require(_0x3307('0x6'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x3307('0x7'));var squel=require(_0x3307('0x8'));var crypto=require(_0x3307('0x9'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x3307('0xa'));var querystring=require(_0x3307('0xb'));var Papa=require('papaparse');var Redis=require(_0x3307('0xc'));var authService=require(_0x3307('0xd'));var qs=require(_0x3307('0xe'));var as=require(_0x3307('0xf'));var hardwareService=require(_0x3307('0x10'));var logger=require(_0x3307('0x11'))('api');var utils=require(_0x3307('0x12'));var config=require(_0x3307('0x13'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x1f7996,_0xee7fde){_0xee7fde=_0xee7fde||0xcc;return function(_0x1d1eb0){if(_0x1d1eb0){return _0x1f7996[_0x3307('0x14')](_0xee7fde);}return _0x1f7996[_0x3307('0x15')](_0xee7fde)['end']();};}function respondWithResult(_0x2fe7b2,_0x4bd876){_0x4bd876=_0x4bd876||0xc8;return function(_0x3411aa){if(_0x3411aa){return _0x2fe7b2[_0x3307('0x15')](_0x4bd876)[_0x3307('0x16')](_0x3411aa);}};}function respondWithFilteredResult(_0x6c901f,_0x5d3ca2){return function(_0x30899a){if(_0x30899a){var _0x4479b8=typeof _0x5d3ca2[_0x3307('0x17')]==='undefined'&&typeof _0x5d3ca2['limit']===_0x3307('0x18');var _0x172158=_0x30899a[_0x3307('0x19')];var _0x242b65=_0x4479b8?0x0:_0x5d3ca2[_0x3307('0x17')];var _0x517068=_0x4479b8?_0x30899a[_0x3307('0x19')]:_0x5d3ca2[_0x3307('0x17')]+_0x5d3ca2['limit'];var _0x1b6a66;if(_0x517068>=_0x172158){_0x517068=_0x172158;_0x1b6a66=0xc8;}else{_0x1b6a66=0xce;}_0x6c901f['status'](_0x1b6a66);return _0x6c901f['set'](_0x3307('0x1a'),_0x242b65+'-'+_0x517068+'/'+_0x172158)[_0x3307('0x16')](_0x30899a);}return null;};}function patchUpdates(_0x1c66c1){return function(_0x3397c9){try{jsonpatch[_0x3307('0x1b')](_0x3397c9,_0x1c66c1,!![]);}catch(_0x53c173){return BPromise['reject'](_0x53c173);}return _0x3397c9[_0x3307('0x1c')]();};}function saveUpdates(_0x3d56ce,_0x5c23b7){return function(_0x3740d1){if(_0x3740d1){return _0x3740d1[_0x3307('0x1d')](_0x3d56ce)[_0x3307('0x1e')](function(_0x5689a4){return _0x5689a4;});}return null;};}function removeEntity(_0x5c6ebb,_0x306818){return function(_0x15997b){if(_0x15997b){return _0x15997b[_0x3307('0x1f')]()[_0x3307('0x1e')](function(){var _0x1675b5=_0x15997b[_0x3307('0x20')]({'plain':!![]});var _0x29eb54=_0x3307('0x21');return db[_0x3307('0x22')]['destroy']({'where':{'type':_0x29eb54,'resourceId':_0x1675b5['id']}})['then'](function(){return _0x15997b;});})[_0x3307('0x1e')](function(){_0x5c6ebb[_0x3307('0x15')](0xcc)[_0x3307('0x23')]();});}};}function handleEntityNotFound(_0x3a4d89,_0x2773bc){return function(_0x478ad2){if(!_0x478ad2){_0x3a4d89['sendStatus'](0x194);}return _0x478ad2;};}function handleError(_0x559a4e,_0x56d936){_0x56d936=_0x56d936||0x1f4;return function(_0xb7da13){logger[_0x3307('0x24')](_0xb7da13['stack']);if(_0xb7da13['name']){delete _0xb7da13[_0x3307('0x25')];}_0x559a4e[_0x3307('0x15')](_0x56d936)[_0x3307('0x26')](_0xb7da13);};}exports[_0x3307('0x27')]=function(_0x272f00,_0x58ed12){var _0x1782b5={},_0x556ae3={},_0x4dc1e1={'count':0x0,'rows':[]};var _0x111079=_['map'](db[_0x3307('0x28')][_0x3307('0x29')],function(_0x3ba4d5){return{'name':_0x3ba4d5[_0x3307('0x2a')],'type':_0x3ba4d5[_0x3307('0x2b')]['key']};});_0x556ae3[_0x3307('0x2c')]=_['map'](_0x111079,_0x3307('0x25'));_0x556ae3[_0x3307('0x2d')]=_['keys'](_0x272f00['query']);_0x556ae3[_0x3307('0x2e')]=_[_0x3307('0x2f')](_0x556ae3[_0x3307('0x2c')],_0x556ae3['query']);_0x1782b5['attributes']=_[_0x3307('0x2f')](_0x556ae3['model'],qs[_0x3307('0x30')](_0x272f00[_0x3307('0x2d')]['fields']));_0x1782b5['attributes']=_0x1782b5[_0x3307('0x31')]['length']?_0x1782b5[_0x3307('0x31')]:_0x556ae3[_0x3307('0x2c')];if(!_0x272f00[_0x3307('0x2d')]['hasOwnProperty'](_0x3307('0x32'))){_0x1782b5[_0x3307('0x33')]=qs['limit'](_0x272f00[_0x3307('0x2d')][_0x3307('0x33')]);_0x1782b5[_0x3307('0x17')]=qs[_0x3307('0x17')](_0x272f00[_0x3307('0x2d')][_0x3307('0x17')]);}_0x1782b5[_0x3307('0x34')]=qs[_0x3307('0x35')](_0x272f00[_0x3307('0x2d')][_0x3307('0x35')]);_0x1782b5['where']=qs[_0x3307('0x2e')](_[_0x3307('0x36')](_0x272f00['query'],_0x556ae3[_0x3307('0x2e')]),_0x111079);if(_0x272f00[_0x3307('0x2d')][_0x3307('0x37')]){_0x1782b5[_0x3307('0x38')]=_[_0x3307('0x39')](_0x1782b5[_0x3307('0x38')],{'$or':_[_0x3307('0x3a')](_0x111079,function(_0x44d14e){if(_0x44d14e['type']!==_0x3307('0x3b')){var _0x4b9e70={};_0x4b9e70[_0x44d14e[_0x3307('0x25')]]={'$like':'%'+_0x272f00[_0x3307('0x2d')][_0x3307('0x37')]+'%'};return _0x4b9e70;}})});}_0x1782b5=_[_0x3307('0x39')]({},_0x1782b5,_0x272f00[_0x3307('0x3c')]);var _0x24e7e3={'where':_0x1782b5['where']};return db[_0x3307('0x28')][_0x3307('0x19')](_0x24e7e3)['then'](function(_0x7c55a2){_0x4dc1e1[_0x3307('0x19')]=_0x7c55a2;if(_0x272f00[_0x3307('0x2d')][_0x3307('0x3d')]){_0x1782b5[_0x3307('0x3e')]=[{'all':!![]}];}return db[_0x3307('0x28')][_0x3307('0x3f')](_0x1782b5);})['then'](function(_0x5a32f3){_0x4dc1e1[_0x3307('0x40')]=_0x5a32f3;return _0x4dc1e1;})['then'](respondWithFilteredResult(_0x58ed12,_0x1782b5))['catch'](handleError(_0x58ed12,null));};exports[_0x3307('0x41')]=function(_0x319ab0,_0x17269e){var _0x5f54ce={'raw':!![],'where':{'id':_0x319ab0['params']['id']}},_0x3d350f={};_0x3d350f[_0x3307('0x2c')]=_['keys'](db[_0x3307('0x28')]['rawAttributes']);_0x3d350f[_0x3307('0x2d')]=_['keys'](_0x319ab0[_0x3307('0x2d')]);_0x3d350f[_0x3307('0x2e')]=_['intersection'](_0x3d350f[_0x3307('0x2c')],_0x3d350f['query']);_0x5f54ce['attributes']=_['intersection'](_0x3d350f[_0x3307('0x2c')],qs[_0x3307('0x30')](_0x319ab0[_0x3307('0x2d')][_0x3307('0x30')]));_0x5f54ce[_0x3307('0x31')]=_0x5f54ce[_0x3307('0x31')][_0x3307('0x42')]?_0x5f54ce[_0x3307('0x31')]:_0x3d350f[_0x3307('0x2c')];if(_0x319ab0[_0x3307('0x2d')][_0x3307('0x3d')]){_0x5f54ce[_0x3307('0x3e')]=[{'all':!![]}];}_0x5f54ce=_['merge']({},_0x5f54ce,_0x319ab0['options']);return db[_0x3307('0x28')]['find'](_0x5f54ce)[_0x3307('0x1e')](handleEntityNotFound(_0x17269e,null))[_0x3307('0x1e')](respondWithResult(_0x17269e,null))[_0x3307('0x43')](handleError(_0x17269e,null));};exports[_0x3307('0x44')]=function(_0x417dc2,_0x14b8c0){return db[_0x3307('0x28')][_0x3307('0x44')](_0x417dc2[_0x3307('0x45')],{})[_0x3307('0x1e')](function(_0x3bce68){var _0x1b9b0a=_0x417dc2[_0x3307('0x46')][_0x3307('0x20')]({'plain':!![]});if(!_0x1b9b0a)throw new Error(_0x3307('0x47'));if(_0x1b9b0a[_0x3307('0x48')]===_0x3307('0x46')){var _0x501dea=_0x3bce68[_0x3307('0x20')]({'plain':!![]});var _0x12c50c=_0x3307('0x21');return db[_0x3307('0x49')]['find']({'where':{'name':_0x12c50c,'userProfileId':_0x1b9b0a[_0x3307('0x4a')]},'raw':!![]})[_0x3307('0x1e')](function(_0x5a1ded){if(_0x5a1ded&&_0x5a1ded[_0x3307('0x4b')]===0x0){return db['UserProfileResource']['create']({'name':_0x501dea[_0x3307('0x25')],'resourceId':_0x501dea['id'],'type':_0x5a1ded[_0x3307('0x25')],'sectionId':_0x5a1ded['id']},{})[_0x3307('0x1e')](function(){return _0x3bce68;});}else{return _0x3bce68;}})[_0x3307('0x43')](function(_0xd55fed){logger[_0x3307('0x24')](_0x3307('0x4c'),_0xd55fed);throw _0xd55fed;});}return _0x3bce68;})[_0x3307('0x1e')](respondWithResult(_0x14b8c0,0xc9))[_0x3307('0x43')](handleError(_0x14b8c0,null));};exports['update']=function(_0x1c45dc,_0xcf690e){if(_0x1c45dc[_0x3307('0x45')]['id']){delete _0x1c45dc['body']['id'];}return db['Pause']['find']({'where':{'id':_0x1c45dc['params']['id']}})[_0x3307('0x1e')](handleEntityNotFound(_0xcf690e,null))['then'](saveUpdates(_0x1c45dc[_0x3307('0x45')],null))[_0x3307('0x1e')](respondWithResult(_0xcf690e,null))[_0x3307('0x43')](handleError(_0xcf690e,null));};exports[_0x3307('0x1f')]=function(_0x5d334b,_0x2dfdc4){return db[_0x3307('0x28')][_0x3307('0x4d')]({'where':{'id':_0x5d334b[_0x3307('0x4e')]['id']}})[_0x3307('0x1e')](handleEntityNotFound(_0x2dfdc4,null))['then'](removeEntity(_0x2dfdc4,null))[_0x3307('0x43')](handleError(_0x2dfdc4,null));};