6d6e8064dd79cc68590e8c1dd7ce089ef5ecf30d
[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 _0x0fec=['Pauses','UserProfileResource','error','stack','name','send','index','map','fieldName','type','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','order','sort','where','filters','pick','filter','merge','VIRTUAL','options','Pause','includeAll','include','findAll','catch','show','rawAttributes','create','body','user','UserProfileSection','find','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','eml-format','rimraf','zip-dir','request-promise','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','lodash','crypto','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','destroy','get'];(function(_0x42c175,_0x4011b7){var _0x45e1c5=function(_0x10f2e6){while(--_0x10f2e6){_0x42c175['push'](_0x42c175['shift']());}};_0x45e1c5(++_0x4011b7);}(_0x0fec,0x1be));var _0xc0fe=function(_0x45fe5a,_0x37e880){_0x45fe5a=_0x45fe5a-0x0;var _0xe77216=_0x0fec[_0x45fe5a];return _0xe77216;};'use strict';var emlformat=require(_0xc0fe('0x0'));var rimraf=require(_0xc0fe('0x1'));var zipdir=require(_0xc0fe('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xc0fe('0x3'));var moment=require('moment');var BPromise=require(_0xc0fe('0x4'));var Mustache=require(_0xc0fe('0x5'));var util=require('util');var path=require(_0xc0fe('0x6'));var sox=require(_0xc0fe('0x7'));var csv=require(_0xc0fe('0x8'));var ejs=require(_0xc0fe('0x9'));var fs=require('fs');var fs_extra=require(_0xc0fe('0xa'));var _=require(_0xc0fe('0xb'));var squel=require('squel');var crypto=require(_0xc0fe('0xc'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0xc0fe('0xd'));var Redis=require(_0xc0fe('0xe'));var authService=require(_0xc0fe('0xf'));var qs=require(_0xc0fe('0x10'));var as=require(_0xc0fe('0x11'));var hardwareService=require(_0xc0fe('0x12'));var logger=require(_0xc0fe('0x13'))(_0xc0fe('0x14'));var utils=require(_0xc0fe('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0xc0fe('0x16'));var db=require(_0xc0fe('0x17'))['db'];function respondWithStatusCode(_0x4e7d0b,_0x4403ea){_0x4403ea=_0x4403ea||0xcc;return function(_0x30c4b7){if(_0x30c4b7){return _0x4e7d0b[_0xc0fe('0x18')](_0x4403ea);}return _0x4e7d0b[_0xc0fe('0x19')](_0x4403ea)['end']();};}function respondWithResult(_0x5116dd,_0x4edb1d){_0x4edb1d=_0x4edb1d||0xc8;return function(_0x55e605){if(_0x55e605){return _0x5116dd[_0xc0fe('0x19')](_0x4edb1d)[_0xc0fe('0x1a')](_0x55e605);}};}function respondWithFilteredResult(_0x50f056,_0x49bf51){return function(_0x88bc74){if(_0x88bc74){var _0xe4fe72=typeof _0x49bf51[_0xc0fe('0x1b')]===_0xc0fe('0x1c')&&typeof _0x49bf51[_0xc0fe('0x1d')]===_0xc0fe('0x1c');var _0x9f955a=_0x88bc74[_0xc0fe('0x1e')];var _0x4339e6=_0xe4fe72?0x0:_0x49bf51[_0xc0fe('0x1b')];var _0xe7a408=_0xe4fe72?_0x88bc74['count']:_0x49bf51[_0xc0fe('0x1b')]+_0x49bf51[_0xc0fe('0x1d')];var _0x2eafad;if(_0xe7a408>=_0x9f955a){_0xe7a408=_0x9f955a;_0x2eafad=0xc8;}else{_0x2eafad=0xce;}_0x50f056['status'](_0x2eafad);return _0x50f056[_0xc0fe('0x1f')](_0xc0fe('0x20'),_0x4339e6+'-'+_0xe7a408+'/'+_0x9f955a)['json'](_0x88bc74);}return null;};}function patchUpdates(_0x163a5e){return function(_0x238519){try{jsonpatch[_0xc0fe('0x21')](_0x238519,_0x163a5e,!![]);}catch(_0x3387f7){return BPromise[_0xc0fe('0x22')](_0x3387f7);}return _0x238519[_0xc0fe('0x23')]();};}function saveUpdates(_0x4c66f7,_0x50d65a){return function(_0x4966b3){if(_0x4966b3){return _0x4966b3[_0xc0fe('0x24')](_0x4c66f7)[_0xc0fe('0x25')](function(_0x2f2e14){return _0x2f2e14;});}return null;};}function removeEntity(_0x2f421e,_0x3bc655){return function(_0x40c44e){if(_0x40c44e){return _0x40c44e[_0xc0fe('0x26')]()[_0xc0fe('0x25')](function(){var _0x120b2a=_0x40c44e[_0xc0fe('0x27')]({'plain':!![]});var _0x997e33=_0xc0fe('0x28');return db[_0xc0fe('0x29')][_0xc0fe('0x26')]({'where':{'type':_0x997e33,'resourceId':_0x120b2a['id']}})[_0xc0fe('0x25')](function(){return _0x40c44e;});})[_0xc0fe('0x25')](function(){_0x2f421e['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x527de1,_0x10f8c5){return function(_0x38c597){if(!_0x38c597){_0x527de1['sendStatus'](0x194);}return _0x38c597;};}function handleError(_0x2d4e7e,_0x4a1b32){_0x4a1b32=_0x4a1b32||0x1f4;return function(_0x2b5a63){logger[_0xc0fe('0x2a')](_0x2b5a63[_0xc0fe('0x2b')]);if(_0x2b5a63['name']){delete _0x2b5a63[_0xc0fe('0x2c')];}_0x2d4e7e['status'](_0x4a1b32)[_0xc0fe('0x2d')](_0x2b5a63);};}exports[_0xc0fe('0x2e')]=function(_0x3974ae,_0x5ea514){var _0x35cf9a={},_0x1c66e7={},_0x835ac2={'count':0x0,'rows':[]};var _0x2462ba=_[_0xc0fe('0x2f')](db['Pause']['rawAttributes'],function(_0x2b768a){return{'name':_0x2b768a[_0xc0fe('0x30')],'type':_0x2b768a[_0xc0fe('0x31')]['key']};});_0x1c66e7[_0xc0fe('0x32')]=_['map'](_0x2462ba,_0xc0fe('0x2c'));_0x1c66e7[_0xc0fe('0x33')]=_[_0xc0fe('0x34')](_0x3974ae['query']);_0x1c66e7['filters']=_[_0xc0fe('0x35')](_0x1c66e7[_0xc0fe('0x32')],_0x1c66e7[_0xc0fe('0x33')]);_0x35cf9a[_0xc0fe('0x36')]=_[_0xc0fe('0x35')](_0x1c66e7[_0xc0fe('0x32')],qs['fields'](_0x3974ae[_0xc0fe('0x33')][_0xc0fe('0x37')]));_0x35cf9a['attributes']=_0x35cf9a[_0xc0fe('0x36')][_0xc0fe('0x38')]?_0x35cf9a['attributes']:_0x1c66e7['model'];if(!_0x3974ae[_0xc0fe('0x33')][_0xc0fe('0x39')]('nolimit')){_0x35cf9a[_0xc0fe('0x1d')]=qs['limit'](_0x3974ae[_0xc0fe('0x33')][_0xc0fe('0x1d')]);_0x35cf9a[_0xc0fe('0x1b')]=qs[_0xc0fe('0x1b')](_0x3974ae['query'][_0xc0fe('0x1b')]);}_0x35cf9a[_0xc0fe('0x3a')]=qs[_0xc0fe('0x3b')](_0x3974ae['query'][_0xc0fe('0x3b')]);_0x35cf9a[_0xc0fe('0x3c')]=qs[_0xc0fe('0x3d')](_[_0xc0fe('0x3e')](_0x3974ae[_0xc0fe('0x33')],_0x1c66e7[_0xc0fe('0x3d')]),_0x2462ba);if(_0x3974ae['query'][_0xc0fe('0x3f')]){_0x35cf9a[_0xc0fe('0x3c')]=_[_0xc0fe('0x40')](_0x35cf9a[_0xc0fe('0x3c')],{'$or':_['map'](_0x2462ba,function(_0x568243){if(_0x568243['type']!==_0xc0fe('0x41')){var _0x42e419={};_0x42e419[_0x568243[_0xc0fe('0x2c')]]={'$like':'%'+_0x3974ae['query'][_0xc0fe('0x3f')]+'%'};return _0x42e419;}})});}_0x35cf9a=_['merge']({},_0x35cf9a,_0x3974ae[_0xc0fe('0x42')]);var _0x4c6a30={'where':_0x35cf9a['where']};return db[_0xc0fe('0x43')][_0xc0fe('0x1e')](_0x4c6a30)[_0xc0fe('0x25')](function(_0x467f05){_0x835ac2['count']=_0x467f05;if(_0x3974ae[_0xc0fe('0x33')][_0xc0fe('0x44')]){_0x35cf9a[_0xc0fe('0x45')]=[{'all':!![]}];}return db[_0xc0fe('0x43')][_0xc0fe('0x46')](_0x35cf9a);})[_0xc0fe('0x25')](function(_0x38d8dd){_0x835ac2['rows']=_0x38d8dd;return _0x835ac2;})['then'](respondWithFilteredResult(_0x5ea514,_0x35cf9a))[_0xc0fe('0x47')](handleError(_0x5ea514,null));};exports[_0xc0fe('0x48')]=function(_0x524767,_0x5c1907){var _0x791098={'raw':!![],'where':{'id':_0x524767['params']['id']}},_0x593113={};_0x593113[_0xc0fe('0x32')]=_['keys'](db[_0xc0fe('0x43')][_0xc0fe('0x49')]);_0x593113[_0xc0fe('0x33')]=_[_0xc0fe('0x34')](_0x524767[_0xc0fe('0x33')]);_0x593113[_0xc0fe('0x3d')]=_[_0xc0fe('0x35')](_0x593113['model'],_0x593113[_0xc0fe('0x33')]);_0x791098[_0xc0fe('0x36')]=_[_0xc0fe('0x35')](_0x593113[_0xc0fe('0x32')],qs[_0xc0fe('0x37')](_0x524767[_0xc0fe('0x33')][_0xc0fe('0x37')]));_0x791098[_0xc0fe('0x36')]=_0x791098['attributes'][_0xc0fe('0x38')]?_0x791098['attributes']:_0x593113['model'];if(_0x524767[_0xc0fe('0x33')][_0xc0fe('0x44')]){_0x791098[_0xc0fe('0x45')]=[{'all':!![]}];}_0x791098=_[_0xc0fe('0x40')]({},_0x791098,_0x524767[_0xc0fe('0x42')]);return db[_0xc0fe('0x43')]['find'](_0x791098)[_0xc0fe('0x25')](handleEntityNotFound(_0x5c1907,null))[_0xc0fe('0x25')](respondWithResult(_0x5c1907,null))[_0xc0fe('0x47')](handleError(_0x5c1907,null));};exports[_0xc0fe('0x4a')]=function(_0x502cdd,_0x426118){return db[_0xc0fe('0x43')][_0xc0fe('0x4a')](_0x502cdd[_0xc0fe('0x4b')],{})[_0xc0fe('0x25')](function(_0x163c37){var _0x3da1d2=_0x502cdd[_0xc0fe('0x4c')][_0xc0fe('0x27')]({'plain':!![]});if(!_0x3da1d2)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x3da1d2['role']===_0xc0fe('0x4c')){var _0x4c827f=_0x163c37[_0xc0fe('0x27')]({'plain':!![]});var _0x416f29=_0xc0fe('0x28');return db[_0xc0fe('0x4d')][_0xc0fe('0x4e')]({'where':{'name':_0x416f29,'userProfileId':_0x3da1d2['userProfileId']},'raw':!![]})[_0xc0fe('0x25')](function(_0x1600bc){if(_0x1600bc&&_0x1600bc['autoAssociation']===0x0){return db[_0xc0fe('0x29')][_0xc0fe('0x4a')]({'name':_0x4c827f[_0xc0fe('0x2c')],'resourceId':_0x4c827f['id'],'type':_0x1600bc[_0xc0fe('0x2c')],'sectionId':_0x1600bc['id']},{})[_0xc0fe('0x25')](function(){return _0x163c37;});}else{return _0x163c37;}})[_0xc0fe('0x47')](function(_0x2d3dba){logger[_0xc0fe('0x2a')](_0xc0fe('0x4f'),_0x2d3dba);throw _0x2d3dba;});}return _0x163c37;})[_0xc0fe('0x25')](respondWithResult(_0x426118,0xc9))[_0xc0fe('0x47')](handleError(_0x426118,null));};exports[_0xc0fe('0x24')]=function(_0x1ae801,_0xe9040){if(_0x1ae801[_0xc0fe('0x4b')]['id']){delete _0x1ae801['body']['id'];}return db[_0xc0fe('0x43')][_0xc0fe('0x4e')]({'where':{'id':_0x1ae801[_0xc0fe('0x50')]['id']}})[_0xc0fe('0x25')](handleEntityNotFound(_0xe9040,null))[_0xc0fe('0x25')](saveUpdates(_0x1ae801[_0xc0fe('0x4b')],null))[_0xc0fe('0x25')](respondWithResult(_0xe9040,null))[_0xc0fe('0x47')](handleError(_0xe9040,null));};exports[_0xc0fe('0x26')]=function(_0x8a54ca,_0x3b70ce){return db[_0xc0fe('0x43')][_0xc0fe('0x4e')]({'where':{'id':_0x8a54ca[_0xc0fe('0x50')]['id']}})[_0xc0fe('0x25')](handleEntityNotFound(_0x3b70ce,null))[_0xc0fe('0x25')](removeEntity(_0x3b70ce,null))[_0xc0fe('0x47')](handleError(_0x3b70ce,null));};