1d0e0b9a2e03720f045fe4d1321ac11020453c98
[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 _0x04ba=['where','pick','filter','VIRTUAL','merge','count','includeAll','include','rows','catch','show','params','find','create','body','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','error','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','sox','to-csv','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','set','Content-Range','reject','save','then','destroy','Pauses','UserProfileResource','stack','name','send','index','map','Pause','rawAttributes','fieldName','type','query','keys','filters','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort'];(function(_0x26b293,_0x157ad1){var _0x13d21f=function(_0x3f734b){while(--_0x3f734b){_0x26b293['push'](_0x26b293['shift']());}};_0x13d21f(++_0x157ad1);}(_0x04ba,0x16f));var _0xa04b=function(_0x3b86da,_0x2d002b){_0x3b86da=_0x3b86da-0x0;var _0x1e3de8=_0x04ba[_0x3b86da];return _0x1e3de8;};'use strict';var emlformat=require(_0xa04b('0x0'));var rimraf=require(_0xa04b('0x1'));var zipdir=require(_0xa04b('0x2'));var jsonpatch=require(_0xa04b('0x3'));var rp=require(_0xa04b('0x4'));var moment=require(_0xa04b('0x5'));var BPromise=require(_0xa04b('0x6'));var Mustache=require(_0xa04b('0x7'));var util=require(_0xa04b('0x8'));var path=require(_0xa04b('0x9'));var sox=require(_0xa04b('0xa'));var csv=require(_0xa04b('0xb'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xa04b('0xc'));var _=require(_0xa04b('0xd'));var squel=require('squel');var crypto=require(_0xa04b('0xe'));var jsforce=require(_0xa04b('0xf'));var deskjs=require(_0xa04b('0x10'));var toCsv=require(_0xa04b('0xb'));var querystring=require(_0xa04b('0x11'));var Papa=require(_0xa04b('0x12'));var Redis=require(_0xa04b('0x13'));var authService=require(_0xa04b('0x14'));var qs=require(_0xa04b('0x15'));var as=require(_0xa04b('0x16'));var hardwareService=require(_0xa04b('0x17'));var logger=require(_0xa04b('0x18'))('api');var utils=require('../../config/utils');var config=require(_0xa04b('0x19'));var licenseUtil=require(_0xa04b('0x1a'));var db=require(_0xa04b('0x1b'))['db'];function respondWithStatusCode(_0x49a12f,_0x59568a){_0x59568a=_0x59568a||0xcc;return function(_0x183115){if(_0x183115){return _0x49a12f[_0xa04b('0x1c')](_0x59568a);}return _0x49a12f[_0xa04b('0x1d')](_0x59568a)[_0xa04b('0x1e')]();};}function respondWithResult(_0x631ee2,_0x18ab5e){_0x18ab5e=_0x18ab5e||0xc8;return function(_0x247953){if(_0x247953){return _0x631ee2[_0xa04b('0x1d')](_0x18ab5e)[_0xa04b('0x1f')](_0x247953);}};}function respondWithFilteredResult(_0x4692ba,_0x3fa7aa){return function(_0x49a1a8){if(_0x49a1a8){var _0x316d61=typeof _0x3fa7aa[_0xa04b('0x20')]===_0xa04b('0x21')&&typeof _0x3fa7aa[_0xa04b('0x22')]===_0xa04b('0x21');var _0x4bf503=_0x49a1a8['count'];var _0x3d0683=_0x316d61?0x0:_0x3fa7aa['offset'];var _0x1a937c=_0x316d61?_0x49a1a8['count']:_0x3fa7aa[_0xa04b('0x20')]+_0x3fa7aa[_0xa04b('0x22')];var _0x27b350;if(_0x1a937c>=_0x4bf503){_0x1a937c=_0x4bf503;_0x27b350=0xc8;}else{_0x27b350=0xce;}_0x4692ba[_0xa04b('0x1d')](_0x27b350);return _0x4692ba[_0xa04b('0x23')](_0xa04b('0x24'),_0x3d0683+'-'+_0x1a937c+'/'+_0x4bf503)[_0xa04b('0x1f')](_0x49a1a8);}return null;};}function patchUpdates(_0x41a8cd){return function(_0x277b8f){try{jsonpatch['apply'](_0x277b8f,_0x41a8cd,!![]);}catch(_0x3d193d){return BPromise[_0xa04b('0x25')](_0x3d193d);}return _0x277b8f[_0xa04b('0x26')]();};}function saveUpdates(_0x5e9e56,_0x4355ac){return function(_0x2db4f7){if(_0x2db4f7){return _0x2db4f7['update'](_0x5e9e56)[_0xa04b('0x27')](function(_0x3f513c){return _0x3f513c;});}return null;};}function removeEntity(_0x150cd0,_0x359dba){return function(_0x34e11c){if(_0x34e11c){return _0x34e11c[_0xa04b('0x28')]()[_0xa04b('0x27')](function(){var _0x323498=_0x34e11c['get']({'plain':!![]});var _0x3559a0=_0xa04b('0x29');return db[_0xa04b('0x2a')]['destroy']({'where':{'type':_0x3559a0,'resourceId':_0x323498['id']}})[_0xa04b('0x27')](function(){return _0x34e11c;});})[_0xa04b('0x27')](function(){_0x150cd0[_0xa04b('0x1d')](0xcc)[_0xa04b('0x1e')]();});}};}function handleEntityNotFound(_0x524cbf,_0x347b71){return function(_0x3f7010){if(!_0x3f7010){_0x524cbf[_0xa04b('0x1c')](0x194);}return _0x3f7010;};}function handleError(_0x214de7,_0x241898){_0x241898=_0x241898||0x1f4;return function(_0x56818c){logger['error'](_0x56818c[_0xa04b('0x2b')]);if(_0x56818c['name']){delete _0x56818c[_0xa04b('0x2c')];}_0x214de7[_0xa04b('0x1d')](_0x241898)[_0xa04b('0x2d')](_0x56818c);};}exports[_0xa04b('0x2e')]=function(_0x49b02d,_0x99396d){var _0x3126df={},_0x568efc={},_0x4abc61={'count':0x0,'rows':[]};var _0x3bf20a=_[_0xa04b('0x2f')](db[_0xa04b('0x30')][_0xa04b('0x31')],function(_0x4c888c){return{'name':_0x4c888c[_0xa04b('0x32')],'type':_0x4c888c[_0xa04b('0x33')]['key']};});_0x568efc['model']=_['map'](_0x3bf20a,_0xa04b('0x2c'));_0x568efc[_0xa04b('0x34')]=_[_0xa04b('0x35')](_0x49b02d[_0xa04b('0x34')]);_0x568efc[_0xa04b('0x36')]=_['intersection'](_0x568efc[_0xa04b('0x37')],_0x568efc[_0xa04b('0x34')]);_0x3126df[_0xa04b('0x38')]=_['intersection'](_0x568efc[_0xa04b('0x37')],qs[_0xa04b('0x39')](_0x49b02d[_0xa04b('0x34')][_0xa04b('0x39')]));_0x3126df[_0xa04b('0x38')]=_0x3126df[_0xa04b('0x38')][_0xa04b('0x3a')]?_0x3126df[_0xa04b('0x38')]:_0x568efc[_0xa04b('0x37')];if(!_0x49b02d[_0xa04b('0x34')][_0xa04b('0x3b')](_0xa04b('0x3c'))){_0x3126df[_0xa04b('0x22')]=qs[_0xa04b('0x22')](_0x49b02d[_0xa04b('0x34')][_0xa04b('0x22')]);_0x3126df[_0xa04b('0x20')]=qs[_0xa04b('0x20')](_0x49b02d[_0xa04b('0x34')][_0xa04b('0x20')]);}_0x3126df[_0xa04b('0x3d')]=qs['sort'](_0x49b02d[_0xa04b('0x34')][_0xa04b('0x3e')]);_0x3126df[_0xa04b('0x3f')]=qs[_0xa04b('0x36')](_[_0xa04b('0x40')](_0x49b02d['query'],_0x568efc[_0xa04b('0x36')]),_0x3bf20a);if(_0x49b02d[_0xa04b('0x34')][_0xa04b('0x41')]){_0x3126df[_0xa04b('0x3f')]=_['merge'](_0x3126df[_0xa04b('0x3f')],{'$or':_[_0xa04b('0x2f')](_0x3bf20a,function(_0x1e8ecd){if(_0x1e8ecd[_0xa04b('0x33')]!==_0xa04b('0x42')){var _0x577de7={};_0x577de7[_0x1e8ecd[_0xa04b('0x2c')]]={'$like':'%'+_0x49b02d['query'][_0xa04b('0x41')]+'%'};return _0x577de7;}})});}_0x3126df=_[_0xa04b('0x43')]({},_0x3126df,_0x49b02d['options']);var _0x36ab7d={'where':_0x3126df[_0xa04b('0x3f')]};return db['Pause'][_0xa04b('0x44')](_0x36ab7d)[_0xa04b('0x27')](function(_0xbfc537){_0x4abc61['count']=_0xbfc537;if(_0x49b02d['query'][_0xa04b('0x45')]){_0x3126df[_0xa04b('0x46')]=[{'all':!![]}];}return db[_0xa04b('0x30')]['findAll'](_0x3126df);})[_0xa04b('0x27')](function(_0x59ab8c){_0x4abc61[_0xa04b('0x47')]=_0x59ab8c;return _0x4abc61;})[_0xa04b('0x27')](respondWithFilteredResult(_0x99396d,_0x3126df))[_0xa04b('0x48')](handleError(_0x99396d,null));};exports[_0xa04b('0x49')]=function(_0x1f4f7e,_0x164702){var _0x19358c={'raw':!![],'where':{'id':_0x1f4f7e[_0xa04b('0x4a')]['id']}},_0xb9ae79={};_0xb9ae79[_0xa04b('0x37')]=_[_0xa04b('0x35')](db[_0xa04b('0x30')][_0xa04b('0x31')]);_0xb9ae79[_0xa04b('0x34')]=_[_0xa04b('0x35')](_0x1f4f7e['query']);_0xb9ae79['filters']=_['intersection'](_0xb9ae79[_0xa04b('0x37')],_0xb9ae79['query']);_0x19358c['attributes']=_['intersection'](_0xb9ae79[_0xa04b('0x37')],qs[_0xa04b('0x39')](_0x1f4f7e[_0xa04b('0x34')][_0xa04b('0x39')]));_0x19358c[_0xa04b('0x38')]=_0x19358c[_0xa04b('0x38')]['length']?_0x19358c[_0xa04b('0x38')]:_0xb9ae79[_0xa04b('0x37')];if(_0x1f4f7e[_0xa04b('0x34')][_0xa04b('0x45')]){_0x19358c[_0xa04b('0x46')]=[{'all':!![]}];}_0x19358c=_[_0xa04b('0x43')]({},_0x19358c,_0x1f4f7e['options']);return db['Pause'][_0xa04b('0x4b')](_0x19358c)[_0xa04b('0x27')](handleEntityNotFound(_0x164702,null))[_0xa04b('0x27')](respondWithResult(_0x164702,null))[_0xa04b('0x48')](handleError(_0x164702,null));};exports[_0xa04b('0x4c')]=function(_0x5e42de,_0x383675){return db[_0xa04b('0x30')][_0xa04b('0x4c')](_0x5e42de[_0xa04b('0x4d')],{})[_0xa04b('0x27')](function(_0x1f2a52){var _0x3f4044=_0x5e42de['user'][_0xa04b('0x4e')]({'plain':!![]});if(!_0x3f4044)throw new Error(_0xa04b('0x4f'));if(_0x3f4044[_0xa04b('0x50')]==='user'){var _0x3a49d3=_0x1f2a52[_0xa04b('0x4e')]({'plain':!![]});var _0xb76775=_0xa04b('0x29');return db[_0xa04b('0x51')][_0xa04b('0x4b')]({'where':{'name':_0xb76775,'userProfileId':_0x3f4044[_0xa04b('0x52')]},'raw':!![]})[_0xa04b('0x27')](function(_0x22c447){if(_0x22c447&&_0x22c447[_0xa04b('0x53')]===0x0){return db[_0xa04b('0x2a')][_0xa04b('0x4c')]({'name':_0x3a49d3[_0xa04b('0x2c')],'resourceId':_0x3a49d3['id'],'type':_0x22c447['name'],'sectionId':_0x22c447['id']},{})['then'](function(){return _0x1f2a52;});}else{return _0x1f2a52;}})[_0xa04b('0x48')](function(_0x3cc99b){logger[_0xa04b('0x54')](_0xa04b('0x55'),_0x3cc99b);throw _0x3cc99b;});}return _0x1f2a52;})['then'](respondWithResult(_0x383675,0xc9))[_0xa04b('0x48')](handleError(_0x383675,null));};exports['update']=function(_0x3793f1,_0x4ed809){if(_0x3793f1['body']['id']){delete _0x3793f1['body']['id'];}return db['Pause'][_0xa04b('0x4b')]({'where':{'id':_0x3793f1['params']['id']}})[_0xa04b('0x27')](handleEntityNotFound(_0x4ed809,null))['then'](saveUpdates(_0x3793f1[_0xa04b('0x4d')],null))[_0xa04b('0x27')](respondWithResult(_0x4ed809,null))[_0xa04b('0x48')](handleError(_0x4ed809,null));};exports[_0xa04b('0x28')]=function(_0x4b7265,_0x4137b8){return db[_0xa04b('0x30')][_0xa04b('0x4b')]({'where':{'id':_0x4b7265[_0xa04b('0x4a')]['id']}})[_0xa04b('0x27')](handleEntityNotFound(_0x4137b8,null))[_0xa04b('0x27')](removeEntity(_0x4137b8,null))[_0xa04b('0x48')](handleError(_0x4137b8,null));};