00bd0bca7cdb29db66385c0a0d1e589c0dba75b1
[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 _0x3d16=['Pauses','UserProfileResource','destroy','error','stack','name','send','index','map','Pause','fieldName','type','key','model','filters','intersection','query','attributes','fields','length','hasOwnProperty','nolimit','sort','pick','filter','merge','where','VIRTUAL','options','includeAll','include','findAll','catch','keys','rawAttributes','find','create','user','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','params','eml-format','util','path','sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','undefined','limit','offset','count','set','Content-Range','json','apply','save','update','then','get'];(function(_0x5f1cf8,_0x5e0923){var _0x27d0fa=function(_0x3f1171){while(--_0x3f1171){_0x5f1cf8['push'](_0x5f1cf8['shift']());}};_0x27d0fa(++_0x5e0923);}(_0x3d16,0x1b2));var _0x63d1=function(_0x2641f9,_0x26715f){_0x2641f9=_0x2641f9-0x0;var _0x585741=_0x3d16[_0x2641f9];return _0x585741;};'use strict';var emlformat=require(_0x63d1('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x63d1('0x1'));var path=require(_0x63d1('0x2'));var sox=require(_0x63d1('0x3'));var csv=require(_0x63d1('0x4'));var ejs=require(_0x63d1('0x5'));var fs=require('fs');var fs_extra=require(_0x63d1('0x6'));var _=require('lodash');var squel=require(_0x63d1('0x7'));var crypto=require(_0x63d1('0x8'));var jsforce=require(_0x63d1('0x9'));var deskjs=require(_0x63d1('0xa'));var toCsv=require(_0x63d1('0x4'));var querystring=require(_0x63d1('0xb'));var Papa=require('papaparse');var Redis=require(_0x63d1('0xc'));var authService=require('../../components/auth/service');var qs=require(_0x63d1('0xd'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x63d1('0xe'));var logger=require(_0x63d1('0xf'))('api');var utils=require(_0x63d1('0x10'));var config=require('../../config/environment');var licenseUtil=require(_0x63d1('0x11'));var db=require(_0x63d1('0x12'))['db'];function respondWithStatusCode(_0x475271,_0x1fb0bd){_0x1fb0bd=_0x1fb0bd||0xcc;return function(_0x4f6996){if(_0x4f6996){return _0x475271[_0x63d1('0x13')](_0x1fb0bd);}return _0x475271[_0x63d1('0x14')](_0x1fb0bd)[_0x63d1('0x15')]();};}function respondWithResult(_0x5c951f,_0x8bab2a){_0x8bab2a=_0x8bab2a||0xc8;return function(_0x1beeec){if(_0x1beeec){return _0x5c951f[_0x63d1('0x14')](_0x8bab2a)['json'](_0x1beeec);}};}function respondWithFilteredResult(_0x3ffeb6,_0x3f7b3e){return function(_0xa520bf){if(_0xa520bf){var _0x3af3b4=typeof _0x3f7b3e['offset']===_0x63d1('0x16')&&typeof _0x3f7b3e[_0x63d1('0x17')]===_0x63d1('0x16');var _0x53ce24=_0xa520bf['count'];var _0x469674=_0x3af3b4?0x0:_0x3f7b3e[_0x63d1('0x18')];var _0x333677=_0x3af3b4?_0xa520bf[_0x63d1('0x19')]:_0x3f7b3e[_0x63d1('0x18')]+_0x3f7b3e['limit'];var _0x31f738;if(_0x333677>=_0x53ce24){_0x333677=_0x53ce24;_0x31f738=0xc8;}else{_0x31f738=0xce;}_0x3ffeb6[_0x63d1('0x14')](_0x31f738);return _0x3ffeb6[_0x63d1('0x1a')](_0x63d1('0x1b'),_0x469674+'-'+_0x333677+'/'+_0x53ce24)[_0x63d1('0x1c')](_0xa520bf);}return null;};}function patchUpdates(_0x344498){return function(_0x5b14f1){try{jsonpatch[_0x63d1('0x1d')](_0x5b14f1,_0x344498,!![]);}catch(_0x37d160){return BPromise['reject'](_0x37d160);}return _0x5b14f1[_0x63d1('0x1e')]();};}function saveUpdates(_0x53c227,_0x1c2297){return function(_0xecbe22){if(_0xecbe22){return _0xecbe22[_0x63d1('0x1f')](_0x53c227)[_0x63d1('0x20')](function(_0x2a609a){return _0x2a609a;});}return null;};}function removeEntity(_0x2d1506,_0x22b1b9){return function(_0x592e70){if(_0x592e70){return _0x592e70['destroy']()[_0x63d1('0x20')](function(){var _0x147d76=_0x592e70[_0x63d1('0x21')]({'plain':!![]});var _0xb04ca2=_0x63d1('0x22');return db[_0x63d1('0x23')][_0x63d1('0x24')]({'where':{'type':_0xb04ca2,'resourceId':_0x147d76['id']}})[_0x63d1('0x20')](function(){return _0x592e70;});})[_0x63d1('0x20')](function(){_0x2d1506[_0x63d1('0x14')](0xcc)[_0x63d1('0x15')]();});}};}function handleEntityNotFound(_0x1bd1ec,_0x22edcb){return function(_0x2121f8){if(!_0x2121f8){_0x1bd1ec[_0x63d1('0x13')](0x194);}return _0x2121f8;};}function handleError(_0x5516f8,_0x565ead){_0x565ead=_0x565ead||0x1f4;return function(_0x22efae){logger[_0x63d1('0x25')](_0x22efae[_0x63d1('0x26')]);if(_0x22efae[_0x63d1('0x27')]){delete _0x22efae['name'];}_0x5516f8[_0x63d1('0x14')](_0x565ead)[_0x63d1('0x28')](_0x22efae);};}exports[_0x63d1('0x29')]=function(_0x298e02,_0x521737){var _0x5ba931={},_0x2a9cfb={},_0x1716df={'count':0x0,'rows':[]};var _0x4ff62b=_[_0x63d1('0x2a')](db[_0x63d1('0x2b')]['rawAttributes'],function(_0x5270a9){return{'name':_0x5270a9[_0x63d1('0x2c')],'type':_0x5270a9[_0x63d1('0x2d')][_0x63d1('0x2e')]};});_0x2a9cfb[_0x63d1('0x2f')]=_[_0x63d1('0x2a')](_0x4ff62b,_0x63d1('0x27'));_0x2a9cfb['query']=_['keys'](_0x298e02['query']);_0x2a9cfb[_0x63d1('0x30')]=_[_0x63d1('0x31')](_0x2a9cfb[_0x63d1('0x2f')],_0x2a9cfb[_0x63d1('0x32')]);_0x5ba931[_0x63d1('0x33')]=_[_0x63d1('0x31')](_0x2a9cfb['model'],qs[_0x63d1('0x34')](_0x298e02[_0x63d1('0x32')][_0x63d1('0x34')]));_0x5ba931[_0x63d1('0x33')]=_0x5ba931[_0x63d1('0x33')][_0x63d1('0x35')]?_0x5ba931[_0x63d1('0x33')]:_0x2a9cfb['model'];if(!_0x298e02[_0x63d1('0x32')][_0x63d1('0x36')](_0x63d1('0x37'))){_0x5ba931['limit']=qs[_0x63d1('0x17')](_0x298e02['query']['limit']);_0x5ba931[_0x63d1('0x18')]=qs['offset'](_0x298e02[_0x63d1('0x32')][_0x63d1('0x18')]);}_0x5ba931['order']=qs['sort'](_0x298e02['query'][_0x63d1('0x38')]);_0x5ba931['where']=qs[_0x63d1('0x30')](_[_0x63d1('0x39')](_0x298e02['query'],_0x2a9cfb['filters']),_0x4ff62b);if(_0x298e02['query'][_0x63d1('0x3a')]){_0x5ba931['where']=_[_0x63d1('0x3b')](_0x5ba931[_0x63d1('0x3c')],{'$or':_[_0x63d1('0x2a')](_0x4ff62b,function(_0x489284){if(_0x489284[_0x63d1('0x2d')]!==_0x63d1('0x3d')){var _0x4fbe7b={};_0x4fbe7b[_0x489284[_0x63d1('0x27')]]={'$like':'%'+_0x298e02['query'][_0x63d1('0x3a')]+'%'};return _0x4fbe7b;}})});}_0x5ba931=_['merge']({},_0x5ba931,_0x298e02[_0x63d1('0x3e')]);var _0x24212b={'where':_0x5ba931[_0x63d1('0x3c')]};return db[_0x63d1('0x2b')][_0x63d1('0x19')](_0x24212b)[_0x63d1('0x20')](function(_0x44c8da){_0x1716df['count']=_0x44c8da;if(_0x298e02[_0x63d1('0x32')][_0x63d1('0x3f')]){_0x5ba931[_0x63d1('0x40')]=[{'all':!![]}];}return db[_0x63d1('0x2b')][_0x63d1('0x41')](_0x5ba931);})[_0x63d1('0x20')](function(_0x2993cc){_0x1716df['rows']=_0x2993cc;return _0x1716df;})[_0x63d1('0x20')](respondWithFilteredResult(_0x521737,_0x5ba931))[_0x63d1('0x42')](handleError(_0x521737,null));};exports['show']=function(_0x4ae7cb,_0x4a0bb9){var _0x6eb15c={'raw':!![],'where':{'id':_0x4ae7cb['params']['id']}},_0x50cdc2={};_0x50cdc2[_0x63d1('0x2f')]=_[_0x63d1('0x43')](db[_0x63d1('0x2b')][_0x63d1('0x44')]);_0x50cdc2[_0x63d1('0x32')]=_['keys'](_0x4ae7cb[_0x63d1('0x32')]);_0x50cdc2[_0x63d1('0x30')]=_[_0x63d1('0x31')](_0x50cdc2[_0x63d1('0x2f')],_0x50cdc2[_0x63d1('0x32')]);_0x6eb15c['attributes']=_[_0x63d1('0x31')](_0x50cdc2[_0x63d1('0x2f')],qs[_0x63d1('0x34')](_0x4ae7cb[_0x63d1('0x32')][_0x63d1('0x34')]));_0x6eb15c['attributes']=_0x6eb15c[_0x63d1('0x33')][_0x63d1('0x35')]?_0x6eb15c['attributes']:_0x50cdc2[_0x63d1('0x2f')];if(_0x4ae7cb[_0x63d1('0x32')][_0x63d1('0x3f')]){_0x6eb15c[_0x63d1('0x40')]=[{'all':!![]}];}_0x6eb15c=_[_0x63d1('0x3b')]({},_0x6eb15c,_0x4ae7cb[_0x63d1('0x3e')]);return db[_0x63d1('0x2b')][_0x63d1('0x45')](_0x6eb15c)[_0x63d1('0x20')](handleEntityNotFound(_0x4a0bb9,null))['then'](respondWithResult(_0x4a0bb9,null))[_0x63d1('0x42')](handleError(_0x4a0bb9,null));};exports['create']=function(_0x17b5b5,_0x45f1e3){return db[_0x63d1('0x2b')][_0x63d1('0x46')](_0x17b5b5['body'],{})[_0x63d1('0x20')](function(_0x4e9fa5){var _0x543735=_0x17b5b5[_0x63d1('0x47')][_0x63d1('0x21')]({'plain':!![]});if(!_0x543735)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x543735['role']===_0x63d1('0x47')){var _0x1d3d0b=_0x4e9fa5[_0x63d1('0x21')]({'plain':!![]});var _0xf29184=_0x63d1('0x22');return db[_0x63d1('0x48')][_0x63d1('0x45')]({'where':{'name':_0xf29184,'userProfileId':_0x543735[_0x63d1('0x49')]},'raw':!![]})[_0x63d1('0x20')](function(_0x4bd620){if(_0x4bd620&&_0x4bd620[_0x63d1('0x4a')]===0x0){return db[_0x63d1('0x23')][_0x63d1('0x46')]({'name':_0x1d3d0b['name'],'resourceId':_0x1d3d0b['id'],'type':_0x4bd620[_0x63d1('0x27')],'sectionId':_0x4bd620['id']},{})[_0x63d1('0x20')](function(){return _0x4e9fa5;});}else{return _0x4e9fa5;}})['catch'](function(_0x572c9f){logger[_0x63d1('0x25')](_0x63d1('0x4b'),_0x572c9f);throw _0x572c9f;});}return _0x4e9fa5;})['then'](respondWithResult(_0x45f1e3,0xc9))[_0x63d1('0x42')](handleError(_0x45f1e3,null));};exports[_0x63d1('0x1f')]=function(_0x588532,_0x3cc02b){if(_0x588532[_0x63d1('0x4c')]['id']){delete _0x588532['body']['id'];}return db[_0x63d1('0x2b')][_0x63d1('0x45')]({'where':{'id':_0x588532[_0x63d1('0x4d')]['id']}})[_0x63d1('0x20')](handleEntityNotFound(_0x3cc02b,null))[_0x63d1('0x20')](saveUpdates(_0x588532[_0x63d1('0x4c')],null))[_0x63d1('0x20')](respondWithResult(_0x3cc02b,null))[_0x63d1('0x42')](handleError(_0x3cc02b,null));};exports[_0x63d1('0x24')]=function(_0x3ba5b6,_0x166deb){return db[_0x63d1('0x2b')][_0x63d1('0x45')]({'where':{'id':_0x3ba5b6[_0x63d1('0x4d')]['id']}})[_0x63d1('0x20')](handleEntityNotFound(_0x166deb,null))[_0x63d1('0x20')](removeEntity(_0x166deb,null))['catch'](handleError(_0x166deb,null));};