Built motion from commit 2b9af5da.|2.6.26
[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 _0x1ac3=['map','query','keys','filters','intersection','model','fields','attributes','length','hasOwnProperty','nolimit','limit','order','pick','filter','merge','VIRTUAL','options','where','includeAll','findAll','rows','catch','show','params','include','find','create','body','user','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','querystring','ioredis','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','offset','undefined','count','set','Content-Range','json','apply','reject','save','update','then','destroy','get','Pauses','stack','name','send','Pause','rawAttributes','fieldName','type','key'];(function(_0x325247,_0x59554d){var _0x2aec52=function(_0x2426d6){while(--_0x2426d6){_0x325247['push'](_0x325247['shift']());}};_0x2aec52(++_0x59554d);}(_0x1ac3,0x77));var _0x31ac=function(_0x1694f5,_0x49b7c3){_0x1694f5=_0x1694f5-0x0;var _0x5b4321=_0x1ac3[_0x1694f5];return _0x5b4321;};'use strict';var emlformat=require(_0x31ac('0x0'));var rimraf=require(_0x31ac('0x1'));var zipdir=require(_0x31ac('0x2'));var jsonpatch=require(_0x31ac('0x3'));var rp=require('request-promise');var moment=require(_0x31ac('0x4'));var BPromise=require(_0x31ac('0x5'));var Mustache=require(_0x31ac('0x6'));var util=require(_0x31ac('0x7'));var path=require(_0x31ac('0x8'));var sox=require(_0x31ac('0x9'));var csv=require(_0x31ac('0xa'));var ejs=require(_0x31ac('0xb'));var fs=require('fs');var fs_extra=require(_0x31ac('0xc'));var _=require(_0x31ac('0xd'));var squel=require(_0x31ac('0xe'));var crypto=require('crypto');var jsforce=require(_0x31ac('0xf'));var deskjs=require(_0x31ac('0x10'));var toCsv=require(_0x31ac('0xa'));var querystring=require(_0x31ac('0x11'));var Papa=require('papaparse');var Redis=require(_0x31ac('0x12'));var authService=require('../../components/auth/service');var qs=require(_0x31ac('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x31ac('0x14'))(_0x31ac('0x15'));var utils=require(_0x31ac('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0x31ac('0x17'));var db=require(_0x31ac('0x18'))['db'];function respondWithStatusCode(_0x5813e3,_0x572337){_0x572337=_0x572337||0xcc;return function(_0x4c46bb){if(_0x4c46bb){return _0x5813e3[_0x31ac('0x19')](_0x572337);}return _0x5813e3[_0x31ac('0x1a')](_0x572337)['end']();};}function respondWithResult(_0x2059db,_0x4effa5){_0x4effa5=_0x4effa5||0xc8;return function(_0x3da521){if(_0x3da521){return _0x2059db[_0x31ac('0x1a')](_0x4effa5)['json'](_0x3da521);}};}function respondWithFilteredResult(_0x34af2d,_0x278672){return function(_0x3411de){if(_0x3411de){var _0x3b47d7=typeof _0x278672[_0x31ac('0x1b')]===_0x31ac('0x1c')&&typeof _0x278672['limit']===_0x31ac('0x1c');var _0x22a032=_0x3411de['count'];var _0x101656=_0x3b47d7?0x0:_0x278672[_0x31ac('0x1b')];var _0x1f36bd=_0x3b47d7?_0x3411de[_0x31ac('0x1d')]:_0x278672[_0x31ac('0x1b')]+_0x278672['limit'];var _0x175270;if(_0x1f36bd>=_0x22a032){_0x1f36bd=_0x22a032;_0x175270=0xc8;}else{_0x175270=0xce;}_0x34af2d['status'](_0x175270);return _0x34af2d[_0x31ac('0x1e')](_0x31ac('0x1f'),_0x101656+'-'+_0x1f36bd+'/'+_0x22a032)[_0x31ac('0x20')](_0x3411de);}return null;};}function patchUpdates(_0x247e6c){return function(_0x4c6531){try{jsonpatch[_0x31ac('0x21')](_0x4c6531,_0x247e6c,!![]);}catch(_0x588d6b){return BPromise[_0x31ac('0x22')](_0x588d6b);}return _0x4c6531[_0x31ac('0x23')]();};}function saveUpdates(_0x331529,_0x252228){return function(_0x40124d){if(_0x40124d){return _0x40124d[_0x31ac('0x24')](_0x331529)[_0x31ac('0x25')](function(_0xe9a2af){return _0xe9a2af;});}return null;};}function removeEntity(_0xfdfd8b,_0x4d7eae){return function(_0x3b6bac){if(_0x3b6bac){return _0x3b6bac[_0x31ac('0x26')]()[_0x31ac('0x25')](function(){var _0x4c5618=_0x3b6bac[_0x31ac('0x27')]({'plain':!![]});var _0x23afd3=_0x31ac('0x28');return db['UserProfileResource'][_0x31ac('0x26')]({'where':{'type':_0x23afd3,'resourceId':_0x4c5618['id']}})[_0x31ac('0x25')](function(){return _0x3b6bac;});})[_0x31ac('0x25')](function(){_0xfdfd8b['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x35d66e,_0x6ed378){return function(_0x1dba4a){if(!_0x1dba4a){_0x35d66e[_0x31ac('0x19')](0x194);}return _0x1dba4a;};}function handleError(_0x1866cc,_0x2d3638){_0x2d3638=_0x2d3638||0x1f4;return function(_0x3c7c7d){logger['error'](_0x3c7c7d[_0x31ac('0x29')]);if(_0x3c7c7d[_0x31ac('0x2a')]){delete _0x3c7c7d[_0x31ac('0x2a')];}_0x1866cc[_0x31ac('0x1a')](_0x2d3638)[_0x31ac('0x2b')](_0x3c7c7d);};}exports['index']=function(_0x510e9b,_0xbe899e){var _0x397b24={},_0x362ce7={},_0x305358={'count':0x0,'rows':[]};var _0x3cdcfb=_['map'](db[_0x31ac('0x2c')][_0x31ac('0x2d')],function(_0x1af539){return{'name':_0x1af539[_0x31ac('0x2e')],'type':_0x1af539[_0x31ac('0x2f')][_0x31ac('0x30')]};});_0x362ce7['model']=_[_0x31ac('0x31')](_0x3cdcfb,_0x31ac('0x2a'));_0x362ce7[_0x31ac('0x32')]=_[_0x31ac('0x33')](_0x510e9b[_0x31ac('0x32')]);_0x362ce7[_0x31ac('0x34')]=_[_0x31ac('0x35')](_0x362ce7[_0x31ac('0x36')],_0x362ce7['query']);_0x397b24['attributes']=_[_0x31ac('0x35')](_0x362ce7[_0x31ac('0x36')],qs[_0x31ac('0x37')](_0x510e9b['query'][_0x31ac('0x37')]));_0x397b24['attributes']=_0x397b24[_0x31ac('0x38')][_0x31ac('0x39')]?_0x397b24['attributes']:_0x362ce7[_0x31ac('0x36')];if(!_0x510e9b[_0x31ac('0x32')][_0x31ac('0x3a')](_0x31ac('0x3b'))){_0x397b24[_0x31ac('0x3c')]=qs[_0x31ac('0x3c')](_0x510e9b[_0x31ac('0x32')][_0x31ac('0x3c')]);_0x397b24[_0x31ac('0x1b')]=qs[_0x31ac('0x1b')](_0x510e9b[_0x31ac('0x32')]['offset']);}_0x397b24[_0x31ac('0x3d')]=qs['sort'](_0x510e9b[_0x31ac('0x32')]['sort']);_0x397b24['where']=qs[_0x31ac('0x34')](_[_0x31ac('0x3e')](_0x510e9b[_0x31ac('0x32')],_0x362ce7[_0x31ac('0x34')]),_0x3cdcfb);if(_0x510e9b['query'][_0x31ac('0x3f')]){_0x397b24['where']=_[_0x31ac('0x40')](_0x397b24['where'],{'$or':_[_0x31ac('0x31')](_0x3cdcfb,function(_0x6473c7){if(_0x6473c7[_0x31ac('0x2f')]!==_0x31ac('0x41')){var _0x37cd56={};_0x37cd56[_0x6473c7[_0x31ac('0x2a')]]={'$like':'%'+_0x510e9b[_0x31ac('0x32')]['filter']+'%'};return _0x37cd56;}})});}_0x397b24=_[_0x31ac('0x40')]({},_0x397b24,_0x510e9b[_0x31ac('0x42')]);var _0x1bb82b={'where':_0x397b24[_0x31ac('0x43')]};return db[_0x31ac('0x2c')][_0x31ac('0x1d')](_0x1bb82b)[_0x31ac('0x25')](function(_0x226b3b){_0x305358[_0x31ac('0x1d')]=_0x226b3b;if(_0x510e9b['query'][_0x31ac('0x44')]){_0x397b24['include']=[{'all':!![]}];}return db[_0x31ac('0x2c')][_0x31ac('0x45')](_0x397b24);})[_0x31ac('0x25')](function(_0x58856f){_0x305358[_0x31ac('0x46')]=_0x58856f;return _0x305358;})[_0x31ac('0x25')](respondWithFilteredResult(_0xbe899e,_0x397b24))[_0x31ac('0x47')](handleError(_0xbe899e,null));};exports[_0x31ac('0x48')]=function(_0x5832dc,_0x31bfe6){var _0x36e264={'raw':!![],'where':{'id':_0x5832dc[_0x31ac('0x49')]['id']}},_0x3869a5={};_0x3869a5[_0x31ac('0x36')]=_['keys'](db[_0x31ac('0x2c')]['rawAttributes']);_0x3869a5['query']=_['keys'](_0x5832dc['query']);_0x3869a5[_0x31ac('0x34')]=_[_0x31ac('0x35')](_0x3869a5[_0x31ac('0x36')],_0x3869a5[_0x31ac('0x32')]);_0x36e264[_0x31ac('0x38')]=_[_0x31ac('0x35')](_0x3869a5[_0x31ac('0x36')],qs[_0x31ac('0x37')](_0x5832dc[_0x31ac('0x32')][_0x31ac('0x37')]));_0x36e264[_0x31ac('0x38')]=_0x36e264[_0x31ac('0x38')][_0x31ac('0x39')]?_0x36e264[_0x31ac('0x38')]:_0x3869a5[_0x31ac('0x36')];if(_0x5832dc[_0x31ac('0x32')]['includeAll']){_0x36e264[_0x31ac('0x4a')]=[{'all':!![]}];}_0x36e264=_[_0x31ac('0x40')]({},_0x36e264,_0x5832dc['options']);return db['Pause'][_0x31ac('0x4b')](_0x36e264)['then'](handleEntityNotFound(_0x31bfe6,null))[_0x31ac('0x25')](respondWithResult(_0x31bfe6,null))[_0x31ac('0x47')](handleError(_0x31bfe6,null));};exports[_0x31ac('0x4c')]=function(_0x3342f4,_0x257ca4){return db[_0x31ac('0x2c')][_0x31ac('0x4c')](_0x3342f4[_0x31ac('0x4d')],{})[_0x31ac('0x25')](function(_0x57f2a7){var _0x10b248=_0x3342f4[_0x31ac('0x4e')][_0x31ac('0x27')]({'plain':!![]});if(!_0x10b248)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x10b248['role']===_0x31ac('0x4e')){var _0x72010e=_0x57f2a7[_0x31ac('0x27')]({'plain':!![]});var _0x30b8be=_0x31ac('0x28');return db[_0x31ac('0x4f')][_0x31ac('0x4b')]({'where':{'name':_0x30b8be,'userProfileId':_0x10b248[_0x31ac('0x50')]},'raw':!![]})[_0x31ac('0x25')](function(_0x510177){if(_0x510177&&_0x510177[_0x31ac('0x51')]===0x0){return db[_0x31ac('0x52')]['create']({'name':_0x72010e[_0x31ac('0x2a')],'resourceId':_0x72010e['id'],'type':_0x510177['name'],'sectionId':_0x510177['id']},{})[_0x31ac('0x25')](function(){return _0x57f2a7;});}else{return _0x57f2a7;}})['catch'](function(_0x2b5a2f){logger['error'](_0x31ac('0x53'),_0x2b5a2f);throw _0x2b5a2f;});}return _0x57f2a7;})['then'](respondWithResult(_0x257ca4,0xc9))[_0x31ac('0x47')](handleError(_0x257ca4,null));};exports[_0x31ac('0x24')]=function(_0x19c709,_0x551e99){if(_0x19c709[_0x31ac('0x4d')]['id']){delete _0x19c709[_0x31ac('0x4d')]['id'];}return db[_0x31ac('0x2c')][_0x31ac('0x4b')]({'where':{'id':_0x19c709[_0x31ac('0x49')]['id']}})[_0x31ac('0x25')](handleEntityNotFound(_0x551e99,null))[_0x31ac('0x25')](saveUpdates(_0x19c709[_0x31ac('0x4d')],null))[_0x31ac('0x25')](respondWithResult(_0x551e99,null))[_0x31ac('0x47')](handleError(_0x551e99,null));};exports[_0x31ac('0x26')]=function(_0x317bb9,_0x5bcb89){return db[_0x31ac('0x2c')][_0x31ac('0x4b')]({'where':{'id':_0x317bb9['params']['id']}})[_0x31ac('0x25')](handleEntityNotFound(_0x5bcb89,null))[_0x31ac('0x25')](removeEntity(_0x5bcb89,null))[_0x31ac('0x47')](handleError(_0x5bcb89,null));};