Built motion from commit (unavailable).|2.5.13
[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 _0xa6bf=['rawAttributes','key','model','map','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','type','VIRTUAL','include','findAll','rows','catch','includeAll','options','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','mustache','util','path','to-csv','lodash','squel','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','Content-Range','reject','save','update','destroy','get','Pauses','UserProfileResource','then','error','name','send','index','Pause'];(function(_0x2326e8,_0x45bcb4){var _0x196d8b=function(_0x42e767){while(--_0x42e767){_0x2326e8['push'](_0x2326e8['shift']());}};_0x196d8b(++_0x45bcb4);}(_0xa6bf,0x122));var _0xfa6b=function(_0x14f069,_0x4f3e50){_0x14f069=_0x14f069-0x0;var _0x503e80=_0xa6bf[_0x14f069];return _0x503e80;};'use strict';var pdf=require(_0xfa6b('0x0'));var emlformat=require(_0xfa6b('0x1'));var rimraf=require(_0xfa6b('0x2'));var zipdir=require(_0xfa6b('0x3'));var jsonpatch=require(_0xfa6b('0x4'));var rp=require(_0xfa6b('0x5'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xfa6b('0x6'));var util=require(_0xfa6b('0x7'));var path=require(_0xfa6b('0x8'));var sox=require('sox');var csv=require(_0xfa6b('0x9'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xfa6b('0xa'));var squel=require(_0xfa6b('0xb'));var crypto=require('crypto');var jsforce=require(_0xfa6b('0xc'));var deskjs=require(_0xfa6b('0xd'));var toCsv=require('to-csv');var querystring=require(_0xfa6b('0xe'));var Papa=require(_0xfa6b('0xf'));var Redis=require('ioredis');var authService=require(_0xfa6b('0x10'));var qs=require(_0xfa6b('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0xfa6b('0x12'))(_0xfa6b('0x13'));var utils=require(_0xfa6b('0x14'));var config=require(_0xfa6b('0x15'));var licenseUtil=require(_0xfa6b('0x16'));var db=require(_0xfa6b('0x17'))['db'];function respondWithStatusCode(_0x17a594,_0x17f394){_0x17f394=_0x17f394||0xcc;return function(_0x294c35){if(_0x294c35){return _0x17a594[_0xfa6b('0x18')](_0x17f394);}return _0x17a594[_0xfa6b('0x19')](_0x17f394)[_0xfa6b('0x1a')]();};}function respondWithResult(_0x3c81da,_0x63479d){_0x63479d=_0x63479d||0xc8;return function(_0x493ad7){if(_0x493ad7){return _0x3c81da[_0xfa6b('0x19')](_0x63479d)[_0xfa6b('0x1b')](_0x493ad7);}};}function respondWithFilteredResult(_0x423230,_0x3755c4){return function(_0x5285a9){if(_0x5285a9){var _0x5697f2=_0x5285a9[_0xfa6b('0x1c')],_0x1a6c52=_0x3755c4[_0xfa6b('0x1d')],_0x8436a9=_0x3755c4[_0xfa6b('0x1d')]+_0x3755c4[_0xfa6b('0x1e')],_0x5650ec;if(_0x8436a9>=_0x5697f2){_0x8436a9=_0x5697f2;_0x5650ec=0xc8;}else{_0x5650ec=0xce;}_0x423230[_0xfa6b('0x19')](_0x5650ec);return _0x423230[_0xfa6b('0x1f')](_0xfa6b('0x20'),_0x1a6c52+'-'+_0x8436a9+'/'+_0x5697f2)[_0xfa6b('0x1b')](_0x5285a9);}return null;};}function patchUpdates(_0x5828db){return function(_0x59570e){try{jsonpatch['apply'](_0x59570e,_0x5828db,!![]);}catch(_0x25565b){return BPromise[_0xfa6b('0x21')](_0x25565b);}return _0x59570e[_0xfa6b('0x22')]();};}function saveUpdates(_0x2cce35,_0x4a1ca9){return function(_0x537846){if(_0x537846){return _0x537846[_0xfa6b('0x23')](_0x2cce35)['then'](function(_0x36f7b5){return _0x36f7b5;});}return null;};}function removeEntity(_0x251b46,_0x258617){return function(_0x601121){if(_0x601121){return _0x601121[_0xfa6b('0x24')]()['then'](function(){var _0x3318cd=_0x601121[_0xfa6b('0x25')]({'plain':!![]});var _0x4ab7ff=_0xfa6b('0x26');return db[_0xfa6b('0x27')]['destroy']({'where':{'type':_0x4ab7ff,'resourceId':_0x3318cd['id']}})[_0xfa6b('0x28')](function(){return _0x601121;});})['then'](function(){_0x251b46[_0xfa6b('0x19')](0xcc)[_0xfa6b('0x1a')]();});}};}function handleEntityNotFound(_0x356403,_0x199d27){return function(_0x1c6ec1){if(!_0x1c6ec1){_0x356403[_0xfa6b('0x18')](0x194);}return _0x1c6ec1;};}function handleError(_0x402782,_0x1ec372){_0x1ec372=_0x1ec372||0x1f4;return function(_0x4a9049){logger[_0xfa6b('0x29')](_0x4a9049['stack']);if(_0x4a9049[_0xfa6b('0x2a')]){delete _0x4a9049['name'];}_0x402782[_0xfa6b('0x19')](_0x1ec372)[_0xfa6b('0x2b')](_0x4a9049);};}exports[_0xfa6b('0x2c')]=function(_0x513ee2,_0x13ce6c){var _0x3e8acf={},_0x528744={},_0x2d83d1={'count':0x0,'rows':[]};var _0x1bc85a=_['map'](db[_0xfa6b('0x2d')][_0xfa6b('0x2e')],function(_0x19bb06){return{'name':_0x19bb06['fieldName'],'type':_0x19bb06['type'][_0xfa6b('0x2f')]};});_0x528744[_0xfa6b('0x30')]=_[_0xfa6b('0x31')](_0x1bc85a,_0xfa6b('0x2a'));_0x528744[_0xfa6b('0x32')]=_[_0xfa6b('0x33')](_0x513ee2[_0xfa6b('0x32')]);_0x528744[_0xfa6b('0x34')]=_['intersection'](_0x528744[_0xfa6b('0x30')],_0x528744[_0xfa6b('0x32')]);_0x3e8acf['attributes']=_[_0xfa6b('0x35')](_0x528744[_0xfa6b('0x30')],qs['fields'](_0x513ee2[_0xfa6b('0x32')][_0xfa6b('0x36')]));_0x3e8acf[_0xfa6b('0x37')]=_0x3e8acf[_0xfa6b('0x37')][_0xfa6b('0x38')]?_0x3e8acf[_0xfa6b('0x37')]:_0x528744['model'];if(!_0x513ee2['query'][_0xfa6b('0x39')](_0xfa6b('0x3a'))){_0x3e8acf['limit']=qs[_0xfa6b('0x1e')](_0x513ee2['query'][_0xfa6b('0x1e')]);_0x3e8acf[_0xfa6b('0x1d')]=qs[_0xfa6b('0x1d')](_0x513ee2['query'][_0xfa6b('0x1d')]);}_0x3e8acf[_0xfa6b('0x3b')]=qs[_0xfa6b('0x3c')](_0x513ee2[_0xfa6b('0x32')][_0xfa6b('0x3c')]);_0x3e8acf[_0xfa6b('0x3d')]=qs[_0xfa6b('0x34')](_[_0xfa6b('0x3e')](_0x513ee2[_0xfa6b('0x32')],_0x528744[_0xfa6b('0x34')]),_0x1bc85a);if(_0x513ee2[_0xfa6b('0x32')][_0xfa6b('0x3f')]){_0x3e8acf[_0xfa6b('0x3d')]=_[_0xfa6b('0x40')](_0x3e8acf[_0xfa6b('0x3d')],{'$or':_[_0xfa6b('0x31')](_0x1bc85a,function(_0x5b5707){if(_0x5b5707[_0xfa6b('0x41')]!==_0xfa6b('0x42')){var _0x488dd1={};_0x488dd1[_0x5b5707[_0xfa6b('0x2a')]]={'$like':'%'+_0x513ee2[_0xfa6b('0x32')][_0xfa6b('0x3f')]+'%'};return _0x488dd1;}})});}_0x3e8acf=_[_0xfa6b('0x40')]({},_0x3e8acf,_0x513ee2['options']);var _0x252be3={'where':_0x3e8acf['where']};return db[_0xfa6b('0x2d')]['count'](_0x252be3)[_0xfa6b('0x28')](function(_0xc5ee41){_0x2d83d1[_0xfa6b('0x1c')]=_0xc5ee41;if(_0x513ee2[_0xfa6b('0x32')]['includeAll']){_0x3e8acf[_0xfa6b('0x43')]=[{'all':!![]}];}return db['Pause'][_0xfa6b('0x44')](_0x3e8acf);})['then'](function(_0x545ded){_0x2d83d1[_0xfa6b('0x45')]=_0x545ded;return _0x2d83d1;})[_0xfa6b('0x28')](respondWithFilteredResult(_0x13ce6c,_0x3e8acf))[_0xfa6b('0x46')](handleError(_0x13ce6c,null));};exports['show']=function(_0x5a527e,_0x16b2de){var _0x1d6401={'raw':!![],'where':{'id':_0x5a527e['params']['id']}},_0x34cb2e={};_0x34cb2e[_0xfa6b('0x30')]=_[_0xfa6b('0x33')](db[_0xfa6b('0x2d')][_0xfa6b('0x2e')]);_0x34cb2e[_0xfa6b('0x32')]=_['keys'](_0x5a527e[_0xfa6b('0x32')]);_0x34cb2e['filters']=_[_0xfa6b('0x35')](_0x34cb2e[_0xfa6b('0x30')],_0x34cb2e['query']);_0x1d6401[_0xfa6b('0x37')]=_['intersection'](_0x34cb2e[_0xfa6b('0x30')],qs[_0xfa6b('0x36')](_0x5a527e['query']['fields']));_0x1d6401[_0xfa6b('0x37')]=_0x1d6401[_0xfa6b('0x37')][_0xfa6b('0x38')]?_0x1d6401['attributes']:_0x34cb2e[_0xfa6b('0x30')];if(_0x5a527e[_0xfa6b('0x32')][_0xfa6b('0x47')]){_0x1d6401[_0xfa6b('0x43')]=[{'all':!![]}];}_0x1d6401=_['merge']({},_0x1d6401,_0x5a527e[_0xfa6b('0x48')]);return db[_0xfa6b('0x2d')][_0xfa6b('0x49')](_0x1d6401)[_0xfa6b('0x28')](handleEntityNotFound(_0x16b2de,null))[_0xfa6b('0x28')](respondWithResult(_0x16b2de,null))[_0xfa6b('0x46')](handleError(_0x16b2de,null));};exports[_0xfa6b('0x4a')]=function(_0x3f3c53,_0x3d3c0c){return db[_0xfa6b('0x2d')][_0xfa6b('0x4a')](_0x3f3c53[_0xfa6b('0x4b')],{})['then'](function(_0x505957){var _0x24dbf0=_0x3f3c53[_0xfa6b('0x4c')][_0xfa6b('0x25')]({'plain':!![]});if(!_0x24dbf0)throw new Error(_0xfa6b('0x4d'));if(_0x24dbf0[_0xfa6b('0x4e')]===_0xfa6b('0x4c')){var _0x40e07b=_0x505957[_0xfa6b('0x25')]({'plain':!![]});var _0x28b45a=_0xfa6b('0x26');return db[_0xfa6b('0x4f')][_0xfa6b('0x49')]({'where':{'name':_0x28b45a,'userProfileId':_0x24dbf0[_0xfa6b('0x50')]},'raw':!![]})[_0xfa6b('0x28')](function(_0x28c4d8){if(_0x28c4d8&&_0x28c4d8[_0xfa6b('0x51')]===0x0){return db[_0xfa6b('0x27')][_0xfa6b('0x4a')]({'name':_0x40e07b[_0xfa6b('0x2a')],'resourceId':_0x40e07b['id'],'type':_0x28c4d8[_0xfa6b('0x2a')],'sectionId':_0x28c4d8['id']},{})['then'](function(){return _0x505957;});}else{return _0x505957;}})[_0xfa6b('0x46')](function(_0x42e6cd){logger[_0xfa6b('0x29')](_0xfa6b('0x52'),_0x42e6cd);throw _0x42e6cd;});}return _0x505957;})[_0xfa6b('0x28')](respondWithResult(_0x3d3c0c,0xc9))[_0xfa6b('0x46')](handleError(_0x3d3c0c,null));};exports[_0xfa6b('0x23')]=function(_0x34e806,_0xd8a96c){if(_0x34e806['body']['id']){delete _0x34e806[_0xfa6b('0x4b')]['id'];}return db['Pause']['find']({'where':{'id':_0x34e806[_0xfa6b('0x53')]['id']}})[_0xfa6b('0x28')](handleEntityNotFound(_0xd8a96c,null))['then'](saveUpdates(_0x34e806[_0xfa6b('0x4b')],null))[_0xfa6b('0x28')](respondWithResult(_0xd8a96c,null))[_0xfa6b('0x46')](handleError(_0xd8a96c,null));};exports[_0xfa6b('0x24')]=function(_0x50b14d,_0x55cac4){return db[_0xfa6b('0x2d')][_0xfa6b('0x49')]({'where':{'id':_0x50b14d[_0xfa6b('0x53')]['id']}})['then'](handleEntityNotFound(_0x55cac4,null))[_0xfa6b('0x28')](removeEntity(_0x55cac4,null))[_0xfa6b('0x46')](handleError(_0x55cac4,null));};