3ceabbbf43f2321da2d0f50eb7ecb57718658cee
[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 _0xd4af=['index','map','rawAttributes','fieldName','type','key','model','query','filters','intersection','attributes','fields','hasOwnProperty','order','sort','where','filter','merge','count','includeAll','include','Pause','findAll','rows','catch','show','params','keys','length','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','json','undefined','limit','offset','status','set','Content-Range','apply','reject','save','update','destroy','then','get','Pauses','UserProfileResource','stack','name','send'];(function(_0x55e08b,_0x421620){var _0xd1a7ff=function(_0x58c7ff){while(--_0x58c7ff){_0x55e08b['push'](_0x55e08b['shift']());}};_0xd1a7ff(++_0x421620);}(_0xd4af,0x1ea));var _0xfd4a=function(_0x382e54,_0x112ece){_0x382e54=_0x382e54-0x0;var _0x529ddf=_0xd4af[_0x382e54];return _0x529ddf;};'use strict';var emlformat=require(_0xfd4a('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xfd4a('0x1'));var jsonpatch=require(_0xfd4a('0x2'));var rp=require(_0xfd4a('0x3'));var moment=require(_0xfd4a('0x4'));var BPromise=require(_0xfd4a('0x5'));var Mustache=require(_0xfd4a('0x6'));var util=require('util');var path=require(_0xfd4a('0x7'));var sox=require(_0xfd4a('0x8'));var csv=require(_0xfd4a('0x9'));var ejs=require(_0xfd4a('0xa'));var fs=require('fs');var fs_extra=require(_0xfd4a('0xb'));var _=require(_0xfd4a('0xc'));var squel=require(_0xfd4a('0xd'));var crypto=require(_0xfd4a('0xe'));var jsforce=require(_0xfd4a('0xf'));var deskjs=require(_0xfd4a('0x10'));var toCsv=require(_0xfd4a('0x9'));var querystring=require(_0xfd4a('0x11'));var Papa=require(_0xfd4a('0x12'));var Redis=require(_0xfd4a('0x13'));var authService=require(_0xfd4a('0x14'));var qs=require(_0xfd4a('0x15'));var as=require(_0xfd4a('0x16'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xfd4a('0x17'))(_0xfd4a('0x18'));var utils=require(_0xfd4a('0x19'));var config=require(_0xfd4a('0x1a'));var licenseUtil=require(_0xfd4a('0x1b'));var db=require(_0xfd4a('0x1c'))['db'];function respondWithStatusCode(_0x4ea5f6,_0x508c4f){_0x508c4f=_0x508c4f||0xcc;return function(_0x2f05aa){if(_0x2f05aa){return _0x4ea5f6[_0xfd4a('0x1d')](_0x508c4f);}return _0x4ea5f6['status'](_0x508c4f)[_0xfd4a('0x1e')]();};}function respondWithResult(_0x5d193f,_0x4b97d2){_0x4b97d2=_0x4b97d2||0xc8;return function(_0x157677){if(_0x157677){return _0x5d193f['status'](_0x4b97d2)[_0xfd4a('0x1f')](_0x157677);}};}function respondWithFilteredResult(_0x2b1632,_0x4ffafe){return function(_0x2ec668){if(_0x2ec668){var _0x56b2ad=typeof _0x4ffafe['offset']===_0xfd4a('0x20')&&typeof _0x4ffafe[_0xfd4a('0x21')]===_0xfd4a('0x20');var _0x35f400=_0x2ec668['count'];var _0x2b99a6=_0x56b2ad?0x0:_0x4ffafe[_0xfd4a('0x22')];var _0xd7920=_0x56b2ad?_0x2ec668['count']:_0x4ffafe[_0xfd4a('0x22')]+_0x4ffafe[_0xfd4a('0x21')];var _0x4b5780;if(_0xd7920>=_0x35f400){_0xd7920=_0x35f400;_0x4b5780=0xc8;}else{_0x4b5780=0xce;}_0x2b1632[_0xfd4a('0x23')](_0x4b5780);return _0x2b1632[_0xfd4a('0x24')](_0xfd4a('0x25'),_0x2b99a6+'-'+_0xd7920+'/'+_0x35f400)[_0xfd4a('0x1f')](_0x2ec668);}return null;};}function patchUpdates(_0x4b285f){return function(_0x20d9d0){try{jsonpatch[_0xfd4a('0x26')](_0x20d9d0,_0x4b285f,!![]);}catch(_0x376388){return BPromise[_0xfd4a('0x27')](_0x376388);}return _0x20d9d0[_0xfd4a('0x28')]();};}function saveUpdates(_0x22d6c7,_0x10b553){return function(_0x378434){if(_0x378434){return _0x378434[_0xfd4a('0x29')](_0x22d6c7)['then'](function(_0x1446c6){return _0x1446c6;});}return null;};}function removeEntity(_0x84f828,_0x1fba33){return function(_0x218213){if(_0x218213){return _0x218213[_0xfd4a('0x2a')]()[_0xfd4a('0x2b')](function(){var _0x4b9f40=_0x218213[_0xfd4a('0x2c')]({'plain':!![]});var _0x403cef=_0xfd4a('0x2d');return db[_0xfd4a('0x2e')][_0xfd4a('0x2a')]({'where':{'type':_0x403cef,'resourceId':_0x4b9f40['id']}})[_0xfd4a('0x2b')](function(){return _0x218213;});})['then'](function(){_0x84f828[_0xfd4a('0x23')](0xcc)[_0xfd4a('0x1e')]();});}};}function handleEntityNotFound(_0x18683b,_0x4c4592){return function(_0x154c41){if(!_0x154c41){_0x18683b[_0xfd4a('0x1d')](0x194);}return _0x154c41;};}function handleError(_0xa3398e,_0x10712c){_0x10712c=_0x10712c||0x1f4;return function(_0x5ea6bb){logger['error'](_0x5ea6bb[_0xfd4a('0x2f')]);if(_0x5ea6bb[_0xfd4a('0x30')]){delete _0x5ea6bb[_0xfd4a('0x30')];}_0xa3398e['status'](_0x10712c)[_0xfd4a('0x31')](_0x5ea6bb);};}exports[_0xfd4a('0x32')]=function(_0x4392c1,_0x45faa1){var _0x502eae={},_0x2866a8={},_0x12aa46={'count':0x0,'rows':[]};var _0x29a8be=_[_0xfd4a('0x33')](db['Pause'][_0xfd4a('0x34')],function(_0x229ce0){return{'name':_0x229ce0[_0xfd4a('0x35')],'type':_0x229ce0[_0xfd4a('0x36')][_0xfd4a('0x37')]};});_0x2866a8[_0xfd4a('0x38')]=_[_0xfd4a('0x33')](_0x29a8be,_0xfd4a('0x30'));_0x2866a8[_0xfd4a('0x39')]=_['keys'](_0x4392c1[_0xfd4a('0x39')]);_0x2866a8[_0xfd4a('0x3a')]=_[_0xfd4a('0x3b')](_0x2866a8[_0xfd4a('0x38')],_0x2866a8[_0xfd4a('0x39')]);_0x502eae[_0xfd4a('0x3c')]=_[_0xfd4a('0x3b')](_0x2866a8[_0xfd4a('0x38')],qs[_0xfd4a('0x3d')](_0x4392c1[_0xfd4a('0x39')][_0xfd4a('0x3d')]));_0x502eae[_0xfd4a('0x3c')]=_0x502eae[_0xfd4a('0x3c')]['length']?_0x502eae[_0xfd4a('0x3c')]:_0x2866a8[_0xfd4a('0x38')];if(!_0x4392c1['query'][_0xfd4a('0x3e')]('nolimit')){_0x502eae[_0xfd4a('0x21')]=qs[_0xfd4a('0x21')](_0x4392c1[_0xfd4a('0x39')][_0xfd4a('0x21')]);_0x502eae[_0xfd4a('0x22')]=qs['offset'](_0x4392c1[_0xfd4a('0x39')][_0xfd4a('0x22')]);}_0x502eae[_0xfd4a('0x3f')]=qs[_0xfd4a('0x40')](_0x4392c1[_0xfd4a('0x39')][_0xfd4a('0x40')]);_0x502eae[_0xfd4a('0x41')]=qs['filters'](_['pick'](_0x4392c1[_0xfd4a('0x39')],_0x2866a8['filters']),_0x29a8be);if(_0x4392c1[_0xfd4a('0x39')][_0xfd4a('0x42')]){_0x502eae[_0xfd4a('0x41')]=_[_0xfd4a('0x43')](_0x502eae[_0xfd4a('0x41')],{'$or':_['map'](_0x29a8be,function(_0x3d2d9c){if(_0x3d2d9c[_0xfd4a('0x36')]!=='VIRTUAL'){var _0x1e7c56={};_0x1e7c56[_0x3d2d9c[_0xfd4a('0x30')]]={'$like':'%'+_0x4392c1[_0xfd4a('0x39')][_0xfd4a('0x42')]+'%'};return _0x1e7c56;}})});}_0x502eae=_[_0xfd4a('0x43')]({},_0x502eae,_0x4392c1['options']);var _0x43b0b0={'where':_0x502eae[_0xfd4a('0x41')]};return db['Pause'][_0xfd4a('0x44')](_0x43b0b0)[_0xfd4a('0x2b')](function(_0x1e87f1){_0x12aa46[_0xfd4a('0x44')]=_0x1e87f1;if(_0x4392c1['query'][_0xfd4a('0x45')]){_0x502eae[_0xfd4a('0x46')]=[{'all':!![]}];}return db[_0xfd4a('0x47')][_0xfd4a('0x48')](_0x502eae);})[_0xfd4a('0x2b')](function(_0x438f09){_0x12aa46[_0xfd4a('0x49')]=_0x438f09;return _0x12aa46;})[_0xfd4a('0x2b')](respondWithFilteredResult(_0x45faa1,_0x502eae))[_0xfd4a('0x4a')](handleError(_0x45faa1,null));};exports[_0xfd4a('0x4b')]=function(_0x2a18a3,_0x32cbe3){var _0x250e4b={'raw':!![],'where':{'id':_0x2a18a3[_0xfd4a('0x4c')]['id']}},_0x50d4b8={};_0x50d4b8[_0xfd4a('0x38')]=_['keys'](db['Pause'][_0xfd4a('0x34')]);_0x50d4b8[_0xfd4a('0x39')]=_[_0xfd4a('0x4d')](_0x2a18a3[_0xfd4a('0x39')]);_0x50d4b8['filters']=_[_0xfd4a('0x3b')](_0x50d4b8[_0xfd4a('0x38')],_0x50d4b8['query']);_0x250e4b[_0xfd4a('0x3c')]=_[_0xfd4a('0x3b')](_0x50d4b8[_0xfd4a('0x38')],qs['fields'](_0x2a18a3[_0xfd4a('0x39')]['fields']));_0x250e4b[_0xfd4a('0x3c')]=_0x250e4b['attributes'][_0xfd4a('0x4e')]?_0x250e4b[_0xfd4a('0x3c')]:_0x50d4b8['model'];if(_0x2a18a3[_0xfd4a('0x39')][_0xfd4a('0x45')]){_0x250e4b[_0xfd4a('0x46')]=[{'all':!![]}];}_0x250e4b=_[_0xfd4a('0x43')]({},_0x250e4b,_0x2a18a3['options']);return db[_0xfd4a('0x47')][_0xfd4a('0x4f')](_0x250e4b)[_0xfd4a('0x2b')](handleEntityNotFound(_0x32cbe3,null))[_0xfd4a('0x2b')](respondWithResult(_0x32cbe3,null))[_0xfd4a('0x4a')](handleError(_0x32cbe3,null));};exports[_0xfd4a('0x50')]=function(_0x1e0df3,_0x1a7760){return db[_0xfd4a('0x47')]['create'](_0x1e0df3[_0xfd4a('0x51')],{})[_0xfd4a('0x2b')](function(_0x3f335e){var _0xb63078=_0x1e0df3[_0xfd4a('0x52')]['get']({'plain':!![]});if(!_0xb63078)throw new Error(_0xfd4a('0x53'));if(_0xb63078[_0xfd4a('0x54')]===_0xfd4a('0x52')){var _0xa0e7d4=_0x3f335e['get']({'plain':!![]});var _0x484d3='Pauses';return db[_0xfd4a('0x55')][_0xfd4a('0x4f')]({'where':{'name':_0x484d3,'userProfileId':_0xb63078[_0xfd4a('0x56')]},'raw':!![]})[_0xfd4a('0x2b')](function(_0xfdfc59){if(_0xfdfc59&&_0xfdfc59[_0xfd4a('0x57')]===0x0){return db[_0xfd4a('0x2e')][_0xfd4a('0x50')]({'name':_0xa0e7d4[_0xfd4a('0x30')],'resourceId':_0xa0e7d4['id'],'type':_0xfdfc59[_0xfd4a('0x30')],'sectionId':_0xfdfc59['id']},{})[_0xfd4a('0x2b')](function(){return _0x3f335e;});}else{return _0x3f335e;}})[_0xfd4a('0x4a')](function(_0x5d41ed){logger[_0xfd4a('0x58')](_0xfd4a('0x59'),_0x5d41ed);throw _0x5d41ed;});}return _0x3f335e;})[_0xfd4a('0x2b')](respondWithResult(_0x1a7760,0xc9))[_0xfd4a('0x4a')](handleError(_0x1a7760,null));};exports[_0xfd4a('0x29')]=function(_0x4940fe,_0x3b3ba6){if(_0x4940fe[_0xfd4a('0x51')]['id']){delete _0x4940fe['body']['id'];}return db[_0xfd4a('0x47')][_0xfd4a('0x4f')]({'where':{'id':_0x4940fe['params']['id']}})['then'](handleEntityNotFound(_0x3b3ba6,null))['then'](saveUpdates(_0x4940fe[_0xfd4a('0x51')],null))[_0xfd4a('0x2b')](respondWithResult(_0x3b3ba6,null))[_0xfd4a('0x4a')](handleError(_0x3b3ba6,null));};exports['destroy']=function(_0x12e735,_0x5574cb){return db['Pause'][_0xfd4a('0x4f')]({'where':{'id':_0x12e735[_0xfd4a('0x4c')]['id']}})[_0xfd4a('0x2b')](handleEntityNotFound(_0x5574cb,null))['then'](removeEntity(_0x5574cb,null))[_0xfd4a('0x4a')](handleError(_0x5574cb,null));};