Built motion from commit 10af8726.|2.6.34
[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 _0x426c=['apply','reject','save','then','get','Pauses','UserProfileResource','error','stack','name','send','map','fieldName','type','key','model','query','keys','filters','intersection','attributes','length','nolimit','order','sort','where','pick','merge','filter','options','Pause','count','includeAll','include','rows','catch','show','params','rawAttributes','fields','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','destroy','rimraf','zip-dir','moment','bluebird','mustache','util','path','sox','ejs','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','sendStatus','status','end','json','offset','undefined','limit','set','Content-Range'];(function(_0x1e8f35,_0x3db390){var _0x446c13=function(_0xa1e11e){while(--_0xa1e11e){_0x1e8f35['push'](_0x1e8f35['shift']());}};_0x446c13(++_0x3db390);}(_0x426c,0xdc));var _0xc426=function(_0x73a84b,_0x23d3bb){_0x73a84b=_0x73a84b-0x0;var _0x9e2a66=_0x426c[_0x73a84b];return _0x9e2a66;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xc426('0x0'));var zipdir=require(_0xc426('0x1'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0xc426('0x2'));var BPromise=require(_0xc426('0x3'));var Mustache=require(_0xc426('0x4'));var util=require(_0xc426('0x5'));var path=require(_0xc426('0x6'));var sox=require(_0xc426('0x7'));var csv=require('to-csv');var ejs=require(_0xc426('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xc426('0x9'));var squel=require(_0xc426('0xa'));var crypto=require(_0xc426('0xb'));var jsforce=require(_0xc426('0xc'));var deskjs=require(_0xc426('0xd'));var toCsv=require(_0xc426('0xe'));var querystring=require(_0xc426('0xf'));var Papa=require(_0xc426('0x10'));var Redis=require(_0xc426('0x11'));var authService=require(_0xc426('0x12'));var qs=require(_0xc426('0x13'));var as=require(_0xc426('0x14'));var hardwareService=require(_0xc426('0x15'));var logger=require(_0xc426('0x16'))(_0xc426('0x17'));var utils=require(_0xc426('0x18'));var config=require(_0xc426('0x19'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x30fc88,_0x47b800){_0x47b800=_0x47b800||0xcc;return function(_0x14c39d){if(_0x14c39d){return _0x30fc88[_0xc426('0x1a')](_0x47b800);}return _0x30fc88[_0xc426('0x1b')](_0x47b800)[_0xc426('0x1c')]();};}function respondWithResult(_0x354684,_0x2a17ff){_0x2a17ff=_0x2a17ff||0xc8;return function(_0x1f29ea){if(_0x1f29ea){return _0x354684[_0xc426('0x1b')](_0x2a17ff)[_0xc426('0x1d')](_0x1f29ea);}};}function respondWithFilteredResult(_0x17541e,_0x4b7ee8){return function(_0x26c20f){if(_0x26c20f){var _0x88bc2d=typeof _0x4b7ee8[_0xc426('0x1e')]===_0xc426('0x1f')&&typeof _0x4b7ee8['limit']===_0xc426('0x1f');var _0x581a2c=_0x26c20f['count'];var _0x47c997=_0x88bc2d?0x0:_0x4b7ee8['offset'];var _0x4ea644=_0x88bc2d?_0x26c20f['count']:_0x4b7ee8['offset']+_0x4b7ee8[_0xc426('0x20')];var _0x20a2af;if(_0x4ea644>=_0x581a2c){_0x4ea644=_0x581a2c;_0x20a2af=0xc8;}else{_0x20a2af=0xce;}_0x17541e['status'](_0x20a2af);return _0x17541e[_0xc426('0x21')](_0xc426('0x22'),_0x47c997+'-'+_0x4ea644+'/'+_0x581a2c)['json'](_0x26c20f);}return null;};}function patchUpdates(_0x5bdf10){return function(_0x146c4c){try{jsonpatch[_0xc426('0x23')](_0x146c4c,_0x5bdf10,!![]);}catch(_0x43aa38){return BPromise[_0xc426('0x24')](_0x43aa38);}return _0x146c4c[_0xc426('0x25')]();};}function saveUpdates(_0x1cfd52,_0x2d6fa4){return function(_0x1bcbc4){if(_0x1bcbc4){return _0x1bcbc4['update'](_0x1cfd52)[_0xc426('0x26')](function(_0x3bf417){return _0x3bf417;});}return null;};}function removeEntity(_0x2e438c,_0x1db1cd){return function(_0x439479){if(_0x439479){return _0x439479['destroy']()[_0xc426('0x26')](function(){var _0x1f80a7=_0x439479[_0xc426('0x27')]({'plain':!![]});var _0x13da2f=_0xc426('0x28');return db[_0xc426('0x29')]['destroy']({'where':{'type':_0x13da2f,'resourceId':_0x1f80a7['id']}})[_0xc426('0x26')](function(){return _0x439479;});})['then'](function(){_0x2e438c['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x543e09,_0x47a241){return function(_0x3a63d0){if(!_0x3a63d0){_0x543e09['sendStatus'](0x194);}return _0x3a63d0;};}function handleError(_0x242bee,_0x4e78d0){_0x4e78d0=_0x4e78d0||0x1f4;return function(_0xe13c20){logger[_0xc426('0x2a')](_0xe13c20[_0xc426('0x2b')]);if(_0xe13c20[_0xc426('0x2c')]){delete _0xe13c20[_0xc426('0x2c')];}_0x242bee[_0xc426('0x1b')](_0x4e78d0)[_0xc426('0x2d')](_0xe13c20);};}exports['index']=function(_0x46a027,_0x2aa966){var _0x258ab0={},_0x24fd42={},_0x3ea4fd={'count':0x0,'rows':[]};var _0x189528=_[_0xc426('0x2e')](db['Pause']['rawAttributes'],function(_0x3e69d0){return{'name':_0x3e69d0[_0xc426('0x2f')],'type':_0x3e69d0[_0xc426('0x30')][_0xc426('0x31')]};});_0x24fd42[_0xc426('0x32')]=_[_0xc426('0x2e')](_0x189528,_0xc426('0x2c'));_0x24fd42[_0xc426('0x33')]=_[_0xc426('0x34')](_0x46a027[_0xc426('0x33')]);_0x24fd42[_0xc426('0x35')]=_[_0xc426('0x36')](_0x24fd42[_0xc426('0x32')],_0x24fd42[_0xc426('0x33')]);_0x258ab0[_0xc426('0x37')]=_[_0xc426('0x36')](_0x24fd42[_0xc426('0x32')],qs['fields'](_0x46a027[_0xc426('0x33')]['fields']));_0x258ab0[_0xc426('0x37')]=_0x258ab0[_0xc426('0x37')][_0xc426('0x38')]?_0x258ab0['attributes']:_0x24fd42[_0xc426('0x32')];if(!_0x46a027['query']['hasOwnProperty'](_0xc426('0x39'))){_0x258ab0['limit']=qs[_0xc426('0x20')](_0x46a027['query'][_0xc426('0x20')]);_0x258ab0[_0xc426('0x1e')]=qs[_0xc426('0x1e')](_0x46a027[_0xc426('0x33')][_0xc426('0x1e')]);}_0x258ab0[_0xc426('0x3a')]=qs['sort'](_0x46a027[_0xc426('0x33')][_0xc426('0x3b')]);_0x258ab0[_0xc426('0x3c')]=qs['filters'](_[_0xc426('0x3d')](_0x46a027['query'],_0x24fd42[_0xc426('0x35')]),_0x189528);if(_0x46a027[_0xc426('0x33')]['filter']){_0x258ab0[_0xc426('0x3c')]=_[_0xc426('0x3e')](_0x258ab0[_0xc426('0x3c')],{'$or':_[_0xc426('0x2e')](_0x189528,function(_0xa93131){if(_0xa93131[_0xc426('0x30')]!=='VIRTUAL'){var _0x1a9f1d={};_0x1a9f1d[_0xa93131[_0xc426('0x2c')]]={'$like':'%'+_0x46a027[_0xc426('0x33')][_0xc426('0x3f')]+'%'};return _0x1a9f1d;}})});}_0x258ab0=_[_0xc426('0x3e')]({},_0x258ab0,_0x46a027[_0xc426('0x40')]);var _0xf3bf1a={'where':_0x258ab0[_0xc426('0x3c')]};return db[_0xc426('0x41')][_0xc426('0x42')](_0xf3bf1a)[_0xc426('0x26')](function(_0x38187b){_0x3ea4fd[_0xc426('0x42')]=_0x38187b;if(_0x46a027['query'][_0xc426('0x43')]){_0x258ab0[_0xc426('0x44')]=[{'all':!![]}];}return db[_0xc426('0x41')]['findAll'](_0x258ab0);})[_0xc426('0x26')](function(_0x3118cf){_0x3ea4fd[_0xc426('0x45')]=_0x3118cf;return _0x3ea4fd;})[_0xc426('0x26')](respondWithFilteredResult(_0x2aa966,_0x258ab0))[_0xc426('0x46')](handleError(_0x2aa966,null));};exports[_0xc426('0x47')]=function(_0x448993,_0x219cbf){var _0x4c6694={'raw':!![],'where':{'id':_0x448993[_0xc426('0x48')]['id']}},_0xfe1717={};_0xfe1717['model']=_[_0xc426('0x34')](db['Pause'][_0xc426('0x49')]);_0xfe1717[_0xc426('0x33')]=_['keys'](_0x448993[_0xc426('0x33')]);_0xfe1717['filters']=_[_0xc426('0x36')](_0xfe1717[_0xc426('0x32')],_0xfe1717[_0xc426('0x33')]);_0x4c6694[_0xc426('0x37')]=_[_0xc426('0x36')](_0xfe1717[_0xc426('0x32')],qs[_0xc426('0x4a')](_0x448993[_0xc426('0x33')][_0xc426('0x4a')]));_0x4c6694[_0xc426('0x37')]=_0x4c6694['attributes'][_0xc426('0x38')]?_0x4c6694[_0xc426('0x37')]:_0xfe1717[_0xc426('0x32')];if(_0x448993[_0xc426('0x33')][_0xc426('0x43')]){_0x4c6694[_0xc426('0x44')]=[{'all':!![]}];}_0x4c6694=_[_0xc426('0x3e')]({},_0x4c6694,_0x448993['options']);return db[_0xc426('0x41')][_0xc426('0x4b')](_0x4c6694)[_0xc426('0x26')](handleEntityNotFound(_0x219cbf,null))['then'](respondWithResult(_0x219cbf,null))[_0xc426('0x46')](handleError(_0x219cbf,null));};exports['create']=function(_0x5c684d,_0x48e5b7){return db[_0xc426('0x41')][_0xc426('0x4c')](_0x5c684d[_0xc426('0x4d')],{})['then'](function(_0x3bef6e){var _0x2667d0=_0x5c684d[_0xc426('0x4e')]['get']({'plain':!![]});if(!_0x2667d0)throw new Error(_0xc426('0x4f'));if(_0x2667d0[_0xc426('0x50')]===_0xc426('0x4e')){var _0x17efde=_0x3bef6e[_0xc426('0x27')]({'plain':!![]});var _0x34fdfe='Pauses';return db['UserProfileSection']['find']({'where':{'name':_0x34fdfe,'userProfileId':_0x2667d0[_0xc426('0x51')]},'raw':!![]})[_0xc426('0x26')](function(_0x1db25a){if(_0x1db25a&&_0x1db25a[_0xc426('0x52')]===0x0){return db[_0xc426('0x29')][_0xc426('0x4c')]({'name':_0x17efde['name'],'resourceId':_0x17efde['id'],'type':_0x1db25a['name'],'sectionId':_0x1db25a['id']},{})['then'](function(){return _0x3bef6e;});}else{return _0x3bef6e;}})[_0xc426('0x46')](function(_0x1d29d5){logger[_0xc426('0x2a')](_0xc426('0x53'),_0x1d29d5);throw _0x1d29d5;});}return _0x3bef6e;})[_0xc426('0x26')](respondWithResult(_0x48e5b7,0xc9))['catch'](handleError(_0x48e5b7,null));};exports['update']=function(_0x1a44a3,_0x39bc7b){if(_0x1a44a3[_0xc426('0x4d')]['id']){delete _0x1a44a3[_0xc426('0x4d')]['id'];}return db[_0xc426('0x41')][_0xc426('0x4b')]({'where':{'id':_0x1a44a3['params']['id']}})[_0xc426('0x26')](handleEntityNotFound(_0x39bc7b,null))['then'](saveUpdates(_0x1a44a3[_0xc426('0x4d')],null))[_0xc426('0x26')](respondWithResult(_0x39bc7b,null))[_0xc426('0x46')](handleError(_0x39bc7b,null));};exports[_0xc426('0x54')]=function(_0x23cf32,_0x3a1367){return db[_0xc426('0x41')][_0xc426('0x4b')]({'where':{'id':_0x23cf32['params']['id']}})[_0xc426('0x26')](handleEntityNotFound(_0x3a1367,null))[_0xc426('0x26')](removeEntity(_0x3a1367,null))['catch'](handleError(_0x3a1367,null));};