394759713d0f19bb4da55d4e5764b1eb33cffe97
[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 _0x42bb=['user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','body','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','offset','undefined','limit','count','Content-Range','json','apply','reject','save','then','destroy','get','Pauses','UserProfileResource','error','stack','name','send','map','fieldName','model','query','keys','filters','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','merge','type','VIRTUAL','filter','options','Pause','rows','catch','show','params','rawAttributes','intersection','includeAll','include','find','create'];(function(_0x27f3aa,_0x2608a1){var _0x54982b=function(_0x530079){while(--_0x530079){_0x27f3aa['push'](_0x27f3aa['shift']());}};_0x54982b(++_0x2608a1);}(_0x42bb,0x164));var _0xb42b=function(_0x2a6809,_0x44edde){_0x2a6809=_0x2a6809-0x0;var _0x11c371=_0x42bb[_0x2a6809];return _0x11c371;};'use strict';var emlformat=require(_0xb42b('0x0'));var rimraf=require(_0xb42b('0x1'));var zipdir=require(_0xb42b('0x2'));var jsonpatch=require(_0xb42b('0x3'));var rp=require('request-promise');var moment=require(_0xb42b('0x4'));var BPromise=require(_0xb42b('0x5'));var Mustache=require(_0xb42b('0x6'));var util=require(_0xb42b('0x7'));var path=require(_0xb42b('0x8'));var sox=require(_0xb42b('0x9'));var csv=require(_0xb42b('0xa'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xb42b('0xb'));var _=require(_0xb42b('0xc'));var squel=require('squel');var crypto=require(_0xb42b('0xd'));var jsforce=require(_0xb42b('0xe'));var deskjs=require(_0xb42b('0xf'));var toCsv=require(_0xb42b('0xa'));var querystring=require(_0xb42b('0x10'));var Papa=require(_0xb42b('0x11'));var Redis=require(_0xb42b('0x12'));var authService=require(_0xb42b('0x13'));var qs=require(_0xb42b('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xb42b('0x15'));var logger=require(_0xb42b('0x16'))(_0xb42b('0x17'));var utils=require(_0xb42b('0x18'));var config=require(_0xb42b('0x19'));var licenseUtil=require(_0xb42b('0x1a'));var db=require(_0xb42b('0x1b'))['db'];function respondWithStatusCode(_0x2c3481,_0x4562d4){_0x4562d4=_0x4562d4||0xcc;return function(_0x5e8df4){if(_0x5e8df4){return _0x2c3481[_0xb42b('0x1c')](_0x4562d4);}return _0x2c3481[_0xb42b('0x1d')](_0x4562d4)[_0xb42b('0x1e')]();};}function respondWithResult(_0x11d30c,_0x551430){_0x551430=_0x551430||0xc8;return function(_0x10f39b){if(_0x10f39b){return _0x11d30c[_0xb42b('0x1d')](_0x551430)['json'](_0x10f39b);}};}function respondWithFilteredResult(_0x5c30d4,_0x118a1c){return function(_0x3665ec){if(_0x3665ec){var _0x596a5d=typeof _0x118a1c[_0xb42b('0x1f')]===_0xb42b('0x20')&&typeof _0x118a1c[_0xb42b('0x21')]===_0xb42b('0x20');var _0x1cf96a=_0x3665ec[_0xb42b('0x22')];var _0x19c6d6=_0x596a5d?0x0:_0x118a1c['offset'];var _0x23494c=_0x596a5d?_0x3665ec[_0xb42b('0x22')]:_0x118a1c[_0xb42b('0x1f')]+_0x118a1c[_0xb42b('0x21')];var _0x30c105;if(_0x23494c>=_0x1cf96a){_0x23494c=_0x1cf96a;_0x30c105=0xc8;}else{_0x30c105=0xce;}_0x5c30d4['status'](_0x30c105);return _0x5c30d4['set'](_0xb42b('0x23'),_0x19c6d6+'-'+_0x23494c+'/'+_0x1cf96a)[_0xb42b('0x24')](_0x3665ec);}return null;};}function patchUpdates(_0x2051b8){return function(_0xe247ec){try{jsonpatch[_0xb42b('0x25')](_0xe247ec,_0x2051b8,!![]);}catch(_0x2fb0cb){return BPromise[_0xb42b('0x26')](_0x2fb0cb);}return _0xe247ec[_0xb42b('0x27')]();};}function saveUpdates(_0x36365b,_0x3c25cc){return function(_0x393850){if(_0x393850){return _0x393850['update'](_0x36365b)[_0xb42b('0x28')](function(_0x1ee251){return _0x1ee251;});}return null;};}function removeEntity(_0x59361b,_0x195312){return function(_0x376b3c){if(_0x376b3c){return _0x376b3c[_0xb42b('0x29')]()[_0xb42b('0x28')](function(){var _0x3d6d1e=_0x376b3c[_0xb42b('0x2a')]({'plain':!![]});var _0x9b832=_0xb42b('0x2b');return db[_0xb42b('0x2c')][_0xb42b('0x29')]({'where':{'type':_0x9b832,'resourceId':_0x3d6d1e['id']}})['then'](function(){return _0x376b3c;});})[_0xb42b('0x28')](function(){_0x59361b['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x5be8e6,_0x28eac9){return function(_0x4c3df4){if(!_0x4c3df4){_0x5be8e6[_0xb42b('0x1c')](0x194);}return _0x4c3df4;};}function handleError(_0x51b97f,_0x252fad){_0x252fad=_0x252fad||0x1f4;return function(_0x42ed51){logger[_0xb42b('0x2d')](_0x42ed51[_0xb42b('0x2e')]);if(_0x42ed51[_0xb42b('0x2f')]){delete _0x42ed51[_0xb42b('0x2f')];}_0x51b97f[_0xb42b('0x1d')](_0x252fad)[_0xb42b('0x30')](_0x42ed51);};}exports['index']=function(_0x4220cb,_0x198a7c){var _0x414c7e={},_0x2e9cf4={},_0x5ec7da={'count':0x0,'rows':[]};var _0x2dcfa4=_[_0xb42b('0x31')](db['Pause']['rawAttributes'],function(_0x3c52cb){return{'name':_0x3c52cb[_0xb42b('0x32')],'type':_0x3c52cb['type']['key']};});_0x2e9cf4[_0xb42b('0x33')]=_['map'](_0x2dcfa4,_0xb42b('0x2f'));_0x2e9cf4[_0xb42b('0x34')]=_[_0xb42b('0x35')](_0x4220cb['query']);_0x2e9cf4[_0xb42b('0x36')]=_['intersection'](_0x2e9cf4[_0xb42b('0x33')],_0x2e9cf4[_0xb42b('0x34')]);_0x414c7e[_0xb42b('0x37')]=_['intersection'](_0x2e9cf4['model'],qs[_0xb42b('0x38')](_0x4220cb[_0xb42b('0x34')]['fields']));_0x414c7e[_0xb42b('0x37')]=_0x414c7e['attributes'][_0xb42b('0x39')]?_0x414c7e[_0xb42b('0x37')]:_0x2e9cf4[_0xb42b('0x33')];if(!_0x4220cb[_0xb42b('0x34')][_0xb42b('0x3a')](_0xb42b('0x3b'))){_0x414c7e[_0xb42b('0x21')]=qs[_0xb42b('0x21')](_0x4220cb[_0xb42b('0x34')][_0xb42b('0x21')]);_0x414c7e[_0xb42b('0x1f')]=qs[_0xb42b('0x1f')](_0x4220cb['query'][_0xb42b('0x1f')]);}_0x414c7e[_0xb42b('0x3c')]=qs[_0xb42b('0x3d')](_0x4220cb[_0xb42b('0x34')][_0xb42b('0x3d')]);_0x414c7e[_0xb42b('0x3e')]=qs[_0xb42b('0x36')](_['pick'](_0x4220cb[_0xb42b('0x34')],_0x2e9cf4[_0xb42b('0x36')]),_0x2dcfa4);if(_0x4220cb[_0xb42b('0x34')]['filter']){_0x414c7e[_0xb42b('0x3e')]=_[_0xb42b('0x3f')](_0x414c7e[_0xb42b('0x3e')],{'$or':_['map'](_0x2dcfa4,function(_0x590f92){if(_0x590f92[_0xb42b('0x40')]!==_0xb42b('0x41')){var _0x6af4d1={};_0x6af4d1[_0x590f92[_0xb42b('0x2f')]]={'$like':'%'+_0x4220cb[_0xb42b('0x34')][_0xb42b('0x42')]+'%'};return _0x6af4d1;}})});}_0x414c7e=_[_0xb42b('0x3f')]({},_0x414c7e,_0x4220cb[_0xb42b('0x43')]);var _0x4dd93a={'where':_0x414c7e['where']};return db[_0xb42b('0x44')][_0xb42b('0x22')](_0x4dd93a)[_0xb42b('0x28')](function(_0x559a7d){_0x5ec7da[_0xb42b('0x22')]=_0x559a7d;if(_0x4220cb[_0xb42b('0x34')]['includeAll']){_0x414c7e['include']=[{'all':!![]}];}return db[_0xb42b('0x44')]['findAll'](_0x414c7e);})[_0xb42b('0x28')](function(_0x8aeed8){_0x5ec7da[_0xb42b('0x45')]=_0x8aeed8;return _0x5ec7da;})[_0xb42b('0x28')](respondWithFilteredResult(_0x198a7c,_0x414c7e))[_0xb42b('0x46')](handleError(_0x198a7c,null));};exports[_0xb42b('0x47')]=function(_0x632891,_0x7d1de2){var _0x29bb70={'raw':!![],'where':{'id':_0x632891[_0xb42b('0x48')]['id']}},_0x59e8f3={};_0x59e8f3[_0xb42b('0x33')]=_['keys'](db[_0xb42b('0x44')][_0xb42b('0x49')]);_0x59e8f3['query']=_['keys'](_0x632891[_0xb42b('0x34')]);_0x59e8f3[_0xb42b('0x36')]=_[_0xb42b('0x4a')](_0x59e8f3['model'],_0x59e8f3[_0xb42b('0x34')]);_0x29bb70[_0xb42b('0x37')]=_[_0xb42b('0x4a')](_0x59e8f3['model'],qs[_0xb42b('0x38')](_0x632891['query'][_0xb42b('0x38')]));_0x29bb70[_0xb42b('0x37')]=_0x29bb70[_0xb42b('0x37')][_0xb42b('0x39')]?_0x29bb70[_0xb42b('0x37')]:_0x59e8f3[_0xb42b('0x33')];if(_0x632891['query'][_0xb42b('0x4b')]){_0x29bb70[_0xb42b('0x4c')]=[{'all':!![]}];}_0x29bb70=_[_0xb42b('0x3f')]({},_0x29bb70,_0x632891[_0xb42b('0x43')]);return db[_0xb42b('0x44')][_0xb42b('0x4d')](_0x29bb70)[_0xb42b('0x28')](handleEntityNotFound(_0x7d1de2,null))['then'](respondWithResult(_0x7d1de2,null))[_0xb42b('0x46')](handleError(_0x7d1de2,null));};exports[_0xb42b('0x4e')]=function(_0x4c3401,_0x16f2e5){return db[_0xb42b('0x44')]['create'](_0x4c3401['body'],{})['then'](function(_0x52b79e){var _0x2d6128=_0x4c3401[_0xb42b('0x4f')][_0xb42b('0x2a')]({'plain':!![]});if(!_0x2d6128)throw new Error(_0xb42b('0x50'));if(_0x2d6128[_0xb42b('0x51')]===_0xb42b('0x4f')){var _0x54b959=_0x52b79e['get']({'plain':!![]});var _0x1c7ee1=_0xb42b('0x2b');return db[_0xb42b('0x52')][_0xb42b('0x4d')]({'where':{'name':_0x1c7ee1,'userProfileId':_0x2d6128[_0xb42b('0x53')]},'raw':!![]})[_0xb42b('0x28')](function(_0x74de67){if(_0x74de67&&_0x74de67['autoAssociation']===0x0){return db[_0xb42b('0x2c')]['create']({'name':_0x54b959['name'],'resourceId':_0x54b959['id'],'type':_0x74de67[_0xb42b('0x2f')],'sectionId':_0x74de67['id']},{})[_0xb42b('0x28')](function(){return _0x52b79e;});}else{return _0x52b79e;}})[_0xb42b('0x46')](function(_0x3c2b61){logger[_0xb42b('0x2d')](_0xb42b('0x54'),_0x3c2b61);throw _0x3c2b61;});}return _0x52b79e;})[_0xb42b('0x28')](respondWithResult(_0x16f2e5,0xc9))['catch'](handleError(_0x16f2e5,null));};exports[_0xb42b('0x55')]=function(_0x5ed6fb,_0x57cc72){if(_0x5ed6fb[_0xb42b('0x56')]['id']){delete _0x5ed6fb['body']['id'];}return db['Pause'][_0xb42b('0x4d')]({'where':{'id':_0x5ed6fb[_0xb42b('0x48')]['id']}})[_0xb42b('0x28')](handleEntityNotFound(_0x57cc72,null))[_0xb42b('0x28')](saveUpdates(_0x5ed6fb[_0xb42b('0x56')],null))[_0xb42b('0x28')](respondWithResult(_0x57cc72,null))[_0xb42b('0x46')](handleError(_0x57cc72,null));};exports['destroy']=function(_0x58a5e0,_0x48e8d5){return db[_0xb42b('0x44')][_0xb42b('0x4d')]({'where':{'id':_0x58a5e0[_0xb42b('0x48')]['id']}})[_0xb42b('0x28')](handleEntityNotFound(_0x48e8d5,null))[_0xb42b('0x28')](removeEntity(_0x48e8d5,null))[_0xb42b('0x46')](handleError(_0x48e8d5,null));};