9bff91dc2995f92f8d2ce365ca969dded36ad6e4
[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 _0xa86b=['find','catch','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','autoAssociation','create','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','sox','to-csv','ejs','fs-extra','lodash','squel','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','offset','undefined','count','limit','set','Content-Range','json','apply','reject','save','update','then','destroy','get','Pauses','UserProfileResource','stack','send','map','Pause','rawAttributes','fieldName','type','name','query','keys','filters','model','attributes','intersection','fields','length','hasOwnProperty','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include'];(function(_0x359fe4,_0x50f9e4){var _0x32e4a3=function(_0x402764){while(--_0x402764){_0x359fe4['push'](_0x359fe4['shift']());}};_0x32e4a3(++_0x50f9e4);}(_0xa86b,0x1a5));var _0xba86=function(_0x1a5ff1,_0x2f8112){_0x1a5ff1=_0x1a5ff1-0x0;var _0x560120=_0xa86b[_0x1a5ff1];return _0x560120;};'use strict';var emlformat=require(_0xba86('0x0'));var rimraf=require(_0xba86('0x1'));var zipdir=require(_0xba86('0x2'));var jsonpatch=require(_0xba86('0x3'));var rp=require(_0xba86('0x4'));var moment=require(_0xba86('0x5'));var BPromise=require('bluebird');var Mustache=require(_0xba86('0x6'));var util=require(_0xba86('0x7'));var path=require('path');var sox=require(_0xba86('0x8'));var csv=require(_0xba86('0x9'));var ejs=require(_0xba86('0xa'));var fs=require('fs');var fs_extra=require(_0xba86('0xb'));var _=require(_0xba86('0xc'));var squel=require(_0xba86('0xd'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0xba86('0xe'));var toCsv=require(_0xba86('0x9'));var querystring=require(_0xba86('0xf'));var Papa=require(_0xba86('0x10'));var Redis=require(_0xba86('0x11'));var authService=require(_0xba86('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0xba86('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xba86('0x14'))(_0xba86('0x15'));var utils=require('../../config/utils');var config=require(_0xba86('0x16'));var licenseUtil=require(_0xba86('0x17'));var db=require(_0xba86('0x18'))['db'];function respondWithStatusCode(_0xa47291,_0x105e74){_0x105e74=_0x105e74||0xcc;return function(_0x1c6483){if(_0x1c6483){return _0xa47291[_0xba86('0x19')](_0x105e74);}return _0xa47291[_0xba86('0x1a')](_0x105e74)[_0xba86('0x1b')]();};}function respondWithResult(_0x630762,_0x2120c5){_0x2120c5=_0x2120c5||0xc8;return function(_0x4bdabb){if(_0x4bdabb){return _0x630762[_0xba86('0x1a')](_0x2120c5)['json'](_0x4bdabb);}};}function respondWithFilteredResult(_0x2e0e0e,_0xe03f9){return function(_0xd2f921){if(_0xd2f921){var _0x1a7b3a=typeof _0xe03f9[_0xba86('0x1c')]===_0xba86('0x1d')&&typeof _0xe03f9['limit']==='undefined';var _0x13ec2a=_0xd2f921[_0xba86('0x1e')];var _0x347813=_0x1a7b3a?0x0:_0xe03f9[_0xba86('0x1c')];var _0x174aaf=_0x1a7b3a?_0xd2f921[_0xba86('0x1e')]:_0xe03f9[_0xba86('0x1c')]+_0xe03f9[_0xba86('0x1f')];var _0x58e236;if(_0x174aaf>=_0x13ec2a){_0x174aaf=_0x13ec2a;_0x58e236=0xc8;}else{_0x58e236=0xce;}_0x2e0e0e[_0xba86('0x1a')](_0x58e236);return _0x2e0e0e[_0xba86('0x20')](_0xba86('0x21'),_0x347813+'-'+_0x174aaf+'/'+_0x13ec2a)[_0xba86('0x22')](_0xd2f921);}return null;};}function patchUpdates(_0x3baa13){return function(_0x8f2e37){try{jsonpatch[_0xba86('0x23')](_0x8f2e37,_0x3baa13,!![]);}catch(_0x3bb47c){return BPromise[_0xba86('0x24')](_0x3bb47c);}return _0x8f2e37[_0xba86('0x25')]();};}function saveUpdates(_0x422f37,_0x1c941d){return function(_0x5a18ba){if(_0x5a18ba){return _0x5a18ba[_0xba86('0x26')](_0x422f37)[_0xba86('0x27')](function(_0xb65196){return _0xb65196;});}return null;};}function removeEntity(_0x5cda1b,_0x1bded0){return function(_0x125dfd){if(_0x125dfd){return _0x125dfd[_0xba86('0x28')]()['then'](function(){var _0x56a223=_0x125dfd[_0xba86('0x29')]({'plain':!![]});var _0x45c12c=_0xba86('0x2a');return db[_0xba86('0x2b')][_0xba86('0x28')]({'where':{'type':_0x45c12c,'resourceId':_0x56a223['id']}})['then'](function(){return _0x125dfd;});})[_0xba86('0x27')](function(){_0x5cda1b[_0xba86('0x1a')](0xcc)[_0xba86('0x1b')]();});}};}function handleEntityNotFound(_0x3364de,_0x506888){return function(_0xc0007a){if(!_0xc0007a){_0x3364de[_0xba86('0x19')](0x194);}return _0xc0007a;};}function handleError(_0x382b03,_0x1395a1){_0x1395a1=_0x1395a1||0x1f4;return function(_0x188e3f){logger['error'](_0x188e3f[_0xba86('0x2c')]);if(_0x188e3f['name']){delete _0x188e3f['name'];}_0x382b03[_0xba86('0x1a')](_0x1395a1)[_0xba86('0x2d')](_0x188e3f);};}exports['index']=function(_0x122ef2,_0x14b908){var _0x4ee87f={},_0x1d6b02={},_0x575f1e={'count':0x0,'rows':[]};var _0x175aac=_[_0xba86('0x2e')](db[_0xba86('0x2f')][_0xba86('0x30')],function(_0x40f510){return{'name':_0x40f510[_0xba86('0x31')],'type':_0x40f510[_0xba86('0x32')]['key']};});_0x1d6b02['model']=_[_0xba86('0x2e')](_0x175aac,_0xba86('0x33'));_0x1d6b02[_0xba86('0x34')]=_[_0xba86('0x35')](_0x122ef2[_0xba86('0x34')]);_0x1d6b02[_0xba86('0x36')]=_['intersection'](_0x1d6b02[_0xba86('0x37')],_0x1d6b02['query']);_0x4ee87f[_0xba86('0x38')]=_[_0xba86('0x39')](_0x1d6b02[_0xba86('0x37')],qs['fields'](_0x122ef2[_0xba86('0x34')][_0xba86('0x3a')]));_0x4ee87f[_0xba86('0x38')]=_0x4ee87f['attributes'][_0xba86('0x3b')]?_0x4ee87f[_0xba86('0x38')]:_0x1d6b02['model'];if(!_0x122ef2[_0xba86('0x34')][_0xba86('0x3c')]('nolimit')){_0x4ee87f[_0xba86('0x1f')]=qs['limit'](_0x122ef2['query'][_0xba86('0x1f')]);_0x4ee87f['offset']=qs['offset'](_0x122ef2['query']['offset']);}_0x4ee87f[_0xba86('0x3d')]=qs[_0xba86('0x3e')](_0x122ef2['query'][_0xba86('0x3e')]);_0x4ee87f[_0xba86('0x3f')]=qs['filters'](_[_0xba86('0x40')](_0x122ef2[_0xba86('0x34')],_0x1d6b02[_0xba86('0x36')]),_0x175aac);if(_0x122ef2[_0xba86('0x34')][_0xba86('0x41')]){_0x4ee87f['where']=_[_0xba86('0x42')](_0x4ee87f[_0xba86('0x3f')],{'$or':_[_0xba86('0x2e')](_0x175aac,function(_0x552536){if(_0x552536[_0xba86('0x32')]!==_0xba86('0x43')){var _0x2edcff={};_0x2edcff[_0x552536[_0xba86('0x33')]]={'$like':'%'+_0x122ef2[_0xba86('0x34')][_0xba86('0x41')]+'%'};return _0x2edcff;}})});}_0x4ee87f=_[_0xba86('0x42')]({},_0x4ee87f,_0x122ef2[_0xba86('0x44')]);var _0x1df6a0={'where':_0x4ee87f[_0xba86('0x3f')]};return db[_0xba86('0x2f')]['count'](_0x1df6a0)['then'](function(_0x18107a){_0x575f1e[_0xba86('0x1e')]=_0x18107a;if(_0x122ef2[_0xba86('0x34')][_0xba86('0x45')]){_0x4ee87f[_0xba86('0x46')]=[{'all':!![]}];}return db['Pause']['findAll'](_0x4ee87f);})[_0xba86('0x27')](function(_0x2cf78f){_0x575f1e['rows']=_0x2cf78f;return _0x575f1e;})[_0xba86('0x27')](respondWithFilteredResult(_0x14b908,_0x4ee87f))['catch'](handleError(_0x14b908,null));};exports['show']=function(_0x24f5db,_0x39fbe6){var _0x55324f={'raw':!![],'where':{'id':_0x24f5db['params']['id']}},_0x286e86={};_0x286e86[_0xba86('0x37')]=_['keys'](db[_0xba86('0x2f')]['rawAttributes']);_0x286e86['query']=_[_0xba86('0x35')](_0x24f5db[_0xba86('0x34')]);_0x286e86[_0xba86('0x36')]=_[_0xba86('0x39')](_0x286e86[_0xba86('0x37')],_0x286e86[_0xba86('0x34')]);_0x55324f[_0xba86('0x38')]=_[_0xba86('0x39')](_0x286e86['model'],qs[_0xba86('0x3a')](_0x24f5db[_0xba86('0x34')][_0xba86('0x3a')]));_0x55324f['attributes']=_0x55324f[_0xba86('0x38')]['length']?_0x55324f[_0xba86('0x38')]:_0x286e86['model'];if(_0x24f5db[_0xba86('0x34')]['includeAll']){_0x55324f[_0xba86('0x46')]=[{'all':!![]}];}_0x55324f=_['merge']({},_0x55324f,_0x24f5db[_0xba86('0x44')]);return db[_0xba86('0x2f')][_0xba86('0x47')](_0x55324f)[_0xba86('0x27')](handleEntityNotFound(_0x39fbe6,null))[_0xba86('0x27')](respondWithResult(_0x39fbe6,null))[_0xba86('0x48')](handleError(_0x39fbe6,null));};exports['create']=function(_0x235f45,_0xafe5af){return db['Pause']['create'](_0x235f45[_0xba86('0x49')],{})['then'](function(_0x39c6ac){var _0x2b2dd9=_0x235f45[_0xba86('0x4a')][_0xba86('0x29')]({'plain':!![]});if(!_0x2b2dd9)throw new Error(_0xba86('0x4b'));if(_0x2b2dd9['role']===_0xba86('0x4a')){var _0x52fcd4=_0x39c6ac[_0xba86('0x29')]({'plain':!![]});var _0x4b5248=_0xba86('0x2a');return db[_0xba86('0x4c')][_0xba86('0x47')]({'where':{'name':_0x4b5248,'userProfileId':_0x2b2dd9['userProfileId']},'raw':!![]})['then'](function(_0x3cde35){if(_0x3cde35&&_0x3cde35[_0xba86('0x4d')]===0x0){return db[_0xba86('0x2b')][_0xba86('0x4e')]({'name':_0x52fcd4[_0xba86('0x33')],'resourceId':_0x52fcd4['id'],'type':_0x3cde35[_0xba86('0x33')],'sectionId':_0x3cde35['id']},{})[_0xba86('0x27')](function(){return _0x39c6ac;});}else{return _0x39c6ac;}})['catch'](function(_0x1ca426){logger[_0xba86('0x4f')](_0xba86('0x50'),_0x1ca426);throw _0x1ca426;});}return _0x39c6ac;})[_0xba86('0x27')](respondWithResult(_0xafe5af,0xc9))[_0xba86('0x48')](handleError(_0xafe5af,null));};exports[_0xba86('0x26')]=function(_0x3bcb7d,_0x555935){if(_0x3bcb7d[_0xba86('0x49')]['id']){delete _0x3bcb7d[_0xba86('0x49')]['id'];}return db[_0xba86('0x2f')][_0xba86('0x47')]({'where':{'id':_0x3bcb7d[_0xba86('0x51')]['id']}})[_0xba86('0x27')](handleEntityNotFound(_0x555935,null))[_0xba86('0x27')](saveUpdates(_0x3bcb7d[_0xba86('0x49')],null))[_0xba86('0x27')](respondWithResult(_0x555935,null))[_0xba86('0x48')](handleError(_0x555935,null));};exports['destroy']=function(_0x5113a1,_0x182bb4){return db[_0xba86('0x2f')][_0xba86('0x47')]({'where':{'id':_0x5113a1[_0xba86('0x51')]['id']}})[_0xba86('0x27')](handleEntityNotFound(_0x182bb4,null))[_0xba86('0x27')](removeEntity(_0x182bb4,null))[_0xba86('0x48')](handleError(_0x182bb4,null));};