Built motion from commit fe909640.|2.6.8
[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 _0xf0bc=['keys','query','filters','attributes','intersection','fields','nolimit','order','sort','filter','where','merge','VIRTUAL','options','includeAll','include','rows','show','params','rawAttributes','length','find','catch','create','body','get','user','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','ejs','fs-extra','lodash','squel','jsforce','desk.js','to-csv','querystring','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','status','end','json','offset','limit','undefined','count','set','save','update','then','destroy','Pauses','UserProfileResource','sendStatus','error','name','send','index','Pause','fieldName','type','key','model','map'];(function(_0x984b8f,_0x422ce3){var _0x93c325=function(_0x40be9a){while(--_0x40be9a){_0x984b8f['push'](_0x984b8f['shift']());}};_0x93c325(++_0x422ce3);}(_0xf0bc,0xc1));var _0xcf0b=function(_0x5d6d97,_0x1da513){_0x5d6d97=_0x5d6d97-0x0;var _0x2e49ad=_0xf0bc[_0x5d6d97];return _0x2e49ad;};'use strict';var emlformat=require(_0xcf0b('0x0'));var rimraf=require(_0xcf0b('0x1'));var zipdir=require(_0xcf0b('0x2'));var jsonpatch=require(_0xcf0b('0x3'));var rp=require(_0xcf0b('0x4'));var moment=require(_0xcf0b('0x5'));var BPromise=require(_0xcf0b('0x6'));var Mustache=require(_0xcf0b('0x7'));var util=require(_0xcf0b('0x8'));var path=require(_0xcf0b('0x9'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xcf0b('0xa'));var fs=require('fs');var fs_extra=require(_0xcf0b('0xb'));var _=require(_0xcf0b('0xc'));var squel=require(_0xcf0b('0xd'));var crypto=require('crypto');var jsforce=require(_0xcf0b('0xe'));var deskjs=require(_0xcf0b('0xf'));var toCsv=require(_0xcf0b('0x10'));var querystring=require(_0xcf0b('0x11'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0xcf0b('0x12'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xcf0b('0x13'));var logger=require(_0xcf0b('0x14'))(_0xcf0b('0x15'));var utils=require(_0xcf0b('0x16'));var config=require(_0xcf0b('0x17'));var licenseUtil=require(_0xcf0b('0x18'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x2e2bae,_0x2e05e1){_0x2e05e1=_0x2e05e1||0xcc;return function(_0x3d1c3f){if(_0x3d1c3f){return _0x2e2bae['sendStatus'](_0x2e05e1);}return _0x2e2bae[_0xcf0b('0x19')](_0x2e05e1)[_0xcf0b('0x1a')]();};}function respondWithResult(_0x4fadf7,_0x23adc9){_0x23adc9=_0x23adc9||0xc8;return function(_0x3408ea){if(_0x3408ea){return _0x4fadf7['status'](_0x23adc9)[_0xcf0b('0x1b')](_0x3408ea);}};}function respondWithFilteredResult(_0x449960,_0x4141bf){return function(_0xd9c70){if(_0xd9c70){var _0x3d2bc7=typeof _0x4141bf[_0xcf0b('0x1c')]==='undefined'&&typeof _0x4141bf[_0xcf0b('0x1d')]===_0xcf0b('0x1e');var _0x2996c8=_0xd9c70[_0xcf0b('0x1f')];var _0x37f557=_0x3d2bc7?0x0:_0x4141bf[_0xcf0b('0x1c')];var _0x52d655=_0x3d2bc7?_0xd9c70[_0xcf0b('0x1f')]:_0x4141bf[_0xcf0b('0x1c')]+_0x4141bf[_0xcf0b('0x1d')];var _0x23457e;if(_0x52d655>=_0x2996c8){_0x52d655=_0x2996c8;_0x23457e=0xc8;}else{_0x23457e=0xce;}_0x449960[_0xcf0b('0x19')](_0x23457e);return _0x449960[_0xcf0b('0x20')]('Content-Range',_0x37f557+'-'+_0x52d655+'/'+_0x2996c8)[_0xcf0b('0x1b')](_0xd9c70);}return null;};}function patchUpdates(_0xbc4ed8){return function(_0x47ac62){try{jsonpatch['apply'](_0x47ac62,_0xbc4ed8,!![]);}catch(_0x2e8fad){return BPromise['reject'](_0x2e8fad);}return _0x47ac62[_0xcf0b('0x21')]();};}function saveUpdates(_0x5bb661,_0x5dd1fc){return function(_0x31971f){if(_0x31971f){return _0x31971f[_0xcf0b('0x22')](_0x5bb661)[_0xcf0b('0x23')](function(_0x32a464){return _0x32a464;});}return null;};}function removeEntity(_0x2b9568,_0xb1625){return function(_0x432107){if(_0x432107){return _0x432107[_0xcf0b('0x24')]()[_0xcf0b('0x23')](function(){var _0x1994c7=_0x432107['get']({'plain':!![]});var _0x315af5=_0xcf0b('0x25');return db[_0xcf0b('0x26')][_0xcf0b('0x24')]({'where':{'type':_0x315af5,'resourceId':_0x1994c7['id']}})[_0xcf0b('0x23')](function(){return _0x432107;});})['then'](function(){_0x2b9568[_0xcf0b('0x19')](0xcc)[_0xcf0b('0x1a')]();});}};}function handleEntityNotFound(_0x3fbd23,_0x355eaf){return function(_0x4664f2){if(!_0x4664f2){_0x3fbd23[_0xcf0b('0x27')](0x194);}return _0x4664f2;};}function handleError(_0x36e123,_0x244b2c){_0x244b2c=_0x244b2c||0x1f4;return function(_0x354650){logger[_0xcf0b('0x28')](_0x354650['stack']);if(_0x354650[_0xcf0b('0x29')]){delete _0x354650[_0xcf0b('0x29')];}_0x36e123[_0xcf0b('0x19')](_0x244b2c)[_0xcf0b('0x2a')](_0x354650);};}exports[_0xcf0b('0x2b')]=function(_0x324fe7,_0xe4c576){var _0xa23007={},_0x49e8f3={},_0x18df8f={'count':0x0,'rows':[]};var _0x17c638=_['map'](db[_0xcf0b('0x2c')]['rawAttributes'],function(_0x219013){return{'name':_0x219013[_0xcf0b('0x2d')],'type':_0x219013[_0xcf0b('0x2e')][_0xcf0b('0x2f')]};});_0x49e8f3[_0xcf0b('0x30')]=_[_0xcf0b('0x31')](_0x17c638,'name');_0x49e8f3['query']=_[_0xcf0b('0x32')](_0x324fe7[_0xcf0b('0x33')]);_0x49e8f3[_0xcf0b('0x34')]=_['intersection'](_0x49e8f3[_0xcf0b('0x30')],_0x49e8f3[_0xcf0b('0x33')]);_0xa23007[_0xcf0b('0x35')]=_[_0xcf0b('0x36')](_0x49e8f3[_0xcf0b('0x30')],qs[_0xcf0b('0x37')](_0x324fe7[_0xcf0b('0x33')]['fields']));_0xa23007['attributes']=_0xa23007[_0xcf0b('0x35')]['length']?_0xa23007[_0xcf0b('0x35')]:_0x49e8f3[_0xcf0b('0x30')];if(!_0x324fe7['query']['hasOwnProperty'](_0xcf0b('0x38'))){_0xa23007[_0xcf0b('0x1d')]=qs['limit'](_0x324fe7[_0xcf0b('0x33')]['limit']);_0xa23007[_0xcf0b('0x1c')]=qs[_0xcf0b('0x1c')](_0x324fe7[_0xcf0b('0x33')]['offset']);}_0xa23007[_0xcf0b('0x39')]=qs[_0xcf0b('0x3a')](_0x324fe7[_0xcf0b('0x33')][_0xcf0b('0x3a')]);_0xa23007['where']=qs['filters'](_['pick'](_0x324fe7[_0xcf0b('0x33')],_0x49e8f3[_0xcf0b('0x34')]),_0x17c638);if(_0x324fe7[_0xcf0b('0x33')][_0xcf0b('0x3b')]){_0xa23007[_0xcf0b('0x3c')]=_[_0xcf0b('0x3d')](_0xa23007[_0xcf0b('0x3c')],{'$or':_[_0xcf0b('0x31')](_0x17c638,function(_0x36563b){if(_0x36563b[_0xcf0b('0x2e')]!==_0xcf0b('0x3e')){var _0x18e89b={};_0x18e89b[_0x36563b[_0xcf0b('0x29')]]={'$like':'%'+_0x324fe7[_0xcf0b('0x33')][_0xcf0b('0x3b')]+'%'};return _0x18e89b;}})});}_0xa23007=_[_0xcf0b('0x3d')]({},_0xa23007,_0x324fe7[_0xcf0b('0x3f')]);var _0x29f19d={'where':_0xa23007[_0xcf0b('0x3c')]};return db[_0xcf0b('0x2c')][_0xcf0b('0x1f')](_0x29f19d)['then'](function(_0x1dba65){_0x18df8f[_0xcf0b('0x1f')]=_0x1dba65;if(_0x324fe7[_0xcf0b('0x33')][_0xcf0b('0x40')]){_0xa23007[_0xcf0b('0x41')]=[{'all':!![]}];}return db[_0xcf0b('0x2c')]['findAll'](_0xa23007);})[_0xcf0b('0x23')](function(_0x21216d){_0x18df8f[_0xcf0b('0x42')]=_0x21216d;return _0x18df8f;})[_0xcf0b('0x23')](respondWithFilteredResult(_0xe4c576,_0xa23007))['catch'](handleError(_0xe4c576,null));};exports[_0xcf0b('0x43')]=function(_0x33f3f0,_0x11a939){var _0x7f44e6={'raw':!![],'where':{'id':_0x33f3f0[_0xcf0b('0x44')]['id']}},_0x11167c={};_0x11167c[_0xcf0b('0x30')]=_[_0xcf0b('0x32')](db[_0xcf0b('0x2c')][_0xcf0b('0x45')]);_0x11167c[_0xcf0b('0x33')]=_[_0xcf0b('0x32')](_0x33f3f0[_0xcf0b('0x33')]);_0x11167c[_0xcf0b('0x34')]=_['intersection'](_0x11167c[_0xcf0b('0x30')],_0x11167c[_0xcf0b('0x33')]);_0x7f44e6['attributes']=_[_0xcf0b('0x36')](_0x11167c[_0xcf0b('0x30')],qs[_0xcf0b('0x37')](_0x33f3f0[_0xcf0b('0x33')][_0xcf0b('0x37')]));_0x7f44e6[_0xcf0b('0x35')]=_0x7f44e6['attributes'][_0xcf0b('0x46')]?_0x7f44e6[_0xcf0b('0x35')]:_0x11167c['model'];if(_0x33f3f0['query']['includeAll']){_0x7f44e6[_0xcf0b('0x41')]=[{'all':!![]}];}_0x7f44e6=_['merge']({},_0x7f44e6,_0x33f3f0[_0xcf0b('0x3f')]);return db[_0xcf0b('0x2c')][_0xcf0b('0x47')](_0x7f44e6)[_0xcf0b('0x23')](handleEntityNotFound(_0x11a939,null))['then'](respondWithResult(_0x11a939,null))[_0xcf0b('0x48')](handleError(_0x11a939,null));};exports[_0xcf0b('0x49')]=function(_0x1e1009,_0x53207b){return db['Pause'][_0xcf0b('0x49')](_0x1e1009[_0xcf0b('0x4a')],{})[_0xcf0b('0x23')](function(_0x38b2d6){var _0x616fb2=_0x1e1009['user'][_0xcf0b('0x4b')]({'plain':!![]});if(!_0x616fb2)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x616fb2['role']===_0xcf0b('0x4c')){var _0x5bae48=_0x38b2d6['get']({'plain':!![]});var _0x197b4b=_0xcf0b('0x25');return db[_0xcf0b('0x4d')][_0xcf0b('0x47')]({'where':{'name':_0x197b4b,'userProfileId':_0x616fb2[_0xcf0b('0x4e')]},'raw':!![]})[_0xcf0b('0x23')](function(_0x2e8ca4){if(_0x2e8ca4&&_0x2e8ca4[_0xcf0b('0x4f')]===0x0){return db[_0xcf0b('0x26')][_0xcf0b('0x49')]({'name':_0x5bae48[_0xcf0b('0x29')],'resourceId':_0x5bae48['id'],'type':_0x2e8ca4['name'],'sectionId':_0x2e8ca4['id']},{})['then'](function(){return _0x38b2d6;});}else{return _0x38b2d6;}})[_0xcf0b('0x48')](function(_0x3e4041){logger['error'](_0xcf0b('0x50'),_0x3e4041);throw _0x3e4041;});}return _0x38b2d6;})[_0xcf0b('0x23')](respondWithResult(_0x53207b,0xc9))[_0xcf0b('0x48')](handleError(_0x53207b,null));};exports[_0xcf0b('0x22')]=function(_0x2b977c,_0x5d2583){if(_0x2b977c[_0xcf0b('0x4a')]['id']){delete _0x2b977c[_0xcf0b('0x4a')]['id'];}return db['Pause'][_0xcf0b('0x47')]({'where':{'id':_0x2b977c[_0xcf0b('0x44')]['id']}})[_0xcf0b('0x23')](handleEntityNotFound(_0x5d2583,null))[_0xcf0b('0x23')](saveUpdates(_0x2b977c[_0xcf0b('0x4a')],null))['then'](respondWithResult(_0x5d2583,null))[_0xcf0b('0x48')](handleError(_0x5d2583,null));};exports['destroy']=function(_0x3accb0,_0x5577d2){return db['Pause']['find']({'where':{'id':_0x3accb0['params']['id']}})[_0xcf0b('0x23')](handleEntityNotFound(_0x5577d2,null))[_0xcf0b('0x23')](removeEntity(_0x5577d2,null))[_0xcf0b('0x48')](handleError(_0x5577d2,null));};