Built motion from commit 4c281f94.|2.6.31
[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 _0xd3b5=['type','VIRTUAL','options','includeAll','include','findAll','rows','show','find','catch','create','body','user','role','UserProfileSection','userProfileId','params','eml-format','zip-dir','fast-json-patch','request-promise','util','path','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','end','json','offset','undefined','count','limit','set','apply','reject','save','update','then','destroy','get','Pauses','UserProfileResource','error','stack','name','send','map','Pause','fieldName','key','query','keys','filters','intersection','attributes','fields','length','model','hasOwnProperty','nolimit','order','pick','filter','merge','where'];(function(_0x7e4d6a,_0x10e6b3){var _0x524077=function(_0x5f3837){while(--_0x5f3837){_0x7e4d6a['push'](_0x7e4d6a['shift']());}};_0x524077(++_0x10e6b3);}(_0xd3b5,0x101));var _0x5d3b=function(_0x202d24,_0x5e8641){_0x202d24=_0x202d24-0x0;var _0x2b3a8e=_0xd3b5[_0x202d24];return _0x2b3a8e;};'use strict';var emlformat=require(_0x5d3b('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x5d3b('0x1'));var jsonpatch=require(_0x5d3b('0x2'));var rp=require(_0x5d3b('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x5d3b('0x4'));var path=require(_0x5d3b('0x5'));var sox=require('sox');var csv=require(_0x5d3b('0x6'));var ejs=require(_0x5d3b('0x7'));var fs=require('fs');var fs_extra=require(_0x5d3b('0x8'));var _=require('lodash');var squel=require(_0x5d3b('0x9'));var crypto=require(_0x5d3b('0xa'));var jsforce=require(_0x5d3b('0xb'));var deskjs=require(_0x5d3b('0xc'));var toCsv=require(_0x5d3b('0x6'));var querystring=require(_0x5d3b('0xd'));var Papa=require(_0x5d3b('0xe'));var Redis=require(_0x5d3b('0xf'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x5d3b('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x5d3b('0x11'))(_0x5d3b('0x12'));var utils=require(_0x5d3b('0x13'));var config=require(_0x5d3b('0x14'));var licenseUtil=require(_0x5d3b('0x15'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x38960e,_0x502045){_0x502045=_0x502045||0xcc;return function(_0xa2c71f){if(_0xa2c71f){return _0x38960e[_0x5d3b('0x16')](_0x502045);}return _0x38960e[_0x5d3b('0x17')](_0x502045)[_0x5d3b('0x18')]();};}function respondWithResult(_0x52ea3a,_0x455657){_0x455657=_0x455657||0xc8;return function(_0xe8b659){if(_0xe8b659){return _0x52ea3a[_0x5d3b('0x17')](_0x455657)[_0x5d3b('0x19')](_0xe8b659);}};}function respondWithFilteredResult(_0x227f8a,_0xb6818f){return function(_0x30e90a){if(_0x30e90a){var _0x42554c=typeof _0xb6818f[_0x5d3b('0x1a')]===_0x5d3b('0x1b')&&typeof _0xb6818f['limit']===_0x5d3b('0x1b');var _0x25f801=_0x30e90a[_0x5d3b('0x1c')];var _0x3ffa8d=_0x42554c?0x0:_0xb6818f['offset'];var _0x19b056=_0x42554c?_0x30e90a[_0x5d3b('0x1c')]:_0xb6818f['offset']+_0xb6818f[_0x5d3b('0x1d')];var _0x52d4be;if(_0x19b056>=_0x25f801){_0x19b056=_0x25f801;_0x52d4be=0xc8;}else{_0x52d4be=0xce;}_0x227f8a[_0x5d3b('0x17')](_0x52d4be);return _0x227f8a[_0x5d3b('0x1e')]('Content-Range',_0x3ffa8d+'-'+_0x19b056+'/'+_0x25f801)['json'](_0x30e90a);}return null;};}function patchUpdates(_0x2485fe){return function(_0x56620e){try{jsonpatch[_0x5d3b('0x1f')](_0x56620e,_0x2485fe,!![]);}catch(_0x5e2b67){return BPromise[_0x5d3b('0x20')](_0x5e2b67);}return _0x56620e[_0x5d3b('0x21')]();};}function saveUpdates(_0x27e987,_0x4fd0f6){return function(_0x1f5148){if(_0x1f5148){return _0x1f5148[_0x5d3b('0x22')](_0x27e987)[_0x5d3b('0x23')](function(_0x2ae093){return _0x2ae093;});}return null;};}function removeEntity(_0xfa974c,_0x5ebca1){return function(_0x13dd51){if(_0x13dd51){return _0x13dd51[_0x5d3b('0x24')]()['then'](function(){var _0x486d4d=_0x13dd51[_0x5d3b('0x25')]({'plain':!![]});var _0x3a668d=_0x5d3b('0x26');return db[_0x5d3b('0x27')]['destroy']({'where':{'type':_0x3a668d,'resourceId':_0x486d4d['id']}})[_0x5d3b('0x23')](function(){return _0x13dd51;});})[_0x5d3b('0x23')](function(){_0xfa974c[_0x5d3b('0x17')](0xcc)[_0x5d3b('0x18')]();});}};}function handleEntityNotFound(_0x4be129,_0x325e1f){return function(_0x19387){if(!_0x19387){_0x4be129[_0x5d3b('0x16')](0x194);}return _0x19387;};}function handleError(_0x1251f6,_0x2ea116){_0x2ea116=_0x2ea116||0x1f4;return function(_0x58fcef){logger[_0x5d3b('0x28')](_0x58fcef[_0x5d3b('0x29')]);if(_0x58fcef['name']){delete _0x58fcef[_0x5d3b('0x2a')];}_0x1251f6['status'](_0x2ea116)[_0x5d3b('0x2b')](_0x58fcef);};}exports['index']=function(_0x564d92,_0x226815){var _0x455c5d={},_0x362262={},_0x568791={'count':0x0,'rows':[]};var _0x488b2b=_[_0x5d3b('0x2c')](db[_0x5d3b('0x2d')]['rawAttributes'],function(_0x4d3677){return{'name':_0x4d3677[_0x5d3b('0x2e')],'type':_0x4d3677['type'][_0x5d3b('0x2f')]};});_0x362262['model']=_[_0x5d3b('0x2c')](_0x488b2b,'name');_0x362262[_0x5d3b('0x30')]=_[_0x5d3b('0x31')](_0x564d92['query']);_0x362262[_0x5d3b('0x32')]=_[_0x5d3b('0x33')](_0x362262['model'],_0x362262[_0x5d3b('0x30')]);_0x455c5d[_0x5d3b('0x34')]=_[_0x5d3b('0x33')](_0x362262['model'],qs[_0x5d3b('0x35')](_0x564d92[_0x5d3b('0x30')][_0x5d3b('0x35')]));_0x455c5d[_0x5d3b('0x34')]=_0x455c5d[_0x5d3b('0x34')][_0x5d3b('0x36')]?_0x455c5d['attributes']:_0x362262[_0x5d3b('0x37')];if(!_0x564d92['query'][_0x5d3b('0x38')](_0x5d3b('0x39'))){_0x455c5d[_0x5d3b('0x1d')]=qs['limit'](_0x564d92['query'][_0x5d3b('0x1d')]);_0x455c5d['offset']=qs[_0x5d3b('0x1a')](_0x564d92[_0x5d3b('0x30')][_0x5d3b('0x1a')]);}_0x455c5d[_0x5d3b('0x3a')]=qs['sort'](_0x564d92[_0x5d3b('0x30')]['sort']);_0x455c5d['where']=qs[_0x5d3b('0x32')](_[_0x5d3b('0x3b')](_0x564d92[_0x5d3b('0x30')],_0x362262[_0x5d3b('0x32')]),_0x488b2b);if(_0x564d92['query'][_0x5d3b('0x3c')]){_0x455c5d['where']=_[_0x5d3b('0x3d')](_0x455c5d[_0x5d3b('0x3e')],{'$or':_[_0x5d3b('0x2c')](_0x488b2b,function(_0x45cb41){if(_0x45cb41[_0x5d3b('0x3f')]!==_0x5d3b('0x40')){var _0xce58fd={};_0xce58fd[_0x45cb41[_0x5d3b('0x2a')]]={'$like':'%'+_0x564d92['query'][_0x5d3b('0x3c')]+'%'};return _0xce58fd;}})});}_0x455c5d=_[_0x5d3b('0x3d')]({},_0x455c5d,_0x564d92[_0x5d3b('0x41')]);var _0x35d365={'where':_0x455c5d[_0x5d3b('0x3e')]};return db[_0x5d3b('0x2d')]['count'](_0x35d365)[_0x5d3b('0x23')](function(_0x341c53){_0x568791['count']=_0x341c53;if(_0x564d92[_0x5d3b('0x30')][_0x5d3b('0x42')]){_0x455c5d[_0x5d3b('0x43')]=[{'all':!![]}];}return db['Pause'][_0x5d3b('0x44')](_0x455c5d);})[_0x5d3b('0x23')](function(_0x4ea034){_0x568791[_0x5d3b('0x45')]=_0x4ea034;return _0x568791;})[_0x5d3b('0x23')](respondWithFilteredResult(_0x226815,_0x455c5d))['catch'](handleError(_0x226815,null));};exports[_0x5d3b('0x46')]=function(_0x2a233e,_0x16c4fd){var _0xcd8b0f={'raw':!![],'where':{'id':_0x2a233e['params']['id']}},_0x328cef={};_0x328cef['model']=_['keys'](db[_0x5d3b('0x2d')]['rawAttributes']);_0x328cef['query']=_[_0x5d3b('0x31')](_0x2a233e[_0x5d3b('0x30')]);_0x328cef['filters']=_[_0x5d3b('0x33')](_0x328cef['model'],_0x328cef['query']);_0xcd8b0f[_0x5d3b('0x34')]=_[_0x5d3b('0x33')](_0x328cef[_0x5d3b('0x37')],qs[_0x5d3b('0x35')](_0x2a233e[_0x5d3b('0x30')]['fields']));_0xcd8b0f[_0x5d3b('0x34')]=_0xcd8b0f[_0x5d3b('0x34')][_0x5d3b('0x36')]?_0xcd8b0f[_0x5d3b('0x34')]:_0x328cef[_0x5d3b('0x37')];if(_0x2a233e[_0x5d3b('0x30')][_0x5d3b('0x42')]){_0xcd8b0f[_0x5d3b('0x43')]=[{'all':!![]}];}_0xcd8b0f=_['merge']({},_0xcd8b0f,_0x2a233e['options']);return db[_0x5d3b('0x2d')][_0x5d3b('0x47')](_0xcd8b0f)[_0x5d3b('0x23')](handleEntityNotFound(_0x16c4fd,null))[_0x5d3b('0x23')](respondWithResult(_0x16c4fd,null))[_0x5d3b('0x48')](handleError(_0x16c4fd,null));};exports['create']=function(_0x16818e,_0x9fd7e2){return db['Pause'][_0x5d3b('0x49')](_0x16818e[_0x5d3b('0x4a')],{})[_0x5d3b('0x23')](function(_0x529a7b){var _0x4c5b6d=_0x16818e[_0x5d3b('0x4b')]['get']({'plain':!![]});if(!_0x4c5b6d)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x4c5b6d[_0x5d3b('0x4c')]===_0x5d3b('0x4b')){var _0x33f01c=_0x529a7b[_0x5d3b('0x25')]({'plain':!![]});var _0x139179=_0x5d3b('0x26');return db[_0x5d3b('0x4d')][_0x5d3b('0x47')]({'where':{'name':_0x139179,'userProfileId':_0x4c5b6d[_0x5d3b('0x4e')]},'raw':!![]})[_0x5d3b('0x23')](function(_0xe725f2){if(_0xe725f2&&_0xe725f2['autoAssociation']===0x0){return db[_0x5d3b('0x27')][_0x5d3b('0x49')]({'name':_0x33f01c[_0x5d3b('0x2a')],'resourceId':_0x33f01c['id'],'type':_0xe725f2[_0x5d3b('0x2a')],'sectionId':_0xe725f2['id']},{})['then'](function(){return _0x529a7b;});}else{return _0x529a7b;}})[_0x5d3b('0x48')](function(_0x2188d9){logger[_0x5d3b('0x28')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x2188d9);throw _0x2188d9;});}return _0x529a7b;})['then'](respondWithResult(_0x9fd7e2,0xc9))[_0x5d3b('0x48')](handleError(_0x9fd7e2,null));};exports['update']=function(_0x35d61a,_0x3cd43a){if(_0x35d61a[_0x5d3b('0x4a')]['id']){delete _0x35d61a[_0x5d3b('0x4a')]['id'];}return db[_0x5d3b('0x2d')][_0x5d3b('0x47')]({'where':{'id':_0x35d61a['params']['id']}})[_0x5d3b('0x23')](handleEntityNotFound(_0x3cd43a,null))[_0x5d3b('0x23')](saveUpdates(_0x35d61a['body'],null))[_0x5d3b('0x23')](respondWithResult(_0x3cd43a,null))[_0x5d3b('0x48')](handleError(_0x3cd43a,null));};exports[_0x5d3b('0x24')]=function(_0xd37c54,_0x16c794){return db[_0x5d3b('0x2d')][_0x5d3b('0x47')]({'where':{'id':_0xd37c54[_0x5d3b('0x4f')]['id']}})[_0x5d3b('0x23')](handleEntityNotFound(_0x16c794,null))['then'](removeEntity(_0x16c794,null))['catch'](handleError(_0x16c794,null));};