Built motion from commit 3e059bc2.|2.5.32
[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 _0xde6f=['util','path','sox','ejs','fs-extra','squel','crypto','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','json','undefined','count','offset','limit','reject','save','then','get','Pauses','UserProfileResource','end','stack','name','send','index','Pause','rawAttributes','type','key','map','filters','query','attributes','intersection','model','fields','length','hasOwnProperty','order','sort','where','pick','merge','VIRTUAL','filter','options','includeAll','findAll','rows','catch','show','params','keys','include','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','userProfileId','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','destroy','eml-format','rimraf','zip-dir','request-promise'];(function(_0x5a5967,_0x29f732){var _0x48ad71=function(_0x361635){while(--_0x361635){_0x5a5967['push'](_0x5a5967['shift']());}};_0x48ad71(++_0x29f732);}(_0xde6f,0x140));var _0xfde6=function(_0x20a584,_0xe384a5){_0x20a584=_0x20a584-0x0;var _0x4b41a8=_0xde6f[_0x20a584];return _0x4b41a8;};'use strict';var emlformat=require(_0xfde6('0x0'));var rimraf=require(_0xfde6('0x1'));var zipdir=require(_0xfde6('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xfde6('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xfde6('0x4'));var path=require(_0xfde6('0x5'));var sox=require(_0xfde6('0x6'));var csv=require('to-csv');var ejs=require(_0xfde6('0x7'));var fs=require('fs');var fs_extra=require(_0xfde6('0x8'));var _=require('lodash');var squel=require(_0xfde6('0x9'));var crypto=require(_0xfde6('0xa'));var jsforce=require('jsforce');var deskjs=require(_0xfde6('0xb'));var toCsv=require(_0xfde6('0xc'));var querystring=require(_0xfde6('0xd'));var Papa=require(_0xfde6('0xe'));var Redis=require(_0xfde6('0xf'));var authService=require(_0xfde6('0x10'));var qs=require(_0xfde6('0x11'));var as=require(_0xfde6('0x12'));var hardwareService=require(_0xfde6('0x13'));var logger=require(_0xfde6('0x14'))('api');var utils=require(_0xfde6('0x15'));var config=require(_0xfde6('0x16'));var licenseUtil=require(_0xfde6('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x26daaf,_0xaa75c2){_0xaa75c2=_0xaa75c2||0xcc;return function(_0x599dae){if(_0x599dae){return _0x26daaf[_0xfde6('0x18')](_0xaa75c2);}return _0x26daaf[_0xfde6('0x19')](_0xaa75c2)['end']();};}function respondWithResult(_0x22b10d,_0x22df6d){_0x22df6d=_0x22df6d||0xc8;return function(_0xdf250e){if(_0xdf250e){return _0x22b10d[_0xfde6('0x19')](_0x22df6d)[_0xfde6('0x1a')](_0xdf250e);}};}function respondWithFilteredResult(_0x4857bc,_0x2a3bac){return function(_0x4bf227){if(_0x4bf227){var _0x3a5df2=typeof _0x2a3bac['offset']===_0xfde6('0x1b')&&typeof _0x2a3bac['limit']===_0xfde6('0x1b');var _0x3a6eae=_0x4bf227[_0xfde6('0x1c')];var _0x4402f1=_0x3a5df2?0x0:_0x2a3bac[_0xfde6('0x1d')];var _0x8eb30a=_0x3a5df2?_0x4bf227['count']:_0x2a3bac['offset']+_0x2a3bac[_0xfde6('0x1e')];var _0x3d8d9e;if(_0x8eb30a>=_0x3a6eae){_0x8eb30a=_0x3a6eae;_0x3d8d9e=0xc8;}else{_0x3d8d9e=0xce;}_0x4857bc[_0xfde6('0x19')](_0x3d8d9e);return _0x4857bc['set']('Content-Range',_0x4402f1+'-'+_0x8eb30a+'/'+_0x3a6eae)[_0xfde6('0x1a')](_0x4bf227);}return null;};}function patchUpdates(_0x2b7ca6){return function(_0xcaa24e){try{jsonpatch['apply'](_0xcaa24e,_0x2b7ca6,!![]);}catch(_0x332419){return BPromise[_0xfde6('0x1f')](_0x332419);}return _0xcaa24e[_0xfde6('0x20')]();};}function saveUpdates(_0x1863f7,_0x1b19dd){return function(_0x5b1e87){if(_0x5b1e87){return _0x5b1e87['update'](_0x1863f7)[_0xfde6('0x21')](function(_0x3595f4){return _0x3595f4;});}return null;};}function removeEntity(_0x4cbf7d,_0x40fbb8){return function(_0xcd7a3c){if(_0xcd7a3c){return _0xcd7a3c['destroy']()[_0xfde6('0x21')](function(){var _0x118372=_0xcd7a3c[_0xfde6('0x22')]({'plain':!![]});var _0x2b3b45=_0xfde6('0x23');return db[_0xfde6('0x24')]['destroy']({'where':{'type':_0x2b3b45,'resourceId':_0x118372['id']}})[_0xfde6('0x21')](function(){return _0xcd7a3c;});})[_0xfde6('0x21')](function(){_0x4cbf7d['status'](0xcc)[_0xfde6('0x25')]();});}};}function handleEntityNotFound(_0x1be965,_0x46ff4f){return function(_0x5c5688){if(!_0x5c5688){_0x1be965[_0xfde6('0x18')](0x194);}return _0x5c5688;};}function handleError(_0x5d36fa,_0xa08895){_0xa08895=_0xa08895||0x1f4;return function(_0x3e0e7d){logger['error'](_0x3e0e7d[_0xfde6('0x26')]);if(_0x3e0e7d['name']){delete _0x3e0e7d[_0xfde6('0x27')];}_0x5d36fa[_0xfde6('0x19')](_0xa08895)[_0xfde6('0x28')](_0x3e0e7d);};}exports[_0xfde6('0x29')]=function(_0x4ab328,_0x247825){var _0x157358={},_0x1deb68={},_0xb01efc={'count':0x0,'rows':[]};var _0x263551=_['map'](db[_0xfde6('0x2a')][_0xfde6('0x2b')],function(_0x434fd4){return{'name':_0x434fd4['fieldName'],'type':_0x434fd4[_0xfde6('0x2c')][_0xfde6('0x2d')]};});_0x1deb68['model']=_[_0xfde6('0x2e')](_0x263551,'name');_0x1deb68['query']=_['keys'](_0x4ab328['query']);_0x1deb68[_0xfde6('0x2f')]=_['intersection'](_0x1deb68['model'],_0x1deb68[_0xfde6('0x30')]);_0x157358[_0xfde6('0x31')]=_[_0xfde6('0x32')](_0x1deb68[_0xfde6('0x33')],qs[_0xfde6('0x34')](_0x4ab328['query'][_0xfde6('0x34')]));_0x157358[_0xfde6('0x31')]=_0x157358['attributes'][_0xfde6('0x35')]?_0x157358[_0xfde6('0x31')]:_0x1deb68[_0xfde6('0x33')];if(!_0x4ab328[_0xfde6('0x30')][_0xfde6('0x36')]('nolimit')){_0x157358[_0xfde6('0x1e')]=qs[_0xfde6('0x1e')](_0x4ab328['query'][_0xfde6('0x1e')]);_0x157358[_0xfde6('0x1d')]=qs[_0xfde6('0x1d')](_0x4ab328[_0xfde6('0x30')][_0xfde6('0x1d')]);}_0x157358[_0xfde6('0x37')]=qs[_0xfde6('0x38')](_0x4ab328[_0xfde6('0x30')]['sort']);_0x157358[_0xfde6('0x39')]=qs['filters'](_[_0xfde6('0x3a')](_0x4ab328[_0xfde6('0x30')],_0x1deb68[_0xfde6('0x2f')]),_0x263551);if(_0x4ab328[_0xfde6('0x30')]['filter']){_0x157358[_0xfde6('0x39')]=_[_0xfde6('0x3b')](_0x157358[_0xfde6('0x39')],{'$or':_[_0xfde6('0x2e')](_0x263551,function(_0x51a63f){if(_0x51a63f[_0xfde6('0x2c')]!==_0xfde6('0x3c')){var _0x258b00={};_0x258b00[_0x51a63f[_0xfde6('0x27')]]={'$like':'%'+_0x4ab328[_0xfde6('0x30')][_0xfde6('0x3d')]+'%'};return _0x258b00;}})});}_0x157358=_['merge']({},_0x157358,_0x4ab328[_0xfde6('0x3e')]);var _0xf4ef24={'where':_0x157358[_0xfde6('0x39')]};return db['Pause'][_0xfde6('0x1c')](_0xf4ef24)[_0xfde6('0x21')](function(_0x117499){_0xb01efc[_0xfde6('0x1c')]=_0x117499;if(_0x4ab328[_0xfde6('0x30')][_0xfde6('0x3f')]){_0x157358['include']=[{'all':!![]}];}return db['Pause'][_0xfde6('0x40')](_0x157358);})['then'](function(_0x27b456){_0xb01efc[_0xfde6('0x41')]=_0x27b456;return _0xb01efc;})[_0xfde6('0x21')](respondWithFilteredResult(_0x247825,_0x157358))[_0xfde6('0x42')](handleError(_0x247825,null));};exports[_0xfde6('0x43')]=function(_0x11018b,_0x3dba3c){var _0x6d9470={'raw':!![],'where':{'id':_0x11018b[_0xfde6('0x44')]['id']}},_0x474232={};_0x474232[_0xfde6('0x33')]=_[_0xfde6('0x45')](db[_0xfde6('0x2a')][_0xfde6('0x2b')]);_0x474232[_0xfde6('0x30')]=_[_0xfde6('0x45')](_0x11018b['query']);_0x474232[_0xfde6('0x2f')]=_[_0xfde6('0x32')](_0x474232[_0xfde6('0x33')],_0x474232[_0xfde6('0x30')]);_0x6d9470[_0xfde6('0x31')]=_['intersection'](_0x474232[_0xfde6('0x33')],qs['fields'](_0x11018b['query'][_0xfde6('0x34')]));_0x6d9470['attributes']=_0x6d9470['attributes'][_0xfde6('0x35')]?_0x6d9470[_0xfde6('0x31')]:_0x474232[_0xfde6('0x33')];if(_0x11018b[_0xfde6('0x30')][_0xfde6('0x3f')]){_0x6d9470[_0xfde6('0x46')]=[{'all':!![]}];}_0x6d9470=_[_0xfde6('0x3b')]({},_0x6d9470,_0x11018b[_0xfde6('0x3e')]);return db[_0xfde6('0x2a')][_0xfde6('0x47')](_0x6d9470)[_0xfde6('0x21')](handleEntityNotFound(_0x3dba3c,null))[_0xfde6('0x21')](respondWithResult(_0x3dba3c,null))[_0xfde6('0x42')](handleError(_0x3dba3c,null));};exports[_0xfde6('0x48')]=function(_0x40be50,_0x2241d4){return db[_0xfde6('0x2a')][_0xfde6('0x48')](_0x40be50[_0xfde6('0x49')],{})['then'](function(_0x122619){var _0x447000=_0x40be50[_0xfde6('0x4a')][_0xfde6('0x22')]({'plain':!![]});if(!_0x447000)throw new Error(_0xfde6('0x4b'));if(_0x447000['role']===_0xfde6('0x4a')){var _0x353551=_0x122619[_0xfde6('0x22')]({'plain':!![]});var _0x1be3d1='Pauses';return db['UserProfileSection'][_0xfde6('0x47')]({'where':{'name':_0x1be3d1,'userProfileId':_0x447000[_0xfde6('0x4c')]},'raw':!![]})[_0xfde6('0x21')](function(_0x386e77){if(_0x386e77&&_0x386e77['autoAssociation']===0x0){return db[_0xfde6('0x24')][_0xfde6('0x48')]({'name':_0x353551[_0xfde6('0x27')],'resourceId':_0x353551['id'],'type':_0x386e77[_0xfde6('0x27')],'sectionId':_0x386e77['id']},{})[_0xfde6('0x21')](function(){return _0x122619;});}else{return _0x122619;}})[_0xfde6('0x42')](function(_0xebaeae){logger[_0xfde6('0x4d')](_0xfde6('0x4e'),_0xebaeae);throw _0xebaeae;});}return _0x122619;})['then'](respondWithResult(_0x2241d4,0xc9))['catch'](handleError(_0x2241d4,null));};exports[_0xfde6('0x4f')]=function(_0x2cfaac,_0x4e7125){if(_0x2cfaac['body']['id']){delete _0x2cfaac[_0xfde6('0x49')]['id'];}return db[_0xfde6('0x2a')][_0xfde6('0x47')]({'where':{'id':_0x2cfaac[_0xfde6('0x44')]['id']}})[_0xfde6('0x21')](handleEntityNotFound(_0x4e7125,null))[_0xfde6('0x21')](saveUpdates(_0x2cfaac[_0xfde6('0x49')],null))[_0xfde6('0x21')](respondWithResult(_0x4e7125,null))[_0xfde6('0x42')](handleError(_0x4e7125,null));};exports[_0xfde6('0x50')]=function(_0x106653,_0x1a17ae){return db[_0xfde6('0x2a')][_0xfde6('0x47')]({'where':{'id':_0x106653['params']['id']}})[_0xfde6('0x21')](handleEntityNotFound(_0x1a17ae,null))[_0xfde6('0x21')](removeEntity(_0x1a17ae,null))['catch'](handleError(_0x1a17ae,null));};