894a5eeef74d9ab74ce28fc1ddf18846886162e8
[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 _0xdca5=['catch','show','params','keys','includeAll','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','get','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','path','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','undefined','count','offset','limit','set','Content-Range','apply','reject','then','destroy','UserProfileResource','error','name','send','index','map','Pause','rawAttributes','fieldName','query','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','type','VIRTUAL','options','include','findAll','rows'];(function(_0x45435b,_0x8f2922){var _0x55379f=function(_0x1d78d5){while(--_0x1d78d5){_0x45435b['push'](_0x45435b['shift']());}};_0x55379f(++_0x8f2922);}(_0xdca5,0x168));var _0x5dca=function(_0x3bbaae,_0xb69da){_0x3bbaae=_0x3bbaae-0x0;var _0x4c69ac=_0xdca5[_0x3bbaae];return _0x4c69ac;};'use strict';var emlformat=require(_0x5dca('0x0'));var rimraf=require(_0x5dca('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x5dca('0x2'));var rp=require(_0x5dca('0x3'));var moment=require(_0x5dca('0x4'));var BPromise=require(_0x5dca('0x5'));var Mustache=require(_0x5dca('0x6'));var util=require('util');var path=require(_0x5dca('0x7'));var sox=require('sox');var csv=require(_0x5dca('0x8'));var ejs=require(_0x5dca('0x9'));var fs=require('fs');var fs_extra=require(_0x5dca('0xa'));var _=require(_0x5dca('0xb'));var squel=require(_0x5dca('0xc'));var crypto=require(_0x5dca('0xd'));var jsforce=require(_0x5dca('0xe'));var deskjs=require(_0x5dca('0xf'));var toCsv=require(_0x5dca('0x8'));var querystring=require('querystring');var Papa=require(_0x5dca('0x10'));var Redis=require(_0x5dca('0x11'));var authService=require('../../components/auth/service');var qs=require(_0x5dca('0x12'));var as=require(_0x5dca('0x13'));var hardwareService=require(_0x5dca('0x14'));var logger=require(_0x5dca('0x15'))(_0x5dca('0x16'));var utils=require('../../config/utils');var config=require(_0x5dca('0x17'));var licenseUtil=require(_0x5dca('0x18'));var db=require(_0x5dca('0x19'))['db'];function respondWithStatusCode(_0x1ae9a2,_0x10a1f6){_0x10a1f6=_0x10a1f6||0xcc;return function(_0x231659){if(_0x231659){return _0x1ae9a2[_0x5dca('0x1a')](_0x10a1f6);}return _0x1ae9a2[_0x5dca('0x1b')](_0x10a1f6)[_0x5dca('0x1c')]();};}function respondWithResult(_0x334163,_0x1cbe2a){_0x1cbe2a=_0x1cbe2a||0xc8;return function(_0x1b4902){if(_0x1b4902){return _0x334163[_0x5dca('0x1b')](_0x1cbe2a)[_0x5dca('0x1d')](_0x1b4902);}};}function respondWithFilteredResult(_0x4f6fe6,_0x34f054){return function(_0x5b62ba){if(_0x5b62ba){var _0x1444f1=typeof _0x34f054['offset']==='undefined'&&typeof _0x34f054['limit']===_0x5dca('0x1e');var _0x4548f4=_0x5b62ba[_0x5dca('0x1f')];var _0x3cbb64=_0x1444f1?0x0:_0x34f054[_0x5dca('0x20')];var _0x249e85=_0x1444f1?_0x5b62ba[_0x5dca('0x1f')]:_0x34f054['offset']+_0x34f054[_0x5dca('0x21')];var _0x45cef4;if(_0x249e85>=_0x4548f4){_0x249e85=_0x4548f4;_0x45cef4=0xc8;}else{_0x45cef4=0xce;}_0x4f6fe6[_0x5dca('0x1b')](_0x45cef4);return _0x4f6fe6[_0x5dca('0x22')](_0x5dca('0x23'),_0x3cbb64+'-'+_0x249e85+'/'+_0x4548f4)[_0x5dca('0x1d')](_0x5b62ba);}return null;};}function patchUpdates(_0x16bf89){return function(_0x36af01){try{jsonpatch[_0x5dca('0x24')](_0x36af01,_0x16bf89,!![]);}catch(_0x25854a){return BPromise[_0x5dca('0x25')](_0x25854a);}return _0x36af01['save']();};}function saveUpdates(_0x387902,_0x555d14){return function(_0x1e81ea){if(_0x1e81ea){return _0x1e81ea['update'](_0x387902)[_0x5dca('0x26')](function(_0x30abf5){return _0x30abf5;});}return null;};}function removeEntity(_0x2fdae9,_0x454dcb){return function(_0x51b789){if(_0x51b789){return _0x51b789[_0x5dca('0x27')]()[_0x5dca('0x26')](function(){var _0x266b94=_0x51b789['get']({'plain':!![]});var _0x565faa='Pauses';return db[_0x5dca('0x28')]['destroy']({'where':{'type':_0x565faa,'resourceId':_0x266b94['id']}})[_0x5dca('0x26')](function(){return _0x51b789;});})[_0x5dca('0x26')](function(){_0x2fdae9[_0x5dca('0x1b')](0xcc)[_0x5dca('0x1c')]();});}};}function handleEntityNotFound(_0x1d708c,_0x77396d){return function(_0x26c4d1){if(!_0x26c4d1){_0x1d708c[_0x5dca('0x1a')](0x194);}return _0x26c4d1;};}function handleError(_0x4fab64,_0x24c179){_0x24c179=_0x24c179||0x1f4;return function(_0xbf8fb5){logger[_0x5dca('0x29')](_0xbf8fb5['stack']);if(_0xbf8fb5[_0x5dca('0x2a')]){delete _0xbf8fb5[_0x5dca('0x2a')];}_0x4fab64['status'](_0x24c179)[_0x5dca('0x2b')](_0xbf8fb5);};}exports[_0x5dca('0x2c')]=function(_0x346bad,_0x533d0a){var _0xfcc753={},_0x2318fd={},_0xe5dcd0={'count':0x0,'rows':[]};var _0xeb9b36=_[_0x5dca('0x2d')](db[_0x5dca('0x2e')][_0x5dca('0x2f')],function(_0x1f634d){return{'name':_0x1f634d[_0x5dca('0x30')],'type':_0x1f634d['type']['key']};});_0x2318fd['model']=_[_0x5dca('0x2d')](_0xeb9b36,_0x5dca('0x2a'));_0x2318fd[_0x5dca('0x31')]=_['keys'](_0x346bad[_0x5dca('0x31')]);_0x2318fd[_0x5dca('0x32')]=_[_0x5dca('0x33')](_0x2318fd[_0x5dca('0x34')],_0x2318fd[_0x5dca('0x31')]);_0xfcc753[_0x5dca('0x35')]=_['intersection'](_0x2318fd[_0x5dca('0x34')],qs[_0x5dca('0x36')](_0x346bad[_0x5dca('0x31')][_0x5dca('0x36')]));_0xfcc753[_0x5dca('0x35')]=_0xfcc753[_0x5dca('0x35')][_0x5dca('0x37')]?_0xfcc753[_0x5dca('0x35')]:_0x2318fd[_0x5dca('0x34')];if(!_0x346bad[_0x5dca('0x31')][_0x5dca('0x38')](_0x5dca('0x39'))){_0xfcc753[_0x5dca('0x21')]=qs[_0x5dca('0x21')](_0x346bad['query'][_0x5dca('0x21')]);_0xfcc753[_0x5dca('0x20')]=qs[_0x5dca('0x20')](_0x346bad[_0x5dca('0x31')]['offset']);}_0xfcc753[_0x5dca('0x3a')]=qs['sort'](_0x346bad[_0x5dca('0x31')][_0x5dca('0x3b')]);_0xfcc753[_0x5dca('0x3c')]=qs[_0x5dca('0x32')](_[_0x5dca('0x3d')](_0x346bad[_0x5dca('0x31')],_0x2318fd[_0x5dca('0x32')]),_0xeb9b36);if(_0x346bad['query'][_0x5dca('0x3e')]){_0xfcc753[_0x5dca('0x3c')]=_[_0x5dca('0x3f')](_0xfcc753['where'],{'$or':_[_0x5dca('0x2d')](_0xeb9b36,function(_0x118a95){if(_0x118a95[_0x5dca('0x40')]!==_0x5dca('0x41')){var _0x4aca30={};_0x4aca30[_0x118a95['name']]={'$like':'%'+_0x346bad[_0x5dca('0x31')]['filter']+'%'};return _0x4aca30;}})});}_0xfcc753=_[_0x5dca('0x3f')]({},_0xfcc753,_0x346bad[_0x5dca('0x42')]);var _0x597eec={'where':_0xfcc753[_0x5dca('0x3c')]};return db[_0x5dca('0x2e')][_0x5dca('0x1f')](_0x597eec)[_0x5dca('0x26')](function(_0x6d09eb){_0xe5dcd0['count']=_0x6d09eb;if(_0x346bad[_0x5dca('0x31')]['includeAll']){_0xfcc753[_0x5dca('0x43')]=[{'all':!![]}];}return db['Pause'][_0x5dca('0x44')](_0xfcc753);})['then'](function(_0x396afa){_0xe5dcd0[_0x5dca('0x45')]=_0x396afa;return _0xe5dcd0;})[_0x5dca('0x26')](respondWithFilteredResult(_0x533d0a,_0xfcc753))[_0x5dca('0x46')](handleError(_0x533d0a,null));};exports[_0x5dca('0x47')]=function(_0x4c8d39,_0x3d71fb){var _0x433b52={'raw':!![],'where':{'id':_0x4c8d39[_0x5dca('0x48')]['id']}},_0x11a5b3={};_0x11a5b3[_0x5dca('0x34')]=_['keys'](db[_0x5dca('0x2e')][_0x5dca('0x2f')]);_0x11a5b3['query']=_[_0x5dca('0x49')](_0x4c8d39[_0x5dca('0x31')]);_0x11a5b3[_0x5dca('0x32')]=_[_0x5dca('0x33')](_0x11a5b3[_0x5dca('0x34')],_0x11a5b3['query']);_0x433b52[_0x5dca('0x35')]=_[_0x5dca('0x33')](_0x11a5b3[_0x5dca('0x34')],qs[_0x5dca('0x36')](_0x4c8d39[_0x5dca('0x31')][_0x5dca('0x36')]));_0x433b52[_0x5dca('0x35')]=_0x433b52[_0x5dca('0x35')][_0x5dca('0x37')]?_0x433b52[_0x5dca('0x35')]:_0x11a5b3['model'];if(_0x4c8d39['query'][_0x5dca('0x4a')]){_0x433b52[_0x5dca('0x43')]=[{'all':!![]}];}_0x433b52=_[_0x5dca('0x3f')]({},_0x433b52,_0x4c8d39[_0x5dca('0x42')]);return db[_0x5dca('0x2e')][_0x5dca('0x4b')](_0x433b52)[_0x5dca('0x26')](handleEntityNotFound(_0x3d71fb,null))['then'](respondWithResult(_0x3d71fb,null))[_0x5dca('0x46')](handleError(_0x3d71fb,null));};exports[_0x5dca('0x4c')]=function(_0x27631f,_0x82613e){return db[_0x5dca('0x2e')]['create'](_0x27631f[_0x5dca('0x4d')],{})[_0x5dca('0x26')](function(_0x3e6ffd){var _0x2c91c1=_0x27631f[_0x5dca('0x4e')]['get']({'plain':!![]});if(!_0x2c91c1)throw new Error(_0x5dca('0x4f'));if(_0x2c91c1[_0x5dca('0x50')]===_0x5dca('0x4e')){var _0x30f079=_0x3e6ffd[_0x5dca('0x51')]({'plain':!![]});var _0x59fdc9='Pauses';return db[_0x5dca('0x52')]['find']({'where':{'name':_0x59fdc9,'userProfileId':_0x2c91c1[_0x5dca('0x53')]},'raw':!![]})['then'](function(_0x1a1da3){if(_0x1a1da3&&_0x1a1da3[_0x5dca('0x54')]===0x0){return db[_0x5dca('0x28')][_0x5dca('0x4c')]({'name':_0x30f079[_0x5dca('0x2a')],'resourceId':_0x30f079['id'],'type':_0x1a1da3[_0x5dca('0x2a')],'sectionId':_0x1a1da3['id']},{})[_0x5dca('0x26')](function(){return _0x3e6ffd;});}else{return _0x3e6ffd;}})[_0x5dca('0x46')](function(_0x290b1a){logger[_0x5dca('0x29')](_0x5dca('0x55'),_0x290b1a);throw _0x290b1a;});}return _0x3e6ffd;})['then'](respondWithResult(_0x82613e,0xc9))[_0x5dca('0x46')](handleError(_0x82613e,null));};exports['update']=function(_0x1baf98,_0x415a26){if(_0x1baf98[_0x5dca('0x4d')]['id']){delete _0x1baf98['body']['id'];}return db[_0x5dca('0x2e')][_0x5dca('0x4b')]({'where':{'id':_0x1baf98[_0x5dca('0x48')]['id']}})[_0x5dca('0x26')](handleEntityNotFound(_0x415a26,null))[_0x5dca('0x26')](saveUpdates(_0x1baf98[_0x5dca('0x4d')],null))[_0x5dca('0x26')](respondWithResult(_0x415a26,null))[_0x5dca('0x46')](handleError(_0x415a26,null));};exports[_0x5dca('0x27')]=function(_0x381a12,_0x3680a7){return db[_0x5dca('0x2e')]['find']({'where':{'id':_0x381a12[_0x5dca('0x48')]['id']}})[_0x5dca('0x26')](handleEntityNotFound(_0x3680a7,null))[_0x5dca('0x26')](removeEntity(_0x3680a7,null))[_0x5dca('0x46')](handleError(_0x3680a7,null));};