Built motion from commit c116dc8b.|2.6.30
[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 _0xd349=['keys','filters','model','intersection','fields','attributes','length','hasOwnProperty','nolimit','limit','order','sort','pick','merge','where','filter','options','Pause','includeAll','include','rows','show','find','create','body','role','user','UserProfileSection','autoAssociation','UserProfileResource','catch','params','request-promise','moment','mustache','util','path','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','json','offset','undefined','count','set','Content-Range','reject','save','update','then','destroy','get','Pauses','sendStatus','error','stack','name','send','map','rawAttributes','fieldName','type','key','query'];(function(_0x4fe3e0,_0x56601c){var _0x11d05f=function(_0x599630){while(--_0x599630){_0x4fe3e0['push'](_0x4fe3e0['shift']());}};_0x11d05f(++_0x56601c);}(_0xd349,0x160));var _0x9d34=function(_0x5a6679,_0x429e20){_0x5a6679=_0x5a6679-0x0;var _0x5980a0=_0xd349[_0x5a6679];return _0x5980a0;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x9d34('0x0'));var moment=require(_0x9d34('0x1'));var BPromise=require('bluebird');var Mustache=require(_0x9d34('0x2'));var util=require(_0x9d34('0x3'));var path=require(_0x9d34('0x4'));var sox=require('sox');var csv=require(_0x9d34('0x5'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x9d34('0x6'));var _=require(_0x9d34('0x7'));var squel=require(_0x9d34('0x8'));var crypto=require(_0x9d34('0x9'));var jsforce=require(_0x9d34('0xa'));var deskjs=require(_0x9d34('0xb'));var toCsv=require(_0x9d34('0x5'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x9d34('0xc'));var authService=require(_0x9d34('0xd'));var qs=require(_0x9d34('0xe'));var as=require(_0x9d34('0xf'));var hardwareService=require(_0x9d34('0x10'));var logger=require(_0x9d34('0x11'))(_0x9d34('0x12'));var utils=require(_0x9d34('0x13'));var config=require(_0x9d34('0x14'));var licenseUtil=require(_0x9d34('0x15'));var db=require(_0x9d34('0x16'))['db'];function respondWithStatusCode(_0xd2fb02,_0x46d073){_0x46d073=_0x46d073||0xcc;return function(_0xc29a29){if(_0xc29a29){return _0xd2fb02['sendStatus'](_0x46d073);}return _0xd2fb02[_0x9d34('0x17')](_0x46d073)['end']();};}function respondWithResult(_0xb29b6,_0x3a2ea2){_0x3a2ea2=_0x3a2ea2||0xc8;return function(_0x56445c){if(_0x56445c){return _0xb29b6[_0x9d34('0x17')](_0x3a2ea2)[_0x9d34('0x18')](_0x56445c);}};}function respondWithFilteredResult(_0x211fbb,_0x721b92){return function(_0x4dce64){if(_0x4dce64){var _0x49e0fd=typeof _0x721b92[_0x9d34('0x19')]===_0x9d34('0x1a')&&typeof _0x721b92['limit']===_0x9d34('0x1a');var _0xc4a4be=_0x4dce64[_0x9d34('0x1b')];var _0xd35011=_0x49e0fd?0x0:_0x721b92['offset'];var _0x284860=_0x49e0fd?_0x4dce64[_0x9d34('0x1b')]:_0x721b92[_0x9d34('0x19')]+_0x721b92['limit'];var _0x22ff4b;if(_0x284860>=_0xc4a4be){_0x284860=_0xc4a4be;_0x22ff4b=0xc8;}else{_0x22ff4b=0xce;}_0x211fbb['status'](_0x22ff4b);return _0x211fbb[_0x9d34('0x1c')](_0x9d34('0x1d'),_0xd35011+'-'+_0x284860+'/'+_0xc4a4be)[_0x9d34('0x18')](_0x4dce64);}return null;};}function patchUpdates(_0x3e4a12){return function(_0x337e78){try{jsonpatch['apply'](_0x337e78,_0x3e4a12,!![]);}catch(_0xbe6430){return BPromise[_0x9d34('0x1e')](_0xbe6430);}return _0x337e78[_0x9d34('0x1f')]();};}function saveUpdates(_0x4af784,_0x37991f){return function(_0x452c4a){if(_0x452c4a){return _0x452c4a[_0x9d34('0x20')](_0x4af784)[_0x9d34('0x21')](function(_0x5a4a3b){return _0x5a4a3b;});}return null;};}function removeEntity(_0x3108fb,_0x391eef){return function(_0x284c2f){if(_0x284c2f){return _0x284c2f[_0x9d34('0x22')]()[_0x9d34('0x21')](function(){var _0x19dac0=_0x284c2f[_0x9d34('0x23')]({'plain':!![]});var _0x1c24d8=_0x9d34('0x24');return db['UserProfileResource'][_0x9d34('0x22')]({'where':{'type':_0x1c24d8,'resourceId':_0x19dac0['id']}})[_0x9d34('0x21')](function(){return _0x284c2f;});})['then'](function(){_0x3108fb['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x592b9c,_0x506ff0){return function(_0x3b5949){if(!_0x3b5949){_0x592b9c[_0x9d34('0x25')](0x194);}return _0x3b5949;};}function handleError(_0x199db4,_0x21d7e3){_0x21d7e3=_0x21d7e3||0x1f4;return function(_0x4e463e){logger[_0x9d34('0x26')](_0x4e463e[_0x9d34('0x27')]);if(_0x4e463e[_0x9d34('0x28')]){delete _0x4e463e[_0x9d34('0x28')];}_0x199db4['status'](_0x21d7e3)[_0x9d34('0x29')](_0x4e463e);};}exports['index']=function(_0x33919f,_0xe0cc1d){var _0x530e96={},_0xa54724={},_0x5efe0a={'count':0x0,'rows':[]};var _0x49884f=_[_0x9d34('0x2a')](db['Pause'][_0x9d34('0x2b')],function(_0x47274c){return{'name':_0x47274c[_0x9d34('0x2c')],'type':_0x47274c[_0x9d34('0x2d')][_0x9d34('0x2e')]};});_0xa54724['model']=_[_0x9d34('0x2a')](_0x49884f,_0x9d34('0x28'));_0xa54724[_0x9d34('0x2f')]=_[_0x9d34('0x30')](_0x33919f[_0x9d34('0x2f')]);_0xa54724[_0x9d34('0x31')]=_['intersection'](_0xa54724[_0x9d34('0x32')],_0xa54724[_0x9d34('0x2f')]);_0x530e96['attributes']=_[_0x9d34('0x33')](_0xa54724[_0x9d34('0x32')],qs[_0x9d34('0x34')](_0x33919f[_0x9d34('0x2f')]['fields']));_0x530e96[_0x9d34('0x35')]=_0x530e96[_0x9d34('0x35')][_0x9d34('0x36')]?_0x530e96[_0x9d34('0x35')]:_0xa54724[_0x9d34('0x32')];if(!_0x33919f[_0x9d34('0x2f')][_0x9d34('0x37')](_0x9d34('0x38'))){_0x530e96[_0x9d34('0x39')]=qs[_0x9d34('0x39')](_0x33919f[_0x9d34('0x2f')][_0x9d34('0x39')]);_0x530e96[_0x9d34('0x19')]=qs[_0x9d34('0x19')](_0x33919f[_0x9d34('0x2f')][_0x9d34('0x19')]);}_0x530e96[_0x9d34('0x3a')]=qs[_0x9d34('0x3b')](_0x33919f[_0x9d34('0x2f')][_0x9d34('0x3b')]);_0x530e96['where']=qs['filters'](_[_0x9d34('0x3c')](_0x33919f[_0x9d34('0x2f')],_0xa54724[_0x9d34('0x31')]),_0x49884f);if(_0x33919f[_0x9d34('0x2f')]['filter']){_0x530e96['where']=_[_0x9d34('0x3d')](_0x530e96[_0x9d34('0x3e')],{'$or':_[_0x9d34('0x2a')](_0x49884f,function(_0x35f75e){if(_0x35f75e[_0x9d34('0x2d')]!=='VIRTUAL'){var _0x20b8a4={};_0x20b8a4[_0x35f75e[_0x9d34('0x28')]]={'$like':'%'+_0x33919f[_0x9d34('0x2f')][_0x9d34('0x3f')]+'%'};return _0x20b8a4;}})});}_0x530e96=_[_0x9d34('0x3d')]({},_0x530e96,_0x33919f[_0x9d34('0x40')]);var _0x531853={'where':_0x530e96['where']};return db[_0x9d34('0x41')]['count'](_0x531853)[_0x9d34('0x21')](function(_0xa80406){_0x5efe0a[_0x9d34('0x1b')]=_0xa80406;if(_0x33919f[_0x9d34('0x2f')][_0x9d34('0x42')]){_0x530e96[_0x9d34('0x43')]=[{'all':!![]}];}return db[_0x9d34('0x41')]['findAll'](_0x530e96);})['then'](function(_0x1eef6a){_0x5efe0a[_0x9d34('0x44')]=_0x1eef6a;return _0x5efe0a;})[_0x9d34('0x21')](respondWithFilteredResult(_0xe0cc1d,_0x530e96))['catch'](handleError(_0xe0cc1d,null));};exports[_0x9d34('0x45')]=function(_0x4c1e84,_0x503965){var _0x1457b0={'raw':!![],'where':{'id':_0x4c1e84['params']['id']}},_0x47c0bd={};_0x47c0bd['model']=_['keys'](db[_0x9d34('0x41')]['rawAttributes']);_0x47c0bd['query']=_['keys'](_0x4c1e84[_0x9d34('0x2f')]);_0x47c0bd[_0x9d34('0x31')]=_[_0x9d34('0x33')](_0x47c0bd['model'],_0x47c0bd[_0x9d34('0x2f')]);_0x1457b0['attributes']=_[_0x9d34('0x33')](_0x47c0bd['model'],qs[_0x9d34('0x34')](_0x4c1e84['query'][_0x9d34('0x34')]));_0x1457b0[_0x9d34('0x35')]=_0x1457b0[_0x9d34('0x35')]['length']?_0x1457b0[_0x9d34('0x35')]:_0x47c0bd[_0x9d34('0x32')];if(_0x4c1e84[_0x9d34('0x2f')][_0x9d34('0x42')]){_0x1457b0[_0x9d34('0x43')]=[{'all':!![]}];}_0x1457b0=_[_0x9d34('0x3d')]({},_0x1457b0,_0x4c1e84[_0x9d34('0x40')]);return db[_0x9d34('0x41')][_0x9d34('0x46')](_0x1457b0)[_0x9d34('0x21')](handleEntityNotFound(_0x503965,null))[_0x9d34('0x21')](respondWithResult(_0x503965,null))['catch'](handleError(_0x503965,null));};exports[_0x9d34('0x47')]=function(_0x352707,_0x162d1c){return db[_0x9d34('0x41')][_0x9d34('0x47')](_0x352707[_0x9d34('0x48')],{})[_0x9d34('0x21')](function(_0x12bf32){var _0x12c431=_0x352707['user']['get']({'plain':!![]});if(!_0x12c431)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x12c431[_0x9d34('0x49')]===_0x9d34('0x4a')){var _0x9c8b29=_0x12bf32['get']({'plain':!![]});var _0x28c988=_0x9d34('0x24');return db[_0x9d34('0x4b')][_0x9d34('0x46')]({'where':{'name':_0x28c988,'userProfileId':_0x12c431['userProfileId']},'raw':!![]})[_0x9d34('0x21')](function(_0x5e0ab6){if(_0x5e0ab6&&_0x5e0ab6[_0x9d34('0x4c')]===0x0){return db[_0x9d34('0x4d')][_0x9d34('0x47')]({'name':_0x9c8b29[_0x9d34('0x28')],'resourceId':_0x9c8b29['id'],'type':_0x5e0ab6['name'],'sectionId':_0x5e0ab6['id']},{})[_0x9d34('0x21')](function(){return _0x12bf32;});}else{return _0x12bf32;}})[_0x9d34('0x4e')](function(_0x45bd01){logger['error']('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x45bd01);throw _0x45bd01;});}return _0x12bf32;})[_0x9d34('0x21')](respondWithResult(_0x162d1c,0xc9))[_0x9d34('0x4e')](handleError(_0x162d1c,null));};exports['update']=function(_0x33ad56,_0x5f06ac){if(_0x33ad56['body']['id']){delete _0x33ad56['body']['id'];}return db[_0x9d34('0x41')][_0x9d34('0x46')]({'where':{'id':_0x33ad56[_0x9d34('0x4f')]['id']}})[_0x9d34('0x21')](handleEntityNotFound(_0x5f06ac,null))[_0x9d34('0x21')](saveUpdates(_0x33ad56['body'],null))[_0x9d34('0x21')](respondWithResult(_0x5f06ac,null))['catch'](handleError(_0x5f06ac,null));};exports[_0x9d34('0x22')]=function(_0x5a32f1,_0x328e48){return db['Pause'][_0x9d34('0x46')]({'where':{'id':_0x5a32f1[_0x9d34('0x4f')]['id']}})[_0x9d34('0x21')](handleEntityNotFound(_0x328e48,null))[_0x9d34('0x21')](removeEntity(_0x328e48,null))[_0x9d34('0x4e')](handleError(_0x328e48,null));};