Built motion from commit b0a9a629.|2.6.33
[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 _0x462e=['to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','reject','update','then','destroy','get','Pauses','UserProfileResource','stack','name','index','Pause','rawAttributes','fieldName','type','model','map','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','keys','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','find','params','eml-format','rimraf','zip-dir','fast-json-patch','mustache','path'];(function(_0x2caa85,_0x462dc1){var _0x3d437f=function(_0x47551f){while(--_0x47551f){_0x2caa85['push'](_0x2caa85['shift']());}};_0x3d437f(++_0x462dc1);}(_0x462e,0x9e));var _0xe462=function(_0x1c7591,_0x4ce5cb){_0x1c7591=_0x1c7591-0x0;var _0x57e921=_0x462e[_0x1c7591];return _0x57e921;};'use strict';var emlformat=require(_0xe462('0x0'));var rimraf=require(_0xe462('0x1'));var zipdir=require(_0xe462('0x2'));var jsonpatch=require(_0xe462('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xe462('0x4'));var util=require('util');var path=require(_0xe462('0x5'));var sox=require('sox');var csv=require(_0xe462('0x6'));var ejs=require(_0xe462('0x7'));var fs=require('fs');var fs_extra=require(_0xe462('0x8'));var _=require(_0xe462('0x9'));var squel=require(_0xe462('0xa'));var crypto=require(_0xe462('0xb'));var jsforce=require(_0xe462('0xc'));var deskjs=require(_0xe462('0xd'));var toCsv=require(_0xe462('0x6'));var querystring=require(_0xe462('0xe'));var Papa=require(_0xe462('0xf'));var Redis=require('ioredis');var authService=require(_0xe462('0x10'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xe462('0x11'));var logger=require(_0xe462('0x12'))(_0xe462('0x13'));var utils=require(_0xe462('0x14'));var config=require(_0xe462('0x15'));var licenseUtil=require(_0xe462('0x16'));var db=require(_0xe462('0x17'))['db'];function respondWithStatusCode(_0x41c981,_0x37274e){_0x37274e=_0x37274e||0xcc;return function(_0x5d32db){if(_0x5d32db){return _0x41c981[_0xe462('0x18')](_0x37274e);}return _0x41c981[_0xe462('0x19')](_0x37274e)[_0xe462('0x1a')]();};}function respondWithResult(_0x1b3a66,_0xeebf12){_0xeebf12=_0xeebf12||0xc8;return function(_0x2e9bcb){if(_0x2e9bcb){return _0x1b3a66['status'](_0xeebf12)[_0xe462('0x1b')](_0x2e9bcb);}};}function respondWithFilteredResult(_0x11b4d4,_0xa40275){return function(_0x4af989){if(_0x4af989){var _0x597b4a=typeof _0xa40275[_0xe462('0x1c')]===_0xe462('0x1d')&&typeof _0xa40275[_0xe462('0x1e')]===_0xe462('0x1d');var _0x5afdb3=_0x4af989[_0xe462('0x1f')];var _0x3582c8=_0x597b4a?0x0:_0xa40275[_0xe462('0x1c')];var _0x1adb25=_0x597b4a?_0x4af989[_0xe462('0x1f')]:_0xa40275['offset']+_0xa40275[_0xe462('0x1e')];var _0x32ed3c;if(_0x1adb25>=_0x5afdb3){_0x1adb25=_0x5afdb3;_0x32ed3c=0xc8;}else{_0x32ed3c=0xce;}_0x11b4d4['status'](_0x32ed3c);return _0x11b4d4[_0xe462('0x20')]('Content-Range',_0x3582c8+'-'+_0x1adb25+'/'+_0x5afdb3)[_0xe462('0x1b')](_0x4af989);}return null;};}function patchUpdates(_0x1e12b7){return function(_0x10d57b){try{jsonpatch['apply'](_0x10d57b,_0x1e12b7,!![]);}catch(_0x57d73a){return BPromise[_0xe462('0x21')](_0x57d73a);}return _0x10d57b['save']();};}function saveUpdates(_0x5d9412,_0x4e8b47){return function(_0x80aaab){if(_0x80aaab){return _0x80aaab[_0xe462('0x22')](_0x5d9412)[_0xe462('0x23')](function(_0x3c2106){return _0x3c2106;});}return null;};}function removeEntity(_0x3bfd94,_0x1391da){return function(_0xc02480){if(_0xc02480){return _0xc02480[_0xe462('0x24')]()['then'](function(){var _0x2a068a=_0xc02480[_0xe462('0x25')]({'plain':!![]});var _0x2df8bc=_0xe462('0x26');return db[_0xe462('0x27')][_0xe462('0x24')]({'where':{'type':_0x2df8bc,'resourceId':_0x2a068a['id']}})[_0xe462('0x23')](function(){return _0xc02480;});})[_0xe462('0x23')](function(){_0x3bfd94[_0xe462('0x19')](0xcc)[_0xe462('0x1a')]();});}};}function handleEntityNotFound(_0x4ae984,_0x13c80c){return function(_0x52c0e2){if(!_0x52c0e2){_0x4ae984[_0xe462('0x18')](0x194);}return _0x52c0e2;};}function handleError(_0x18c559,_0x117a33){_0x117a33=_0x117a33||0x1f4;return function(_0x5b539c){logger['error'](_0x5b539c[_0xe462('0x28')]);if(_0x5b539c[_0xe462('0x29')]){delete _0x5b539c['name'];}_0x18c559[_0xe462('0x19')](_0x117a33)['send'](_0x5b539c);};}exports[_0xe462('0x2a')]=function(_0x1c3846,_0x4c7f19){var _0x8b9798={},_0x4e2293={},_0x2739a7={'count':0x0,'rows':[]};var _0x37d760=_['map'](db[_0xe462('0x2b')][_0xe462('0x2c')],function(_0x5588e9){return{'name':_0x5588e9[_0xe462('0x2d')],'type':_0x5588e9[_0xe462('0x2e')]['key']};});_0x4e2293[_0xe462('0x2f')]=_[_0xe462('0x30')](_0x37d760,_0xe462('0x29'));_0x4e2293[_0xe462('0x31')]=_['keys'](_0x1c3846['query']);_0x4e2293[_0xe462('0x32')]=_[_0xe462('0x33')](_0x4e2293[_0xe462('0x2f')],_0x4e2293['query']);_0x8b9798[_0xe462('0x34')]=_['intersection'](_0x4e2293[_0xe462('0x2f')],qs[_0xe462('0x35')](_0x1c3846['query'][_0xe462('0x35')]));_0x8b9798['attributes']=_0x8b9798[_0xe462('0x34')][_0xe462('0x36')]?_0x8b9798['attributes']:_0x4e2293[_0xe462('0x2f')];if(!_0x1c3846[_0xe462('0x31')][_0xe462('0x37')](_0xe462('0x38'))){_0x8b9798['limit']=qs['limit'](_0x1c3846['query'][_0xe462('0x1e')]);_0x8b9798[_0xe462('0x1c')]=qs[_0xe462('0x1c')](_0x1c3846[_0xe462('0x31')]['offset']);}_0x8b9798[_0xe462('0x39')]=qs[_0xe462('0x3a')](_0x1c3846[_0xe462('0x31')][_0xe462('0x3a')]);_0x8b9798[_0xe462('0x3b')]=qs['filters'](_[_0xe462('0x3c')](_0x1c3846[_0xe462('0x31')],_0x4e2293[_0xe462('0x32')]),_0x37d760);if(_0x1c3846[_0xe462('0x31')][_0xe462('0x3d')]){_0x8b9798[_0xe462('0x3b')]=_[_0xe462('0x3e')](_0x8b9798[_0xe462('0x3b')],{'$or':_[_0xe462('0x30')](_0x37d760,function(_0x1107c6){if(_0x1107c6['type']!==_0xe462('0x3f')){var _0x1096a0={};_0x1096a0[_0x1107c6[_0xe462('0x29')]]={'$like':'%'+_0x1c3846[_0xe462('0x31')][_0xe462('0x3d')]+'%'};return _0x1096a0;}})});}_0x8b9798=_[_0xe462('0x3e')]({},_0x8b9798,_0x1c3846[_0xe462('0x40')]);var _0x82de4b={'where':_0x8b9798['where']};return db[_0xe462('0x2b')][_0xe462('0x1f')](_0x82de4b)[_0xe462('0x23')](function(_0xab25a8){_0x2739a7[_0xe462('0x1f')]=_0xab25a8;if(_0x1c3846[_0xe462('0x31')][_0xe462('0x41')]){_0x8b9798[_0xe462('0x42')]=[{'all':!![]}];}return db[_0xe462('0x2b')][_0xe462('0x43')](_0x8b9798);})[_0xe462('0x23')](function(_0x2fa60c){_0x2739a7[_0xe462('0x44')]=_0x2fa60c;return _0x2739a7;})[_0xe462('0x23')](respondWithFilteredResult(_0x4c7f19,_0x8b9798))[_0xe462('0x45')](handleError(_0x4c7f19,null));};exports[_0xe462('0x46')]=function(_0x23ea7f,_0x5848e7){var _0x3a84b6={'raw':!![],'where':{'id':_0x23ea7f['params']['id']}},_0x3178b7={};_0x3178b7[_0xe462('0x2f')]=_[_0xe462('0x47')](db[_0xe462('0x2b')][_0xe462('0x2c')]);_0x3178b7[_0xe462('0x31')]=_['keys'](_0x23ea7f[_0xe462('0x31')]);_0x3178b7[_0xe462('0x32')]=_[_0xe462('0x33')](_0x3178b7['model'],_0x3178b7['query']);_0x3a84b6[_0xe462('0x34')]=_[_0xe462('0x33')](_0x3178b7['model'],qs[_0xe462('0x35')](_0x23ea7f['query']['fields']));_0x3a84b6['attributes']=_0x3a84b6['attributes'][_0xe462('0x36')]?_0x3a84b6['attributes']:_0x3178b7['model'];if(_0x23ea7f[_0xe462('0x31')][_0xe462('0x41')]){_0x3a84b6[_0xe462('0x42')]=[{'all':!![]}];}_0x3a84b6=_[_0xe462('0x3e')]({},_0x3a84b6,_0x23ea7f[_0xe462('0x40')]);return db[_0xe462('0x2b')]['find'](_0x3a84b6)['then'](handleEntityNotFound(_0x5848e7,null))[_0xe462('0x23')](respondWithResult(_0x5848e7,null))[_0xe462('0x45')](handleError(_0x5848e7,null));};exports[_0xe462('0x48')]=function(_0x385008,_0x9532e){return db['Pause'][_0xe462('0x48')](_0x385008[_0xe462('0x49')],{})[_0xe462('0x23')](function(_0x3a938a){var _0x572e80=_0x385008[_0xe462('0x4a')][_0xe462('0x25')]({'plain':!![]});if(!_0x572e80)throw new Error(_0xe462('0x4b'));if(_0x572e80[_0xe462('0x4c')]===_0xe462('0x4a')){var _0x1c83ce=_0x3a938a[_0xe462('0x25')]({'plain':!![]});var _0x28973e=_0xe462('0x26');return db['UserProfileSection']['find']({'where':{'name':_0x28973e,'userProfileId':_0x572e80[_0xe462('0x4d')]},'raw':!![]})[_0xe462('0x23')](function(_0x24ee49){if(_0x24ee49&&_0x24ee49[_0xe462('0x4e')]===0x0){return db[_0xe462('0x27')][_0xe462('0x48')]({'name':_0x1c83ce[_0xe462('0x29')],'resourceId':_0x1c83ce['id'],'type':_0x24ee49[_0xe462('0x29')],'sectionId':_0x24ee49['id']},{})[_0xe462('0x23')](function(){return _0x3a938a;});}else{return _0x3a938a;}})[_0xe462('0x45')](function(_0x236c52){logger['error'](_0xe462('0x4f'),_0x236c52);throw _0x236c52;});}return _0x3a938a;})[_0xe462('0x23')](respondWithResult(_0x9532e,0xc9))[_0xe462('0x45')](handleError(_0x9532e,null));};exports[_0xe462('0x22')]=function(_0x8ebbc6,_0x5ae3f5){if(_0x8ebbc6[_0xe462('0x49')]['id']){delete _0x8ebbc6[_0xe462('0x49')]['id'];}return db[_0xe462('0x2b')][_0xe462('0x50')]({'where':{'id':_0x8ebbc6[_0xe462('0x51')]['id']}})[_0xe462('0x23')](handleEntityNotFound(_0x5ae3f5,null))[_0xe462('0x23')](saveUpdates(_0x8ebbc6[_0xe462('0x49')],null))[_0xe462('0x23')](respondWithResult(_0x5ae3f5,null))[_0xe462('0x45')](handleError(_0x5ae3f5,null));};exports['destroy']=function(_0x21e75d,_0x24123b){return db[_0xe462('0x2b')][_0xe462('0x50')]({'where':{'id':_0x21e75d[_0xe462('0x51')]['id']}})[_0xe462('0x23')](handleEntityNotFound(_0x24123b,null))[_0xe462('0x23')](removeEntity(_0x24123b,null))[_0xe462('0x45')](handleError(_0x24123b,null));};