c239fd83c698acb9dd0cd7ed4b6e107c3119af5f
[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 _0xfea4=['userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','eml-format','zip-dir','fast-json-patch','request-promise','moment','util','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','offset','undefined','limit','count','set','json','apply','reject','save','update','then','get','Pauses','UserProfileResource','destroy','error','stack','name','send','index','map','rawAttributes','fieldName','key','model','query','intersection','attributes','fields','length','hasOwnProperty','sort','where','filters','pick','filter','merge','type','VIRTUAL','options','include','findAll','rows','catch','show','params','keys','Pause','includeAll','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user'];(function(_0x1051aa,_0x1fc415){var _0x57a2ac=function(_0x24d829){while(--_0x24d829){_0x1051aa['push'](_0x1051aa['shift']());}};_0x57a2ac(++_0x1fc415);}(_0xfea4,0xaa));var _0x4fea=function(_0x29d6e6,_0x264220){_0x29d6e6=_0x29d6e6-0x0;var _0xc75ff0=_0xfea4[_0x29d6e6];return _0xc75ff0;};'use strict';var emlformat=require(_0x4fea('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x4fea('0x1'));var jsonpatch=require(_0x4fea('0x2'));var rp=require(_0x4fea('0x3'));var moment=require(_0x4fea('0x4'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x4fea('0x5'));var path=require('path');var sox=require('sox');var csv=require(_0x4fea('0x6'));var ejs=require(_0x4fea('0x7'));var fs=require('fs');var fs_extra=require(_0x4fea('0x8'));var _=require('lodash');var squel=require(_0x4fea('0x9'));var crypto=require(_0x4fea('0xa'));var jsforce=require(_0x4fea('0xb'));var deskjs=require(_0x4fea('0xc'));var toCsv=require('to-csv');var querystring=require(_0x4fea('0xd'));var Papa=require(_0x4fea('0xe'));var Redis=require(_0x4fea('0xf'));var authService=require(_0x4fea('0x10'));var qs=require(_0x4fea('0x11'));var as=require(_0x4fea('0x12'));var hardwareService=require(_0x4fea('0x13'));var logger=require(_0x4fea('0x14'))('api');var utils=require(_0x4fea('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0x4fea('0x16'));var db=require(_0x4fea('0x17'))['db'];function respondWithStatusCode(_0x398f7e,_0x42830b){_0x42830b=_0x42830b||0xcc;return function(_0x2773e8){if(_0x2773e8){return _0x398f7e[_0x4fea('0x18')](_0x42830b);}return _0x398f7e[_0x4fea('0x19')](_0x42830b)['end']();};}function respondWithResult(_0x389c2c,_0x59fc60){_0x59fc60=_0x59fc60||0xc8;return function(_0x3919da){if(_0x3919da){return _0x389c2c[_0x4fea('0x19')](_0x59fc60)['json'](_0x3919da);}};}function respondWithFilteredResult(_0x1d41b4,_0x447810){return function(_0x3a716b){if(_0x3a716b){var _0x205595=typeof _0x447810[_0x4fea('0x1a')]===_0x4fea('0x1b')&&typeof _0x447810[_0x4fea('0x1c')]==='undefined';var _0x5044e3=_0x3a716b[_0x4fea('0x1d')];var _0x5f032a=_0x205595?0x0:_0x447810[_0x4fea('0x1a')];var _0xd58664=_0x205595?_0x3a716b[_0x4fea('0x1d')]:_0x447810[_0x4fea('0x1a')]+_0x447810[_0x4fea('0x1c')];var _0x573a01;if(_0xd58664>=_0x5044e3){_0xd58664=_0x5044e3;_0x573a01=0xc8;}else{_0x573a01=0xce;}_0x1d41b4['status'](_0x573a01);return _0x1d41b4[_0x4fea('0x1e')]('Content-Range',_0x5f032a+'-'+_0xd58664+'/'+_0x5044e3)[_0x4fea('0x1f')](_0x3a716b);}return null;};}function patchUpdates(_0x2dde50){return function(_0x3764b8){try{jsonpatch[_0x4fea('0x20')](_0x3764b8,_0x2dde50,!![]);}catch(_0x5e92a1){return BPromise[_0x4fea('0x21')](_0x5e92a1);}return _0x3764b8[_0x4fea('0x22')]();};}function saveUpdates(_0x234675,_0x28b78d){return function(_0x3906f5){if(_0x3906f5){return _0x3906f5[_0x4fea('0x23')](_0x234675)['then'](function(_0x534f0f){return _0x534f0f;});}return null;};}function removeEntity(_0x4657d6,_0x1f43bc){return function(_0x2bc48e){if(_0x2bc48e){return _0x2bc48e['destroy']()[_0x4fea('0x24')](function(){var _0x21b4bb=_0x2bc48e[_0x4fea('0x25')]({'plain':!![]});var _0x981c56=_0x4fea('0x26');return db[_0x4fea('0x27')][_0x4fea('0x28')]({'where':{'type':_0x981c56,'resourceId':_0x21b4bb['id']}})['then'](function(){return _0x2bc48e;});})['then'](function(){_0x4657d6[_0x4fea('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x2ed7d7,_0x3cefca){return function(_0x4aef9a){if(!_0x4aef9a){_0x2ed7d7['sendStatus'](0x194);}return _0x4aef9a;};}function handleError(_0x2e3bbb,_0x35875b){_0x35875b=_0x35875b||0x1f4;return function(_0xb6c7fe){logger[_0x4fea('0x29')](_0xb6c7fe[_0x4fea('0x2a')]);if(_0xb6c7fe[_0x4fea('0x2b')]){delete _0xb6c7fe['name'];}_0x2e3bbb[_0x4fea('0x19')](_0x35875b)[_0x4fea('0x2c')](_0xb6c7fe);};}exports[_0x4fea('0x2d')]=function(_0x5cf08a,_0x545c57){var _0x58f716={},_0x77b469={},_0x301cd5={'count':0x0,'rows':[]};var _0x17f121=_[_0x4fea('0x2e')](db['Pause'][_0x4fea('0x2f')],function(_0x5f42ca){return{'name':_0x5f42ca[_0x4fea('0x30')],'type':_0x5f42ca['type'][_0x4fea('0x31')]};});_0x77b469[_0x4fea('0x32')]=_['map'](_0x17f121,'name');_0x77b469[_0x4fea('0x33')]=_['keys'](_0x5cf08a[_0x4fea('0x33')]);_0x77b469['filters']=_[_0x4fea('0x34')](_0x77b469[_0x4fea('0x32')],_0x77b469[_0x4fea('0x33')]);_0x58f716[_0x4fea('0x35')]=_[_0x4fea('0x34')](_0x77b469[_0x4fea('0x32')],qs[_0x4fea('0x36')](_0x5cf08a['query']['fields']));_0x58f716[_0x4fea('0x35')]=_0x58f716[_0x4fea('0x35')][_0x4fea('0x37')]?_0x58f716[_0x4fea('0x35')]:_0x77b469[_0x4fea('0x32')];if(!_0x5cf08a['query'][_0x4fea('0x38')]('nolimit')){_0x58f716[_0x4fea('0x1c')]=qs[_0x4fea('0x1c')](_0x5cf08a[_0x4fea('0x33')][_0x4fea('0x1c')]);_0x58f716[_0x4fea('0x1a')]=qs[_0x4fea('0x1a')](_0x5cf08a[_0x4fea('0x33')][_0x4fea('0x1a')]);}_0x58f716['order']=qs[_0x4fea('0x39')](_0x5cf08a['query'][_0x4fea('0x39')]);_0x58f716[_0x4fea('0x3a')]=qs[_0x4fea('0x3b')](_[_0x4fea('0x3c')](_0x5cf08a['query'],_0x77b469[_0x4fea('0x3b')]),_0x17f121);if(_0x5cf08a[_0x4fea('0x33')][_0x4fea('0x3d')]){_0x58f716[_0x4fea('0x3a')]=_[_0x4fea('0x3e')](_0x58f716[_0x4fea('0x3a')],{'$or':_['map'](_0x17f121,function(_0x13642e){if(_0x13642e[_0x4fea('0x3f')]!==_0x4fea('0x40')){var _0x3f973b={};_0x3f973b[_0x13642e['name']]={'$like':'%'+_0x5cf08a[_0x4fea('0x33')][_0x4fea('0x3d')]+'%'};return _0x3f973b;}})});}_0x58f716=_['merge']({},_0x58f716,_0x5cf08a[_0x4fea('0x41')]);var _0x2bed91={'where':_0x58f716[_0x4fea('0x3a')]};return db['Pause'][_0x4fea('0x1d')](_0x2bed91)[_0x4fea('0x24')](function(_0x2b15ab){_0x301cd5[_0x4fea('0x1d')]=_0x2b15ab;if(_0x5cf08a[_0x4fea('0x33')]['includeAll']){_0x58f716[_0x4fea('0x42')]=[{'all':!![]}];}return db['Pause'][_0x4fea('0x43')](_0x58f716);})['then'](function(_0x54f92a){_0x301cd5[_0x4fea('0x44')]=_0x54f92a;return _0x301cd5;})[_0x4fea('0x24')](respondWithFilteredResult(_0x545c57,_0x58f716))[_0x4fea('0x45')](handleError(_0x545c57,null));};exports[_0x4fea('0x46')]=function(_0x34d9a0,_0xf2f918){var _0x438a37={'raw':!![],'where':{'id':_0x34d9a0[_0x4fea('0x47')]['id']}},_0x21549c={};_0x21549c['model']=_[_0x4fea('0x48')](db[_0x4fea('0x49')][_0x4fea('0x2f')]);_0x21549c[_0x4fea('0x33')]=_[_0x4fea('0x48')](_0x34d9a0[_0x4fea('0x33')]);_0x21549c[_0x4fea('0x3b')]=_[_0x4fea('0x34')](_0x21549c[_0x4fea('0x32')],_0x21549c[_0x4fea('0x33')]);_0x438a37[_0x4fea('0x35')]=_[_0x4fea('0x34')](_0x21549c[_0x4fea('0x32')],qs[_0x4fea('0x36')](_0x34d9a0[_0x4fea('0x33')][_0x4fea('0x36')]));_0x438a37[_0x4fea('0x35')]=_0x438a37[_0x4fea('0x35')][_0x4fea('0x37')]?_0x438a37['attributes']:_0x21549c[_0x4fea('0x32')];if(_0x34d9a0[_0x4fea('0x33')][_0x4fea('0x4a')]){_0x438a37[_0x4fea('0x42')]=[{'all':!![]}];}_0x438a37=_[_0x4fea('0x3e')]({},_0x438a37,_0x34d9a0[_0x4fea('0x41')]);return db[_0x4fea('0x49')][_0x4fea('0x4b')](_0x438a37)[_0x4fea('0x24')](handleEntityNotFound(_0xf2f918,null))[_0x4fea('0x24')](respondWithResult(_0xf2f918,null))['catch'](handleError(_0xf2f918,null));};exports['create']=function(_0x51abc0,_0x50a6e1){return db[_0x4fea('0x49')][_0x4fea('0x4c')](_0x51abc0['body'],{})[_0x4fea('0x24')](function(_0x3d87e2){var _0x1db5ce=_0x51abc0[_0x4fea('0x4d')][_0x4fea('0x25')]({'plain':!![]});if(!_0x1db5ce)throw new Error(_0x4fea('0x4e'));if(_0x1db5ce['role']===_0x4fea('0x4d')){var _0x311ab3=_0x3d87e2['get']({'plain':!![]});var _0x5de87d=_0x4fea('0x26');return db['UserProfileSection']['find']({'where':{'name':_0x5de87d,'userProfileId':_0x1db5ce[_0x4fea('0x4f')]},'raw':!![]})[_0x4fea('0x24')](function(_0x232866){if(_0x232866&&_0x232866[_0x4fea('0x50')]===0x0){return db[_0x4fea('0x27')]['create']({'name':_0x311ab3[_0x4fea('0x2b')],'resourceId':_0x311ab3['id'],'type':_0x232866['name'],'sectionId':_0x232866['id']},{})['then'](function(){return _0x3d87e2;});}else{return _0x3d87e2;}})[_0x4fea('0x45')](function(_0x27a78a){logger[_0x4fea('0x29')](_0x4fea('0x51'),_0x27a78a);throw _0x27a78a;});}return _0x3d87e2;})[_0x4fea('0x24')](respondWithResult(_0x50a6e1,0xc9))[_0x4fea('0x45')](handleError(_0x50a6e1,null));};exports[_0x4fea('0x23')]=function(_0x1c8340,_0x37d83e){if(_0x1c8340['body']['id']){delete _0x1c8340[_0x4fea('0x52')]['id'];}return db['Pause'][_0x4fea('0x4b')]({'where':{'id':_0x1c8340['params']['id']}})[_0x4fea('0x24')](handleEntityNotFound(_0x37d83e,null))[_0x4fea('0x24')](saveUpdates(_0x1c8340[_0x4fea('0x52')],null))['then'](respondWithResult(_0x37d83e,null))[_0x4fea('0x45')](handleError(_0x37d83e,null));};exports[_0x4fea('0x28')]=function(_0x45c894,_0x5f9ec4){return db['Pause']['find']({'where':{'id':_0x45c894[_0x4fea('0x47')]['id']}})[_0x4fea('0x24')](handleEntityNotFound(_0x5f9ec4,null))[_0x4fea('0x24')](removeEntity(_0x5f9ec4,null))['catch'](handleError(_0x5f9ec4,null));};