b964f288217934ac2db9a49d7d12f7ad50c1c34d
[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 _0x7a4f=['catch','show','params','find','create','Unable\x20to\x20retrieve\x20the\x20current\x20user','user','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','body','zip-dir','fast-json-patch','request-promise','bluebird','util','path','sox','ejs','lodash','crypto','jsforce','desk.js','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','undefined','limit','count','offset','set','Content-Range','apply','reject','update','then','get','Pauses','destroy','error','stack','name','send','index','map','rawAttributes','type','key','model','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','options','Pause','includeAll','include','findAll','rows'];(function(_0x216567,_0x3d1bae){var _0x226cb1=function(_0x5ee2c8){while(--_0x5ee2c8){_0x216567['push'](_0x216567['shift']());}};_0x226cb1(++_0x3d1bae);}(_0x7a4f,0xac));var _0xf7a4=function(_0x18baf4,_0x33086b){_0x18baf4=_0x18baf4-0x0;var _0x278ed1=_0x7a4f[_0x18baf4];return _0x278ed1;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0xf7a4('0x0'));var jsonpatch=require(_0xf7a4('0x1'));var rp=require(_0xf7a4('0x2'));var moment=require('moment');var BPromise=require(_0xf7a4('0x3'));var Mustache=require('mustache');var util=require(_0xf7a4('0x4'));var path=require(_0xf7a4('0x5'));var sox=require(_0xf7a4('0x6'));var csv=require('to-csv');var ejs=require(_0xf7a4('0x7'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xf7a4('0x8'));var squel=require('squel');var crypto=require(_0xf7a4('0x9'));var jsforce=require(_0xf7a4('0xa'));var deskjs=require(_0xf7a4('0xb'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0xf7a4('0xc'));var qs=require(_0xf7a4('0xd'));var as=require(_0xf7a4('0xe'));var hardwareService=require(_0xf7a4('0xf'));var logger=require('../../config/logger')(_0xf7a4('0x10'));var utils=require('../../config/utils');var config=require(_0xf7a4('0x11'));var licenseUtil=require(_0xf7a4('0x12'));var db=require(_0xf7a4('0x13'))['db'];function respondWithStatusCode(_0x459f9b,_0x38049d){_0x38049d=_0x38049d||0xcc;return function(_0x2da992){if(_0x2da992){return _0x459f9b[_0xf7a4('0x14')](_0x38049d);}return _0x459f9b[_0xf7a4('0x15')](_0x38049d)[_0xf7a4('0x16')]();};}function respondWithResult(_0x1893ac,_0x357911){_0x357911=_0x357911||0xc8;return function(_0x1b7590){if(_0x1b7590){return _0x1893ac[_0xf7a4('0x15')](_0x357911)[_0xf7a4('0x17')](_0x1b7590);}};}function respondWithFilteredResult(_0x1fda23,_0x5b86f0){return function(_0x1d1216){if(_0x1d1216){var _0x3b3081=typeof _0x5b86f0['offset']===_0xf7a4('0x18')&&typeof _0x5b86f0[_0xf7a4('0x19')]===_0xf7a4('0x18');var _0x3d7888=_0x1d1216[_0xf7a4('0x1a')];var _0x19ec79=_0x3b3081?0x0:_0x5b86f0[_0xf7a4('0x1b')];var _0x3a7b02=_0x3b3081?_0x1d1216[_0xf7a4('0x1a')]:_0x5b86f0[_0xf7a4('0x1b')]+_0x5b86f0[_0xf7a4('0x19')];var _0x4c36f7;if(_0x3a7b02>=_0x3d7888){_0x3a7b02=_0x3d7888;_0x4c36f7=0xc8;}else{_0x4c36f7=0xce;}_0x1fda23[_0xf7a4('0x15')](_0x4c36f7);return _0x1fda23[_0xf7a4('0x1c')](_0xf7a4('0x1d'),_0x19ec79+'-'+_0x3a7b02+'/'+_0x3d7888)[_0xf7a4('0x17')](_0x1d1216);}return null;};}function patchUpdates(_0x2ccfdf){return function(_0x30d198){try{jsonpatch[_0xf7a4('0x1e')](_0x30d198,_0x2ccfdf,!![]);}catch(_0x48b276){return BPromise[_0xf7a4('0x1f')](_0x48b276);}return _0x30d198['save']();};}function saveUpdates(_0x183a9e,_0x54082f){return function(_0x15ff66){if(_0x15ff66){return _0x15ff66[_0xf7a4('0x20')](_0x183a9e)[_0xf7a4('0x21')](function(_0x5674cc){return _0x5674cc;});}return null;};}function removeEntity(_0x43f7b7,_0x327841){return function(_0x407b2a){if(_0x407b2a){return _0x407b2a['destroy']()[_0xf7a4('0x21')](function(){var _0x1ee96c=_0x407b2a[_0xf7a4('0x22')]({'plain':!![]});var _0xa59d08=_0xf7a4('0x23');return db['UserProfileResource'][_0xf7a4('0x24')]({'where':{'type':_0xa59d08,'resourceId':_0x1ee96c['id']}})[_0xf7a4('0x21')](function(){return _0x407b2a;});})['then'](function(){_0x43f7b7[_0xf7a4('0x15')](0xcc)[_0xf7a4('0x16')]();});}};}function handleEntityNotFound(_0x35fff0,_0x262f84){return function(_0x5fb1ee){if(!_0x5fb1ee){_0x35fff0[_0xf7a4('0x14')](0x194);}return _0x5fb1ee;};}function handleError(_0x93d2af,_0x131a6e){_0x131a6e=_0x131a6e||0x1f4;return function(_0x1fadad){logger[_0xf7a4('0x25')](_0x1fadad[_0xf7a4('0x26')]);if(_0x1fadad[_0xf7a4('0x27')]){delete _0x1fadad[_0xf7a4('0x27')];}_0x93d2af[_0xf7a4('0x15')](_0x131a6e)[_0xf7a4('0x28')](_0x1fadad);};}exports[_0xf7a4('0x29')]=function(_0x5091bf,_0x45f98f){var _0x1faeab={},_0x4a56c9={},_0x5b710b={'count':0x0,'rows':[]};var _0xda5de3=_[_0xf7a4('0x2a')](db['Pause'][_0xf7a4('0x2b')],function(_0xd8002c){return{'name':_0xd8002c['fieldName'],'type':_0xd8002c[_0xf7a4('0x2c')][_0xf7a4('0x2d')]};});_0x4a56c9[_0xf7a4('0x2e')]=_['map'](_0xda5de3,_0xf7a4('0x27'));_0x4a56c9[_0xf7a4('0x2f')]=_[_0xf7a4('0x30')](_0x5091bf[_0xf7a4('0x2f')]);_0x4a56c9[_0xf7a4('0x31')]=_['intersection'](_0x4a56c9[_0xf7a4('0x2e')],_0x4a56c9[_0xf7a4('0x2f')]);_0x1faeab[_0xf7a4('0x32')]=_[_0xf7a4('0x33')](_0x4a56c9[_0xf7a4('0x2e')],qs[_0xf7a4('0x34')](_0x5091bf[_0xf7a4('0x2f')][_0xf7a4('0x34')]));_0x1faeab[_0xf7a4('0x32')]=_0x1faeab['attributes'][_0xf7a4('0x35')]?_0x1faeab[_0xf7a4('0x32')]:_0x4a56c9[_0xf7a4('0x2e')];if(!_0x5091bf[_0xf7a4('0x2f')][_0xf7a4('0x36')](_0xf7a4('0x37'))){_0x1faeab['limit']=qs['limit'](_0x5091bf[_0xf7a4('0x2f')][_0xf7a4('0x19')]);_0x1faeab[_0xf7a4('0x1b')]=qs[_0xf7a4('0x1b')](_0x5091bf[_0xf7a4('0x2f')][_0xf7a4('0x1b')]);}_0x1faeab[_0xf7a4('0x38')]=qs[_0xf7a4('0x39')](_0x5091bf[_0xf7a4('0x2f')][_0xf7a4('0x39')]);_0x1faeab[_0xf7a4('0x3a')]=qs[_0xf7a4('0x31')](_[_0xf7a4('0x3b')](_0x5091bf[_0xf7a4('0x2f')],_0x4a56c9[_0xf7a4('0x31')]),_0xda5de3);if(_0x5091bf[_0xf7a4('0x2f')][_0xf7a4('0x3c')]){_0x1faeab[_0xf7a4('0x3a')]=_['merge'](_0x1faeab[_0xf7a4('0x3a')],{'$or':_[_0xf7a4('0x2a')](_0xda5de3,function(_0x16c972){if(_0x16c972[_0xf7a4('0x2c')]!=='VIRTUAL'){var _0x577356={};_0x577356[_0x16c972[_0xf7a4('0x27')]]={'$like':'%'+_0x5091bf[_0xf7a4('0x2f')][_0xf7a4('0x3c')]+'%'};return _0x577356;}})});}_0x1faeab=_[_0xf7a4('0x3d')]({},_0x1faeab,_0x5091bf[_0xf7a4('0x3e')]);var _0xd2c176={'where':_0x1faeab[_0xf7a4('0x3a')]};return db[_0xf7a4('0x3f')][_0xf7a4('0x1a')](_0xd2c176)[_0xf7a4('0x21')](function(_0x4af434){_0x5b710b[_0xf7a4('0x1a')]=_0x4af434;if(_0x5091bf[_0xf7a4('0x2f')][_0xf7a4('0x40')]){_0x1faeab[_0xf7a4('0x41')]=[{'all':!![]}];}return db[_0xf7a4('0x3f')][_0xf7a4('0x42')](_0x1faeab);})['then'](function(_0x1751a8){_0x5b710b[_0xf7a4('0x43')]=_0x1751a8;return _0x5b710b;})[_0xf7a4('0x21')](respondWithFilteredResult(_0x45f98f,_0x1faeab))[_0xf7a4('0x44')](handleError(_0x45f98f,null));};exports[_0xf7a4('0x45')]=function(_0x42c150,_0xc51814){var _0xfc30bc={'raw':!![],'where':{'id':_0x42c150[_0xf7a4('0x46')]['id']}},_0x1df3de={};_0x1df3de[_0xf7a4('0x2e')]=_[_0xf7a4('0x30')](db[_0xf7a4('0x3f')][_0xf7a4('0x2b')]);_0x1df3de[_0xf7a4('0x2f')]=_[_0xf7a4('0x30')](_0x42c150[_0xf7a4('0x2f')]);_0x1df3de[_0xf7a4('0x31')]=_[_0xf7a4('0x33')](_0x1df3de[_0xf7a4('0x2e')],_0x1df3de[_0xf7a4('0x2f')]);_0xfc30bc[_0xf7a4('0x32')]=_[_0xf7a4('0x33')](_0x1df3de[_0xf7a4('0x2e')],qs[_0xf7a4('0x34')](_0x42c150[_0xf7a4('0x2f')][_0xf7a4('0x34')]));_0xfc30bc[_0xf7a4('0x32')]=_0xfc30bc[_0xf7a4('0x32')][_0xf7a4('0x35')]?_0xfc30bc[_0xf7a4('0x32')]:_0x1df3de[_0xf7a4('0x2e')];if(_0x42c150['query'][_0xf7a4('0x40')]){_0xfc30bc[_0xf7a4('0x41')]=[{'all':!![]}];}_0xfc30bc=_[_0xf7a4('0x3d')]({},_0xfc30bc,_0x42c150['options']);return db['Pause'][_0xf7a4('0x47')](_0xfc30bc)[_0xf7a4('0x21')](handleEntityNotFound(_0xc51814,null))['then'](respondWithResult(_0xc51814,null))[_0xf7a4('0x44')](handleError(_0xc51814,null));};exports[_0xf7a4('0x48')]=function(_0x278a7a,_0x25f804){return db['Pause'][_0xf7a4('0x48')](_0x278a7a['body'],{})[_0xf7a4('0x21')](function(_0x46f7b3){var _0x4f0d15=_0x278a7a['user'][_0xf7a4('0x22')]({'plain':!![]});if(!_0x4f0d15)throw new Error(_0xf7a4('0x49'));if(_0x4f0d15['role']===_0xf7a4('0x4a')){var _0x2d762c=_0x46f7b3[_0xf7a4('0x22')]({'plain':!![]});var _0x2e17f6=_0xf7a4('0x23');return db[_0xf7a4('0x4b')][_0xf7a4('0x47')]({'where':{'name':_0x2e17f6,'userProfileId':_0x4f0d15[_0xf7a4('0x4c')]},'raw':!![]})[_0xf7a4('0x21')](function(_0x31d806){if(_0x31d806&&_0x31d806[_0xf7a4('0x4d')]===0x0){return db[_0xf7a4('0x4e')][_0xf7a4('0x48')]({'name':_0x2d762c[_0xf7a4('0x27')],'resourceId':_0x2d762c['id'],'type':_0x31d806[_0xf7a4('0x27')],'sectionId':_0x31d806['id']},{})[_0xf7a4('0x21')](function(){return _0x46f7b3;});}else{return _0x46f7b3;}})[_0xf7a4('0x44')](function(_0x161a69){logger[_0xf7a4('0x25')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x161a69);throw _0x161a69;});}return _0x46f7b3;})[_0xf7a4('0x21')](respondWithResult(_0x25f804,0xc9))[_0xf7a4('0x44')](handleError(_0x25f804,null));};exports['update']=function(_0x3754c7,_0x4b2026){if(_0x3754c7[_0xf7a4('0x4f')]['id']){delete _0x3754c7[_0xf7a4('0x4f')]['id'];}return db['Pause'][_0xf7a4('0x47')]({'where':{'id':_0x3754c7[_0xf7a4('0x46')]['id']}})[_0xf7a4('0x21')](handleEntityNotFound(_0x4b2026,null))[_0xf7a4('0x21')](saveUpdates(_0x3754c7[_0xf7a4('0x4f')],null))[_0xf7a4('0x21')](respondWithResult(_0x4b2026,null))[_0xf7a4('0x44')](handleError(_0x4b2026,null));};exports[_0xf7a4('0x24')]=function(_0x58dcb7,_0x417385){return db['Pause'][_0xf7a4('0x47')]({'where':{'id':_0x58dcb7[_0xf7a4('0x46')]['id']}})[_0xf7a4('0x21')](handleEntityNotFound(_0x417385,null))[_0xf7a4('0x21')](removeEntity(_0x417385,null))['catch'](handleError(_0x417385,null));};