Built motion from commit (unavailable).|2.5.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 _0x39c1=['rawAttributes','fieldName','type','query','keys','filters','model','attributes','intersection','length','hasOwnProperty','nolimit','order','sort','where','pick','merge','VIRTUAL','filter','options','findAll','rows','show','params','fields','includeAll','include','find','catch','create','user','role','UserProfileSection','userProfileId','body','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils','../../config/license/util','sendStatus','end','status','json','offset','limit','undefined','count','set','Content-Range','apply','reject','save','update','then','destroy','get','error','stack','name','send','index','map','Pause'];(function(_0x2a6521,_0x177c73){var _0x40c669=function(_0x6580ed){while(--_0x6580ed){_0x2a6521['push'](_0x2a6521['shift']());}};_0x40c669(++_0x177c73);}(_0x39c1,0x173));var _0x139c=function(_0xf5eaa0,_0x5bfa29){_0xf5eaa0=_0xf5eaa0-0x0;var _0x47039e=_0x39c1[_0xf5eaa0];return _0x47039e;};'use strict';var emlformat=require(_0x139c('0x0'));var rimraf=require(_0x139c('0x1'));var zipdir=require(_0x139c('0x2'));var jsonpatch=require(_0x139c('0x3'));var rp=require(_0x139c('0x4'));var moment=require('moment');var BPromise=require(_0x139c('0x5'));var Mustache=require(_0x139c('0x6'));var util=require('util');var path=require(_0x139c('0x7'));var sox=require(_0x139c('0x8'));var csv=require(_0x139c('0x9'));var ejs=require(_0x139c('0xa'));var fs=require('fs');var fs_extra=require(_0x139c('0xb'));var _=require(_0x139c('0xc'));var squel=require(_0x139c('0xd'));var crypto=require(_0x139c('0xe'));var jsforce=require(_0x139c('0xf'));var deskjs=require('desk.js');var toCsv=require(_0x139c('0x9'));var querystring=require(_0x139c('0x10'));var Papa=require(_0x139c('0x11'));var Redis=require(_0x139c('0x12'));var authService=require(_0x139c('0x13'));var qs=require(_0x139c('0x14'));var as=require(_0x139c('0x15'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x139c('0x16'));var utils=require(_0x139c('0x17'));var config=require('../../config/environment');var licenseUtil=require(_0x139c('0x18'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x27d082,_0x27f6b1){_0x27f6b1=_0x27f6b1||0xcc;return function(_0x34efab){if(_0x34efab){return _0x27d082[_0x139c('0x19')](_0x27f6b1);}return _0x27d082['status'](_0x27f6b1)[_0x139c('0x1a')]();};}function respondWithResult(_0x4146e4,_0x15a142){_0x15a142=_0x15a142||0xc8;return function(_0x4c8f43){if(_0x4c8f43){return _0x4146e4[_0x139c('0x1b')](_0x15a142)[_0x139c('0x1c')](_0x4c8f43);}};}function respondWithFilteredResult(_0x349124,_0x4d61e1){return function(_0xf091e1){if(_0xf091e1){var _0x324d2e=typeof _0x4d61e1[_0x139c('0x1d')]==='undefined'&&typeof _0x4d61e1[_0x139c('0x1e')]===_0x139c('0x1f');var _0x9af773=_0xf091e1[_0x139c('0x20')];var _0x208b80=_0x324d2e?0x0:_0x4d61e1[_0x139c('0x1d')];var _0x33dd00=_0x324d2e?_0xf091e1[_0x139c('0x20')]:_0x4d61e1[_0x139c('0x1d')]+_0x4d61e1[_0x139c('0x1e')];var _0x24baa8;if(_0x33dd00>=_0x9af773){_0x33dd00=_0x9af773;_0x24baa8=0xc8;}else{_0x24baa8=0xce;}_0x349124[_0x139c('0x1b')](_0x24baa8);return _0x349124[_0x139c('0x21')](_0x139c('0x22'),_0x208b80+'-'+_0x33dd00+'/'+_0x9af773)[_0x139c('0x1c')](_0xf091e1);}return null;};}function patchUpdates(_0x43bef6){return function(_0x5bb167){try{jsonpatch[_0x139c('0x23')](_0x5bb167,_0x43bef6,!![]);}catch(_0x52e8f6){return BPromise[_0x139c('0x24')](_0x52e8f6);}return _0x5bb167[_0x139c('0x25')]();};}function saveUpdates(_0x1338d8,_0x53f919){return function(_0x38fd10){if(_0x38fd10){return _0x38fd10[_0x139c('0x26')](_0x1338d8)[_0x139c('0x27')](function(_0xb8ceed){return _0xb8ceed;});}return null;};}function removeEntity(_0x37eb03,_0x338f13){return function(_0x4370a0){if(_0x4370a0){return _0x4370a0[_0x139c('0x28')]()[_0x139c('0x27')](function(){var _0x171c1b=_0x4370a0[_0x139c('0x29')]({'plain':!![]});var _0x3e5888='Pauses';return db['UserProfileResource']['destroy']({'where':{'type':_0x3e5888,'resourceId':_0x171c1b['id']}})[_0x139c('0x27')](function(){return _0x4370a0;});})['then'](function(){_0x37eb03[_0x139c('0x1b')](0xcc)[_0x139c('0x1a')]();});}};}function handleEntityNotFound(_0x474b89,_0x4a9cd8){return function(_0x7ad2f7){if(!_0x7ad2f7){_0x474b89['sendStatus'](0x194);}return _0x7ad2f7;};}function handleError(_0x278503,_0x3dce29){_0x3dce29=_0x3dce29||0x1f4;return function(_0x5a6368){logger[_0x139c('0x2a')](_0x5a6368[_0x139c('0x2b')]);if(_0x5a6368[_0x139c('0x2c')]){delete _0x5a6368[_0x139c('0x2c')];}_0x278503[_0x139c('0x1b')](_0x3dce29)[_0x139c('0x2d')](_0x5a6368);};}exports[_0x139c('0x2e')]=function(_0x16b08f,_0x3fd765){var _0x2eed5f={},_0x1dedff={},_0x8697e4={'count':0x0,'rows':[]};var _0x46dd35=_[_0x139c('0x2f')](db[_0x139c('0x30')][_0x139c('0x31')],function(_0x1c57f6){return{'name':_0x1c57f6[_0x139c('0x32')],'type':_0x1c57f6[_0x139c('0x33')]['key']};});_0x1dedff['model']=_[_0x139c('0x2f')](_0x46dd35,'name');_0x1dedff[_0x139c('0x34')]=_[_0x139c('0x35')](_0x16b08f[_0x139c('0x34')]);_0x1dedff[_0x139c('0x36')]=_['intersection'](_0x1dedff[_0x139c('0x37')],_0x1dedff[_0x139c('0x34')]);_0x2eed5f[_0x139c('0x38')]=_[_0x139c('0x39')](_0x1dedff[_0x139c('0x37')],qs['fields'](_0x16b08f['query']['fields']));_0x2eed5f['attributes']=_0x2eed5f[_0x139c('0x38')][_0x139c('0x3a')]?_0x2eed5f[_0x139c('0x38')]:_0x1dedff['model'];if(!_0x16b08f[_0x139c('0x34')][_0x139c('0x3b')](_0x139c('0x3c'))){_0x2eed5f[_0x139c('0x1e')]=qs[_0x139c('0x1e')](_0x16b08f[_0x139c('0x34')]['limit']);_0x2eed5f[_0x139c('0x1d')]=qs[_0x139c('0x1d')](_0x16b08f[_0x139c('0x34')][_0x139c('0x1d')]);}_0x2eed5f[_0x139c('0x3d')]=qs[_0x139c('0x3e')](_0x16b08f[_0x139c('0x34')][_0x139c('0x3e')]);_0x2eed5f[_0x139c('0x3f')]=qs[_0x139c('0x36')](_[_0x139c('0x40')](_0x16b08f[_0x139c('0x34')],_0x1dedff[_0x139c('0x36')]),_0x46dd35);if(_0x16b08f[_0x139c('0x34')]['filter']){_0x2eed5f[_0x139c('0x3f')]=_[_0x139c('0x41')](_0x2eed5f[_0x139c('0x3f')],{'$or':_[_0x139c('0x2f')](_0x46dd35,function(_0x1d1e79){if(_0x1d1e79['type']!==_0x139c('0x42')){var _0x4bb5e1={};_0x4bb5e1[_0x1d1e79[_0x139c('0x2c')]]={'$like':'%'+_0x16b08f[_0x139c('0x34')][_0x139c('0x43')]+'%'};return _0x4bb5e1;}})});}_0x2eed5f=_[_0x139c('0x41')]({},_0x2eed5f,_0x16b08f[_0x139c('0x44')]);var _0x20d666={'where':_0x2eed5f[_0x139c('0x3f')]};return db['Pause'][_0x139c('0x20')](_0x20d666)[_0x139c('0x27')](function(_0xd0a272){_0x8697e4['count']=_0xd0a272;if(_0x16b08f[_0x139c('0x34')]['includeAll']){_0x2eed5f['include']=[{'all':!![]}];}return db['Pause'][_0x139c('0x45')](_0x2eed5f);})[_0x139c('0x27')](function(_0x11bfd1){_0x8697e4[_0x139c('0x46')]=_0x11bfd1;return _0x8697e4;})[_0x139c('0x27')](respondWithFilteredResult(_0x3fd765,_0x2eed5f))['catch'](handleError(_0x3fd765,null));};exports[_0x139c('0x47')]=function(_0x603d8d,_0x243337){var _0x4e5668={'raw':!![],'where':{'id':_0x603d8d[_0x139c('0x48')]['id']}},_0x2f9667={};_0x2f9667[_0x139c('0x37')]=_[_0x139c('0x35')](db['Pause']['rawAttributes']);_0x2f9667['query']=_[_0x139c('0x35')](_0x603d8d[_0x139c('0x34')]);_0x2f9667[_0x139c('0x36')]=_[_0x139c('0x39')](_0x2f9667[_0x139c('0x37')],_0x2f9667[_0x139c('0x34')]);_0x4e5668['attributes']=_[_0x139c('0x39')](_0x2f9667['model'],qs[_0x139c('0x49')](_0x603d8d[_0x139c('0x34')][_0x139c('0x49')]));_0x4e5668[_0x139c('0x38')]=_0x4e5668[_0x139c('0x38')][_0x139c('0x3a')]?_0x4e5668[_0x139c('0x38')]:_0x2f9667['model'];if(_0x603d8d[_0x139c('0x34')][_0x139c('0x4a')]){_0x4e5668[_0x139c('0x4b')]=[{'all':!![]}];}_0x4e5668=_['merge']({},_0x4e5668,_0x603d8d[_0x139c('0x44')]);return db[_0x139c('0x30')][_0x139c('0x4c')](_0x4e5668)[_0x139c('0x27')](handleEntityNotFound(_0x243337,null))[_0x139c('0x27')](respondWithResult(_0x243337,null))[_0x139c('0x4d')](handleError(_0x243337,null));};exports[_0x139c('0x4e')]=function(_0x224f99,_0x5b81a3){return db[_0x139c('0x30')][_0x139c('0x4e')](_0x224f99['body'],{})[_0x139c('0x27')](function(_0x2fbd2e){var _0x1b1faf=_0x224f99[_0x139c('0x4f')][_0x139c('0x29')]({'plain':!![]});if(!_0x1b1faf)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x1b1faf[_0x139c('0x50')]==='user'){var _0x4dc618=_0x2fbd2e[_0x139c('0x29')]({'plain':!![]});var _0x26c3f3='Pauses';return db[_0x139c('0x51')]['find']({'where':{'name':_0x26c3f3,'userProfileId':_0x1b1faf[_0x139c('0x52')]},'raw':!![]})[_0x139c('0x27')](function(_0x361e2f){if(_0x361e2f&&_0x361e2f['autoAssociation']===0x0){return db['UserProfileResource'][_0x139c('0x4e')]({'name':_0x4dc618[_0x139c('0x2c')],'resourceId':_0x4dc618['id'],'type':_0x361e2f[_0x139c('0x2c')],'sectionId':_0x361e2f['id']},{})[_0x139c('0x27')](function(){return _0x2fbd2e;});}else{return _0x2fbd2e;}})['catch'](function(_0x4d6049){logger[_0x139c('0x2a')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x4d6049);throw _0x4d6049;});}return _0x2fbd2e;})[_0x139c('0x27')](respondWithResult(_0x5b81a3,0xc9))[_0x139c('0x4d')](handleError(_0x5b81a3,null));};exports['update']=function(_0x528955,_0x34df10){if(_0x528955[_0x139c('0x53')]['id']){delete _0x528955[_0x139c('0x53')]['id'];}return db[_0x139c('0x30')][_0x139c('0x4c')]({'where':{'id':_0x528955[_0x139c('0x48')]['id']}})[_0x139c('0x27')](handleEntityNotFound(_0x34df10,null))[_0x139c('0x27')](saveUpdates(_0x528955['body'],null))['then'](respondWithResult(_0x34df10,null))[_0x139c('0x4d')](handleError(_0x34df10,null));};exports[_0x139c('0x28')]=function(_0x1f2e31,_0x4d0aec){return db['Pause']['find']({'where':{'id':_0x1f2e31[_0x139c('0x48')]['id']}})[_0x139c('0x27')](handleEntityNotFound(_0x4d0aec,null))[_0x139c('0x27')](removeEntity(_0x4d0aec,null))['catch'](handleError(_0x4d0aec,null));};