Built motion from commit cb845558.|2.6.34
[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 _0x9cdc=['zip-dir','fast-json-patch','util','path','to-csv','ejs','fs-extra','lodash','squel','jsforce','papaparse','ioredis','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','destroy','get','UserProfileResource','error','stack','name','index','map','Pause','rawAttributes','type','key','model','query','keys','filters','attributes','intersection','fields','hasOwnProperty','nolimit','order','sort','pick','filter','merge','where','VIRTUAL','include','findAll','rows','catch','show','params','length','options','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','Pauses','UserProfileSection','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','eml-format'];(function(_0x3042c5,_0x36cb88){var _0x7cd140=function(_0x4cdcd8){while(--_0x4cdcd8){_0x3042c5['push'](_0x3042c5['shift']());}};_0x7cd140(++_0x36cb88);}(_0x9cdc,0xef));var _0xc9cd=function(_0x111c98,_0x5641a7){_0x111c98=_0x111c98-0x0;var _0x19c401=_0x9cdc[_0x111c98];return _0x19c401;};'use strict';var emlformat=require(_0xc9cd('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xc9cd('0x1'));var jsonpatch=require(_0xc9cd('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xc9cd('0x3'));var path=require(_0xc9cd('0x4'));var sox=require('sox');var csv=require(_0xc9cd('0x5'));var ejs=require(_0xc9cd('0x6'));var fs=require('fs');var fs_extra=require(_0xc9cd('0x7'));var _=require(_0xc9cd('0x8'));var squel=require(_0xc9cd('0x9'));var crypto=require('crypto');var jsforce=require(_0xc9cd('0xa'));var deskjs=require('desk.js');var toCsv=require(_0xc9cd('0x5'));var querystring=require('querystring');var Papa=require(_0xc9cd('0xb'));var Redis=require(_0xc9cd('0xc'));var authService=require('../../components/auth/service');var qs=require(_0xc9cd('0xd'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xc9cd('0xe'));var logger=require('../../config/logger')(_0xc9cd('0xf'));var utils=require(_0xc9cd('0x10'));var config=require(_0xc9cd('0x11'));var licenseUtil=require(_0xc9cd('0x12'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x35bf3c,_0x300b05){_0x300b05=_0x300b05||0xcc;return function(_0x87a857){if(_0x87a857){return _0x35bf3c[_0xc9cd('0x13')](_0x300b05);}return _0x35bf3c[_0xc9cd('0x14')](_0x300b05)[_0xc9cd('0x15')]();};}function respondWithResult(_0x1c0d78,_0x51b435){_0x51b435=_0x51b435||0xc8;return function(_0x5b3ee5){if(_0x5b3ee5){return _0x1c0d78[_0xc9cd('0x14')](_0x51b435)[_0xc9cd('0x16')](_0x5b3ee5);}};}function respondWithFilteredResult(_0x4a5697,_0x2a9803){return function(_0x49148f){if(_0x49148f){var _0x1c767d=typeof _0x2a9803[_0xc9cd('0x17')]===_0xc9cd('0x18')&&typeof _0x2a9803[_0xc9cd('0x19')]===_0xc9cd('0x18');var _0x350c3e=_0x49148f['count'];var _0x17774b=_0x1c767d?0x0:_0x2a9803['offset'];var _0xfb8df4=_0x1c767d?_0x49148f[_0xc9cd('0x1a')]:_0x2a9803[_0xc9cd('0x17')]+_0x2a9803[_0xc9cd('0x19')];var _0x5301e3;if(_0xfb8df4>=_0x350c3e){_0xfb8df4=_0x350c3e;_0x5301e3=0xc8;}else{_0x5301e3=0xce;}_0x4a5697[_0xc9cd('0x14')](_0x5301e3);return _0x4a5697[_0xc9cd('0x1b')](_0xc9cd('0x1c'),_0x17774b+'-'+_0xfb8df4+'/'+_0x350c3e)[_0xc9cd('0x16')](_0x49148f);}return null;};}function patchUpdates(_0x209b0a){return function(_0x49f6fa){try{jsonpatch[_0xc9cd('0x1d')](_0x49f6fa,_0x209b0a,!![]);}catch(_0x22e747){return BPromise[_0xc9cd('0x1e')](_0x22e747);}return _0x49f6fa[_0xc9cd('0x1f')]();};}function saveUpdates(_0x5778e3,_0x11e7e8){return function(_0x1ed11){if(_0x1ed11){return _0x1ed11[_0xc9cd('0x20')](_0x5778e3)[_0xc9cd('0x21')](function(_0x3570b3){return _0x3570b3;});}return null;};}function removeEntity(_0x34feda,_0x2656e0){return function(_0x42f682){if(_0x42f682){return _0x42f682[_0xc9cd('0x22')]()[_0xc9cd('0x21')](function(){var _0x20e2b0=_0x42f682[_0xc9cd('0x23')]({'plain':!![]});var _0xb00d16='Pauses';return db[_0xc9cd('0x24')]['destroy']({'where':{'type':_0xb00d16,'resourceId':_0x20e2b0['id']}})[_0xc9cd('0x21')](function(){return _0x42f682;});})[_0xc9cd('0x21')](function(){_0x34feda['status'](0xcc)[_0xc9cd('0x15')]();});}};}function handleEntityNotFound(_0x549a1a,_0x4f9a17){return function(_0x223bb1){if(!_0x223bb1){_0x549a1a[_0xc9cd('0x13')](0x194);}return _0x223bb1;};}function handleError(_0x326074,_0x5930b4){_0x5930b4=_0x5930b4||0x1f4;return function(_0x34ed87){logger[_0xc9cd('0x25')](_0x34ed87[_0xc9cd('0x26')]);if(_0x34ed87[_0xc9cd('0x27')]){delete _0x34ed87[_0xc9cd('0x27')];}_0x326074[_0xc9cd('0x14')](_0x5930b4)['send'](_0x34ed87);};}exports[_0xc9cd('0x28')]=function(_0x362da5,_0xb61a84){var _0xb3edea={},_0x20a944={},_0x566b2d={'count':0x0,'rows':[]};var _0x46a8f7=_[_0xc9cd('0x29')](db[_0xc9cd('0x2a')][_0xc9cd('0x2b')],function(_0x4d1584){return{'name':_0x4d1584['fieldName'],'type':_0x4d1584[_0xc9cd('0x2c')][_0xc9cd('0x2d')]};});_0x20a944[_0xc9cd('0x2e')]=_[_0xc9cd('0x29')](_0x46a8f7,_0xc9cd('0x27'));_0x20a944[_0xc9cd('0x2f')]=_[_0xc9cd('0x30')](_0x362da5[_0xc9cd('0x2f')]);_0x20a944[_0xc9cd('0x31')]=_['intersection'](_0x20a944[_0xc9cd('0x2e')],_0x20a944[_0xc9cd('0x2f')]);_0xb3edea[_0xc9cd('0x32')]=_[_0xc9cd('0x33')](_0x20a944[_0xc9cd('0x2e')],qs[_0xc9cd('0x34')](_0x362da5[_0xc9cd('0x2f')][_0xc9cd('0x34')]));_0xb3edea[_0xc9cd('0x32')]=_0xb3edea[_0xc9cd('0x32')]['length']?_0xb3edea[_0xc9cd('0x32')]:_0x20a944[_0xc9cd('0x2e')];if(!_0x362da5[_0xc9cd('0x2f')][_0xc9cd('0x35')](_0xc9cd('0x36'))){_0xb3edea['limit']=qs[_0xc9cd('0x19')](_0x362da5[_0xc9cd('0x2f')]['limit']);_0xb3edea['offset']=qs[_0xc9cd('0x17')](_0x362da5[_0xc9cd('0x2f')][_0xc9cd('0x17')]);}_0xb3edea[_0xc9cd('0x37')]=qs[_0xc9cd('0x38')](_0x362da5[_0xc9cd('0x2f')][_0xc9cd('0x38')]);_0xb3edea['where']=qs[_0xc9cd('0x31')](_[_0xc9cd('0x39')](_0x362da5[_0xc9cd('0x2f')],_0x20a944[_0xc9cd('0x31')]),_0x46a8f7);if(_0x362da5[_0xc9cd('0x2f')][_0xc9cd('0x3a')]){_0xb3edea['where']=_[_0xc9cd('0x3b')](_0xb3edea[_0xc9cd('0x3c')],{'$or':_[_0xc9cd('0x29')](_0x46a8f7,function(_0x5734b0){if(_0x5734b0[_0xc9cd('0x2c')]!==_0xc9cd('0x3d')){var _0xbc1eca={};_0xbc1eca[_0x5734b0[_0xc9cd('0x27')]]={'$like':'%'+_0x362da5[_0xc9cd('0x2f')]['filter']+'%'};return _0xbc1eca;}})});}_0xb3edea=_['merge']({},_0xb3edea,_0x362da5['options']);var _0x53651f={'where':_0xb3edea[_0xc9cd('0x3c')]};return db[_0xc9cd('0x2a')]['count'](_0x53651f)[_0xc9cd('0x21')](function(_0x35574d){_0x566b2d['count']=_0x35574d;if(_0x362da5['query']['includeAll']){_0xb3edea[_0xc9cd('0x3e')]=[{'all':!![]}];}return db[_0xc9cd('0x2a')][_0xc9cd('0x3f')](_0xb3edea);})[_0xc9cd('0x21')](function(_0x589707){_0x566b2d[_0xc9cd('0x40')]=_0x589707;return _0x566b2d;})[_0xc9cd('0x21')](respondWithFilteredResult(_0xb61a84,_0xb3edea))[_0xc9cd('0x41')](handleError(_0xb61a84,null));};exports[_0xc9cd('0x42')]=function(_0xd6b0ba,_0x1c7249){var _0x1f579b={'raw':!![],'where':{'id':_0xd6b0ba[_0xc9cd('0x43')]['id']}},_0x2b0f7d={};_0x2b0f7d[_0xc9cd('0x2e')]=_[_0xc9cd('0x30')](db['Pause']['rawAttributes']);_0x2b0f7d[_0xc9cd('0x2f')]=_[_0xc9cd('0x30')](_0xd6b0ba[_0xc9cd('0x2f')]);_0x2b0f7d[_0xc9cd('0x31')]=_[_0xc9cd('0x33')](_0x2b0f7d[_0xc9cd('0x2e')],_0x2b0f7d[_0xc9cd('0x2f')]);_0x1f579b['attributes']=_[_0xc9cd('0x33')](_0x2b0f7d[_0xc9cd('0x2e')],qs[_0xc9cd('0x34')](_0xd6b0ba[_0xc9cd('0x2f')]['fields']));_0x1f579b[_0xc9cd('0x32')]=_0x1f579b['attributes'][_0xc9cd('0x44')]?_0x1f579b[_0xc9cd('0x32')]:_0x2b0f7d[_0xc9cd('0x2e')];if(_0xd6b0ba['query']['includeAll']){_0x1f579b[_0xc9cd('0x3e')]=[{'all':!![]}];}_0x1f579b=_[_0xc9cd('0x3b')]({},_0x1f579b,_0xd6b0ba[_0xc9cd('0x45')]);return db[_0xc9cd('0x2a')][_0xc9cd('0x46')](_0x1f579b)[_0xc9cd('0x21')](handleEntityNotFound(_0x1c7249,null))['then'](respondWithResult(_0x1c7249,null))[_0xc9cd('0x41')](handleError(_0x1c7249,null));};exports[_0xc9cd('0x47')]=function(_0x28f361,_0x2e5285){return db[_0xc9cd('0x2a')][_0xc9cd('0x47')](_0x28f361[_0xc9cd('0x48')],{})['then'](function(_0x1d76b5){var _0x3fcdae=_0x28f361[_0xc9cd('0x49')]['get']({'plain':!![]});if(!_0x3fcdae)throw new Error(_0xc9cd('0x4a'));if(_0x3fcdae[_0xc9cd('0x4b')]===_0xc9cd('0x49')){var _0x30e679=_0x1d76b5['get']({'plain':!![]});var _0x5aebf3=_0xc9cd('0x4c');return db[_0xc9cd('0x4d')][_0xc9cd('0x46')]({'where':{'name':_0x5aebf3,'userProfileId':_0x3fcdae[_0xc9cd('0x4e')]},'raw':!![]})[_0xc9cd('0x21')](function(_0x13432f){if(_0x13432f&&_0x13432f['autoAssociation']===0x0){return db[_0xc9cd('0x24')][_0xc9cd('0x47')]({'name':_0x30e679[_0xc9cd('0x27')],'resourceId':_0x30e679['id'],'type':_0x13432f[_0xc9cd('0x27')],'sectionId':_0x13432f['id']},{})['then'](function(){return _0x1d76b5;});}else{return _0x1d76b5;}})[_0xc9cd('0x41')](function(_0x320ce3){logger['error'](_0xc9cd('0x4f'),_0x320ce3);throw _0x320ce3;});}return _0x1d76b5;})[_0xc9cd('0x21')](respondWithResult(_0x2e5285,0xc9))[_0xc9cd('0x41')](handleError(_0x2e5285,null));};exports['update']=function(_0x5bfbf9,_0x4794be){if(_0x5bfbf9[_0xc9cd('0x48')]['id']){delete _0x5bfbf9[_0xc9cd('0x48')]['id'];}return db[_0xc9cd('0x2a')]['find']({'where':{'id':_0x5bfbf9[_0xc9cd('0x43')]['id']}})[_0xc9cd('0x21')](handleEntityNotFound(_0x4794be,null))['then'](saveUpdates(_0x5bfbf9['body'],null))[_0xc9cd('0x21')](respondWithResult(_0x4794be,null))['catch'](handleError(_0x4794be,null));};exports[_0xc9cd('0x22')]=function(_0x3d96a3,_0x2f4520){return db['Pause'][_0xc9cd('0x46')]({'where':{'id':_0x3d96a3['params']['id']}})['then'](handleEntityNotFound(_0x2f4520,null))[_0xc9cd('0x21')](removeEntity(_0x2f4520,null))['catch'](handleError(_0x2f4520,null));};