Built motion from commit (unavailable).|2.5.14
[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 _0x7124=['querystring','../../components/auth/service','api','../../config/utils','../../config/license/util','sendStatus','status','json','count','limit','set','Content-Range','apply','reject','then','destroy','Pauses','UserProfileResource','end','error','stack','name','send','index','map','rawAttributes','fieldName','key','model','keys','filters','intersection','query','attributes','fields','length','nolimit','offset','order','sort','where','pick','filter','merge','type','VIRTUAL','options','Pause','includeAll','include','findAll','catch','show','params','find','create','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','update','body','html-pdf','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','ejs','lodash','squel','crypto','jsforce','desk.js','to-csv'];(function(_0x2849be,_0x3113fe){var _0x22fb5a=function(_0x255a05){while(--_0x255a05){_0x2849be['push'](_0x2849be['shift']());}};_0x22fb5a(++_0x3113fe);}(_0x7124,0x91));var _0x4712=function(_0x154983,_0xc29edf){_0x154983=_0x154983-0x0;var _0x3d1243=_0x7124[_0x154983];return _0x3d1243;};'use strict';var pdf=require(_0x4712('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x4712('0x1'));var zipdir=require(_0x4712('0x2'));var jsonpatch=require(_0x4712('0x3'));var rp=require('request-promise');var moment=require(_0x4712('0x4'));var BPromise=require(_0x4712('0x5'));var Mustache=require(_0x4712('0x6'));var util=require(_0x4712('0x7'));var path=require(_0x4712('0x8'));var sox=require(_0x4712('0x9'));var csv=require('to-csv');var ejs=require(_0x4712('0xa'));var fs=require('fs');var _=require(_0x4712('0xb'));var squel=require(_0x4712('0xc'));var crypto=require(_0x4712('0xd'));var jsforce=require(_0x4712('0xe'));var deskjs=require(_0x4712('0xf'));var toCsv=require(_0x4712('0x10'));var querystring=require(_0x4712('0x11'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x4712('0x12'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x4712('0x13'));var utils=require(_0x4712('0x14'));var config=require('../../config/environment');var licenseUtil=require(_0x4712('0x15'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0xb66675,_0x129efe){_0x129efe=_0x129efe||0xcc;return function(_0x3c3653){if(_0x3c3653){return _0xb66675[_0x4712('0x16')](_0x129efe);}return _0xb66675[_0x4712('0x17')](_0x129efe)['end']();};}function respondWithResult(_0x38e323,_0x46e30d){_0x46e30d=_0x46e30d||0xc8;return function(_0x482d14){if(_0x482d14){return _0x38e323[_0x4712('0x17')](_0x46e30d)[_0x4712('0x18')](_0x482d14);}};}function respondWithFilteredResult(_0x4079fe,_0x5077d5){return function(_0x52ff6f){if(_0x52ff6f){var _0xaf4a08=_0x52ff6f[_0x4712('0x19')],_0x2b39cc=_0x5077d5['offset'],_0xdc070e=_0x5077d5['offset']+_0x5077d5[_0x4712('0x1a')],_0x15ebee;if(_0xdc070e>=_0xaf4a08){_0xdc070e=_0xaf4a08;_0x15ebee=0xc8;}else{_0x15ebee=0xce;}_0x4079fe[_0x4712('0x17')](_0x15ebee);return _0x4079fe[_0x4712('0x1b')](_0x4712('0x1c'),_0x2b39cc+'-'+_0xdc070e+'/'+_0xaf4a08)['json'](_0x52ff6f);}return null;};}function patchUpdates(_0x5d450d){return function(_0x2d6326){try{jsonpatch[_0x4712('0x1d')](_0x2d6326,_0x5d450d,!![]);}catch(_0x3d5bb8){return BPromise[_0x4712('0x1e')](_0x3d5bb8);}return _0x2d6326['save']();};}function saveUpdates(_0xfc041b,_0x7e0491){return function(_0x38e522){if(_0x38e522){return _0x38e522['update'](_0xfc041b)[_0x4712('0x1f')](function(_0x6174cc){return _0x6174cc;});}return null;};}function removeEntity(_0x693b13,_0x3539dd){return function(_0x5c08f6){if(_0x5c08f6){return _0x5c08f6[_0x4712('0x20')]()[_0x4712('0x1f')](function(){var _0x3163e3=_0x5c08f6['get']({'plain':!![]});var _0x31a3c5=_0x4712('0x21');return db[_0x4712('0x22')]['destroy']({'where':{'type':_0x31a3c5,'resourceId':_0x3163e3['id']}})[_0x4712('0x1f')](function(){return _0x5c08f6;});})[_0x4712('0x1f')](function(){_0x693b13[_0x4712('0x17')](0xcc)[_0x4712('0x23')]();});}};}function handleEntityNotFound(_0xa7d6c2,_0x4ba210){return function(_0x140770){if(!_0x140770){_0xa7d6c2['sendStatus'](0x194);}return _0x140770;};}function handleError(_0x2318ea,_0x13fd5e){_0x13fd5e=_0x13fd5e||0x1f4;return function(_0x7ecf44){logger[_0x4712('0x24')](_0x7ecf44[_0x4712('0x25')]);if(_0x7ecf44[_0x4712('0x26')]){delete _0x7ecf44['name'];}_0x2318ea['status'](_0x13fd5e)[_0x4712('0x27')](_0x7ecf44);};}exports[_0x4712('0x28')]=function(_0x597914,_0x592d28){var _0x323105={},_0x303afe={},_0x243247={'count':0x0,'rows':[]};var _0x1b9de6=_[_0x4712('0x29')](db['Pause'][_0x4712('0x2a')],function(_0x3b7802){return{'name':_0x3b7802[_0x4712('0x2b')],'type':_0x3b7802['type'][_0x4712('0x2c')]};});_0x303afe[_0x4712('0x2d')]=_[_0x4712('0x29')](_0x1b9de6,_0x4712('0x26'));_0x303afe['query']=_[_0x4712('0x2e')](_0x597914['query']);_0x303afe[_0x4712('0x2f')]=_[_0x4712('0x30')](_0x303afe['model'],_0x303afe[_0x4712('0x31')]);_0x323105[_0x4712('0x32')]=_[_0x4712('0x30')](_0x303afe[_0x4712('0x2d')],qs[_0x4712('0x33')](_0x597914[_0x4712('0x31')][_0x4712('0x33')]));_0x323105[_0x4712('0x32')]=_0x323105[_0x4712('0x32')][_0x4712('0x34')]?_0x323105[_0x4712('0x32')]:_0x303afe[_0x4712('0x2d')];if(!_0x597914[_0x4712('0x31')]['hasOwnProperty'](_0x4712('0x35'))){_0x323105[_0x4712('0x1a')]=qs[_0x4712('0x1a')](_0x597914[_0x4712('0x31')][_0x4712('0x1a')]);_0x323105[_0x4712('0x36')]=qs[_0x4712('0x36')](_0x597914[_0x4712('0x31')][_0x4712('0x36')]);}_0x323105[_0x4712('0x37')]=qs[_0x4712('0x38')](_0x597914[_0x4712('0x31')][_0x4712('0x38')]);_0x323105[_0x4712('0x39')]=qs[_0x4712('0x2f')](_[_0x4712('0x3a')](_0x597914[_0x4712('0x31')],_0x303afe[_0x4712('0x2f')]),_0x1b9de6);if(_0x597914[_0x4712('0x31')][_0x4712('0x3b')]){_0x323105['where']=_[_0x4712('0x3c')](_0x323105[_0x4712('0x39')],{'$or':_[_0x4712('0x29')](_0x1b9de6,function(_0x384315){if(_0x384315[_0x4712('0x3d')]!==_0x4712('0x3e')){var _0x40ba5d={};_0x40ba5d[_0x384315[_0x4712('0x26')]]={'$like':'%'+_0x597914[_0x4712('0x31')][_0x4712('0x3b')]+'%'};return _0x40ba5d;}})});}_0x323105=_[_0x4712('0x3c')]({},_0x323105,_0x597914[_0x4712('0x3f')]);var _0x553785={'where':_0x323105[_0x4712('0x39')]};return db[_0x4712('0x40')][_0x4712('0x19')](_0x553785)[_0x4712('0x1f')](function(_0x482620){_0x243247[_0x4712('0x19')]=_0x482620;if(_0x597914[_0x4712('0x31')][_0x4712('0x41')]){_0x323105[_0x4712('0x42')]=[{'all':!![]}];}return db[_0x4712('0x40')][_0x4712('0x43')](_0x323105);})[_0x4712('0x1f')](function(_0x143cbd){_0x243247['rows']=_0x143cbd;return _0x243247;})[_0x4712('0x1f')](respondWithFilteredResult(_0x592d28,_0x323105))[_0x4712('0x44')](handleError(_0x592d28,null));};exports[_0x4712('0x45')]=function(_0x39b68e,_0x449a3e){var _0x4f5dbd={'raw':!![],'where':{'id':_0x39b68e[_0x4712('0x46')]['id']}},_0x5b27ba={};_0x5b27ba[_0x4712('0x2d')]=_['keys'](db[_0x4712('0x40')]['rawAttributes']);_0x5b27ba['query']=_[_0x4712('0x2e')](_0x39b68e[_0x4712('0x31')]);_0x5b27ba[_0x4712('0x2f')]=_['intersection'](_0x5b27ba[_0x4712('0x2d')],_0x5b27ba[_0x4712('0x31')]);_0x4f5dbd[_0x4712('0x32')]=_[_0x4712('0x30')](_0x5b27ba[_0x4712('0x2d')],qs[_0x4712('0x33')](_0x39b68e['query'][_0x4712('0x33')]));_0x4f5dbd[_0x4712('0x32')]=_0x4f5dbd[_0x4712('0x32')][_0x4712('0x34')]?_0x4f5dbd['attributes']:_0x5b27ba[_0x4712('0x2d')];if(_0x39b68e[_0x4712('0x31')][_0x4712('0x41')]){_0x4f5dbd[_0x4712('0x42')]=[{'all':!![]}];}_0x4f5dbd=_[_0x4712('0x3c')]({},_0x4f5dbd,_0x39b68e[_0x4712('0x3f')]);return db[_0x4712('0x40')][_0x4712('0x47')](_0x4f5dbd)[_0x4712('0x1f')](handleEntityNotFound(_0x449a3e,null))[_0x4712('0x1f')](respondWithResult(_0x449a3e,null))['catch'](handleError(_0x449a3e,null));};exports[_0x4712('0x48')]=function(_0x294585,_0x3804c8){return db['Pause']['create'](_0x294585['body'],{})['then'](function(_0x448baa){var _0xea4848=_0x294585[_0x4712('0x49')][_0x4712('0x4a')]({'plain':!![]});if(!_0xea4848)throw new Error(_0x4712('0x4b'));if(_0xea4848[_0x4712('0x4c')]==='user'){var _0x125b18=_0x448baa[_0x4712('0x4a')]({'plain':!![]});var _0x458deb=_0x4712('0x21');return db[_0x4712('0x4d')]['find']({'where':{'name':_0x458deb,'userProfileId':_0xea4848[_0x4712('0x4e')]},'raw':!![]})[_0x4712('0x1f')](function(_0x96163f){if(_0x96163f&&_0x96163f['autoAssociation']===0x0){return db['UserProfileResource'][_0x4712('0x48')]({'name':_0x125b18[_0x4712('0x26')],'resourceId':_0x125b18['id'],'type':_0x96163f[_0x4712('0x26')],'sectionId':_0x96163f['id']},{})[_0x4712('0x1f')](function(){return _0x448baa;});}else{return _0x448baa;}})['catch'](function(_0x369837){logger[_0x4712('0x24')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x369837);throw _0x369837;});}return _0x448baa;})[_0x4712('0x1f')](respondWithResult(_0x3804c8,0xc9))[_0x4712('0x44')](handleError(_0x3804c8,null));};exports[_0x4712('0x4f')]=function(_0x5dc1cf,_0xc986da){if(_0x5dc1cf[_0x4712('0x50')]['id']){delete _0x5dc1cf[_0x4712('0x50')]['id'];}return db[_0x4712('0x40')]['find']({'where':{'id':_0x5dc1cf[_0x4712('0x46')]['id']}})[_0x4712('0x1f')](handleEntityNotFound(_0xc986da,null))[_0x4712('0x1f')](saveUpdates(_0x5dc1cf['body'],null))[_0x4712('0x1f')](respondWithResult(_0xc986da,null))[_0x4712('0x44')](handleError(_0xc986da,null));};exports[_0x4712('0x20')]=function(_0x418c6c,_0xc429d7){return db[_0x4712('0x40')][_0x4712('0x47')]({'where':{'id':_0x418c6c[_0x4712('0x46')]['id']}})['then'](handleEntityNotFound(_0xc429d7,null))[_0x4712('0x1f')](removeEntity(_0xc429d7,null))[_0x4712('0x44')](handleError(_0xc429d7,null));};