508150799cbc485036262d158896de7243dc3ff4
[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 _0x7ac8=['intersection','model','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','filter','merge','options','Pause','includeAll','include','findAll','show','params','find','catch','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','eml-format','rimraf','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','undefined','count','offset','limit','set','json','apply','reject','save','then','destroy','get','Pauses','UserProfileResource','error','name','send','index','map','rawAttributes','type','key','query','keys','filters'];(function(_0x3054be,_0x1bdc8b){var _0x3df150=function(_0x56cfbf){while(--_0x56cfbf){_0x3054be['push'](_0x3054be['shift']());}};_0x3df150(++_0x1bdc8b);}(_0x7ac8,0xc6));var _0x87ac=function(_0x17052f,_0x15d288){_0x17052f=_0x17052f-0x0;var _0x30c0fe=_0x7ac8[_0x17052f];return _0x30c0fe;};'use strict';var emlformat=require(_0x87ac('0x0'));var rimraf=require(_0x87ac('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x87ac('0x2'));var rp=require(_0x87ac('0x3'));var moment=require(_0x87ac('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x87ac('0x5'));var util=require(_0x87ac('0x6'));var path=require(_0x87ac('0x7'));var sox=require(_0x87ac('0x8'));var csv=require(_0x87ac('0x9'));var ejs=require(_0x87ac('0xa'));var fs=require('fs');var fs_extra=require(_0x87ac('0xb'));var _=require(_0x87ac('0xc'));var squel=require(_0x87ac('0xd'));var crypto=require(_0x87ac('0xe'));var jsforce=require(_0x87ac('0xf'));var deskjs=require(_0x87ac('0x10'));var toCsv=require(_0x87ac('0x9'));var querystring=require(_0x87ac('0x11'));var Papa=require(_0x87ac('0x12'));var Redis=require(_0x87ac('0x13'));var authService=require('../../components/auth/service');var qs=require(_0x87ac('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x87ac('0x15'));var logger=require('../../config/logger')('api');var utils=require(_0x87ac('0x16'));var config=require(_0x87ac('0x17'));var licenseUtil=require(_0x87ac('0x18'));var db=require(_0x87ac('0x19'))['db'];function respondWithStatusCode(_0x4ddef7,_0x2f2d56){_0x2f2d56=_0x2f2d56||0xcc;return function(_0x2eba13){if(_0x2eba13){return _0x4ddef7[_0x87ac('0x1a')](_0x2f2d56);}return _0x4ddef7['status'](_0x2f2d56)[_0x87ac('0x1b')]();};}function respondWithResult(_0x36a494,_0x580986){_0x580986=_0x580986||0xc8;return function(_0x2a3f3a){if(_0x2a3f3a){return _0x36a494[_0x87ac('0x1c')](_0x580986)['json'](_0x2a3f3a);}};}function respondWithFilteredResult(_0x2cfe1d,_0x3e3ad3){return function(_0x6b039){if(_0x6b039){var _0xef37c3=typeof _0x3e3ad3['offset']===_0x87ac('0x1d')&&typeof _0x3e3ad3['limit']===_0x87ac('0x1d');var _0x52329d=_0x6b039[_0x87ac('0x1e')];var _0xa39f50=_0xef37c3?0x0:_0x3e3ad3[_0x87ac('0x1f')];var _0x2c5361=_0xef37c3?_0x6b039[_0x87ac('0x1e')]:_0x3e3ad3[_0x87ac('0x1f')]+_0x3e3ad3[_0x87ac('0x20')];var _0x18bef1;if(_0x2c5361>=_0x52329d){_0x2c5361=_0x52329d;_0x18bef1=0xc8;}else{_0x18bef1=0xce;}_0x2cfe1d[_0x87ac('0x1c')](_0x18bef1);return _0x2cfe1d[_0x87ac('0x21')]('Content-Range',_0xa39f50+'-'+_0x2c5361+'/'+_0x52329d)[_0x87ac('0x22')](_0x6b039);}return null;};}function patchUpdates(_0x475b2c){return function(_0x305aed){try{jsonpatch[_0x87ac('0x23')](_0x305aed,_0x475b2c,!![]);}catch(_0x228a74){return BPromise[_0x87ac('0x24')](_0x228a74);}return _0x305aed[_0x87ac('0x25')]();};}function saveUpdates(_0x14bd13,_0x42cbc0){return function(_0x4695eb){if(_0x4695eb){return _0x4695eb['update'](_0x14bd13)[_0x87ac('0x26')](function(_0x556e8d){return _0x556e8d;});}return null;};}function removeEntity(_0x1a1e17,_0x4328ae){return function(_0x2b42da){if(_0x2b42da){return _0x2b42da[_0x87ac('0x27')]()[_0x87ac('0x26')](function(){var _0x57af4f=_0x2b42da[_0x87ac('0x28')]({'plain':!![]});var _0x3be7cf=_0x87ac('0x29');return db[_0x87ac('0x2a')]['destroy']({'where':{'type':_0x3be7cf,'resourceId':_0x57af4f['id']}})['then'](function(){return _0x2b42da;});})['then'](function(){_0x1a1e17[_0x87ac('0x1c')](0xcc)[_0x87ac('0x1b')]();});}};}function handleEntityNotFound(_0x1ca8eb,_0x32585a){return function(_0x1a74ab){if(!_0x1a74ab){_0x1ca8eb[_0x87ac('0x1a')](0x194);}return _0x1a74ab;};}function handleError(_0x5725e7,_0x557017){_0x557017=_0x557017||0x1f4;return function(_0xde2bf7){logger[_0x87ac('0x2b')](_0xde2bf7['stack']);if(_0xde2bf7[_0x87ac('0x2c')]){delete _0xde2bf7[_0x87ac('0x2c')];}_0x5725e7[_0x87ac('0x1c')](_0x557017)[_0x87ac('0x2d')](_0xde2bf7);};}exports[_0x87ac('0x2e')]=function(_0x14e70b,_0x2e63a8){var _0x180093={},_0x171092={},_0x5e6b37={'count':0x0,'rows':[]};var _0x12c949=_[_0x87ac('0x2f')](db['Pause'][_0x87ac('0x30')],function(_0x5edb5b){return{'name':_0x5edb5b['fieldName'],'type':_0x5edb5b[_0x87ac('0x31')][_0x87ac('0x32')]};});_0x171092['model']=_[_0x87ac('0x2f')](_0x12c949,_0x87ac('0x2c'));_0x171092[_0x87ac('0x33')]=_[_0x87ac('0x34')](_0x14e70b['query']);_0x171092[_0x87ac('0x35')]=_[_0x87ac('0x36')](_0x171092[_0x87ac('0x37')],_0x171092[_0x87ac('0x33')]);_0x180093[_0x87ac('0x38')]=_[_0x87ac('0x36')](_0x171092[_0x87ac('0x37')],qs[_0x87ac('0x39')](_0x14e70b['query'][_0x87ac('0x39')]));_0x180093['attributes']=_0x180093[_0x87ac('0x38')][_0x87ac('0x3a')]?_0x180093[_0x87ac('0x38')]:_0x171092[_0x87ac('0x37')];if(!_0x14e70b[_0x87ac('0x33')][_0x87ac('0x3b')](_0x87ac('0x3c'))){_0x180093['limit']=qs[_0x87ac('0x20')](_0x14e70b[_0x87ac('0x33')][_0x87ac('0x20')]);_0x180093['offset']=qs[_0x87ac('0x1f')](_0x14e70b['query'][_0x87ac('0x1f')]);}_0x180093['order']=qs[_0x87ac('0x3d')](_0x14e70b[_0x87ac('0x33')]['sort']);_0x180093[_0x87ac('0x3e')]=qs['filters'](_[_0x87ac('0x3f')](_0x14e70b[_0x87ac('0x33')],_0x171092['filters']),_0x12c949);if(_0x14e70b[_0x87ac('0x33')][_0x87ac('0x40')]){_0x180093[_0x87ac('0x3e')]=_[_0x87ac('0x41')](_0x180093['where'],{'$or':_['map'](_0x12c949,function(_0x2fec2d){if(_0x2fec2d['type']!=='VIRTUAL'){var _0x444299={};_0x444299[_0x2fec2d[_0x87ac('0x2c')]]={'$like':'%'+_0x14e70b[_0x87ac('0x33')]['filter']+'%'};return _0x444299;}})});}_0x180093=_[_0x87ac('0x41')]({},_0x180093,_0x14e70b[_0x87ac('0x42')]);var _0x31e2ce={'where':_0x180093['where']};return db[_0x87ac('0x43')][_0x87ac('0x1e')](_0x31e2ce)['then'](function(_0xce9672){_0x5e6b37[_0x87ac('0x1e')]=_0xce9672;if(_0x14e70b['query'][_0x87ac('0x44')]){_0x180093[_0x87ac('0x45')]=[{'all':!![]}];}return db[_0x87ac('0x43')][_0x87ac('0x46')](_0x180093);})['then'](function(_0xbc82a7){_0x5e6b37['rows']=_0xbc82a7;return _0x5e6b37;})[_0x87ac('0x26')](respondWithFilteredResult(_0x2e63a8,_0x180093))['catch'](handleError(_0x2e63a8,null));};exports[_0x87ac('0x47')]=function(_0x315f51,_0xa492d3){var _0x5d1035={'raw':!![],'where':{'id':_0x315f51[_0x87ac('0x48')]['id']}},_0x36f4bc={};_0x36f4bc[_0x87ac('0x37')]=_[_0x87ac('0x34')](db[_0x87ac('0x43')][_0x87ac('0x30')]);_0x36f4bc[_0x87ac('0x33')]=_['keys'](_0x315f51[_0x87ac('0x33')]);_0x36f4bc[_0x87ac('0x35')]=_[_0x87ac('0x36')](_0x36f4bc[_0x87ac('0x37')],_0x36f4bc[_0x87ac('0x33')]);_0x5d1035[_0x87ac('0x38')]=_['intersection'](_0x36f4bc['model'],qs[_0x87ac('0x39')](_0x315f51['query']['fields']));_0x5d1035[_0x87ac('0x38')]=_0x5d1035['attributes'][_0x87ac('0x3a')]?_0x5d1035['attributes']:_0x36f4bc['model'];if(_0x315f51['query'][_0x87ac('0x44')]){_0x5d1035[_0x87ac('0x45')]=[{'all':!![]}];}_0x5d1035=_[_0x87ac('0x41')]({},_0x5d1035,_0x315f51[_0x87ac('0x42')]);return db['Pause'][_0x87ac('0x49')](_0x5d1035)[_0x87ac('0x26')](handleEntityNotFound(_0xa492d3,null))[_0x87ac('0x26')](respondWithResult(_0xa492d3,null))[_0x87ac('0x4a')](handleError(_0xa492d3,null));};exports[_0x87ac('0x4b')]=function(_0x49cc27,_0x3b920e){return db[_0x87ac('0x43')]['create'](_0x49cc27[_0x87ac('0x4c')],{})[_0x87ac('0x26')](function(_0x2646f9){var _0x161345=_0x49cc27[_0x87ac('0x4d')][_0x87ac('0x28')]({'plain':!![]});if(!_0x161345)throw new Error(_0x87ac('0x4e'));if(_0x161345[_0x87ac('0x4f')]==='user'){var _0xa74993=_0x2646f9[_0x87ac('0x28')]({'plain':!![]});var _0x563db3=_0x87ac('0x29');return db[_0x87ac('0x50')][_0x87ac('0x49')]({'where':{'name':_0x563db3,'userProfileId':_0x161345[_0x87ac('0x51')]},'raw':!![]})[_0x87ac('0x26')](function(_0x34173b){if(_0x34173b&&_0x34173b['autoAssociation']===0x0){return db[_0x87ac('0x2a')]['create']({'name':_0xa74993[_0x87ac('0x2c')],'resourceId':_0xa74993['id'],'type':_0x34173b[_0x87ac('0x2c')],'sectionId':_0x34173b['id']},{})[_0x87ac('0x26')](function(){return _0x2646f9;});}else{return _0x2646f9;}})[_0x87ac('0x4a')](function(_0x392928){logger[_0x87ac('0x2b')](_0x87ac('0x52'),_0x392928);throw _0x392928;});}return _0x2646f9;})[_0x87ac('0x26')](respondWithResult(_0x3b920e,0xc9))['catch'](handleError(_0x3b920e,null));};exports[_0x87ac('0x53')]=function(_0x2e6506,_0x53759c){if(_0x2e6506[_0x87ac('0x4c')]['id']){delete _0x2e6506[_0x87ac('0x4c')]['id'];}return db[_0x87ac('0x43')]['find']({'where':{'id':_0x2e6506[_0x87ac('0x48')]['id']}})[_0x87ac('0x26')](handleEntityNotFound(_0x53759c,null))['then'](saveUpdates(_0x2e6506[_0x87ac('0x4c')],null))[_0x87ac('0x26')](respondWithResult(_0x53759c,null))[_0x87ac('0x4a')](handleError(_0x53759c,null));};exports[_0x87ac('0x27')]=function(_0x1b808b,_0x36ccf9){return db[_0x87ac('0x43')]['find']({'where':{'id':_0x1b808b[_0x87ac('0x48')]['id']}})['then'](handleEntityNotFound(_0x36ccf9,null))[_0x87ac('0x26')](removeEntity(_0x36ccf9,null))[_0x87ac('0x4a')](handleError(_0x36ccf9,null));};