Built motion from commit (unavailable).|2.5.2
[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 _0x6023=['bluebird','path','sox','to-csv','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','save','update','then','destroy','get','Pauses','UserProfileResource','stack','name','send','index','map','Pause','rawAttributes','fieldName','key','model','query','filters','intersection','fields','length','nolimit','order','sort','where','filter','merge','type','VIRTUAL','options','includeAll','findAll','rows','catch','show','params','keys','attributes','find','create','body','user','role','userProfileId','autoAssociation','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise'];(function(_0x409deb,_0x2b731){var _0x15a4f7=function(_0x556510){while(--_0x556510){_0x409deb['push'](_0x409deb['shift']());}};_0x15a4f7(++_0x2b731);}(_0x6023,0xed));var _0x3602=function(_0x4456a0,_0x205168){_0x4456a0=_0x4456a0-0x0;var _0x292e5b=_0x6023[_0x4456a0];return _0x292e5b;};'use strict';var pdf=require(_0x3602('0x0'));var emlformat=require(_0x3602('0x1'));var rimraf=require(_0x3602('0x2'));var zipdir=require(_0x3602('0x3'));var jsonpatch=require(_0x3602('0x4'));var rp=require(_0x3602('0x5'));var moment=require('moment');var BPromise=require(_0x3602('0x6'));var Mustache=require('mustache');var util=require('util');var path=require(_0x3602('0x7'));var sox=require(_0x3602('0x8'));var csv=require(_0x3602('0x9'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x3602('0xa'));var squel=require('squel');var crypto=require(_0x3602('0xb'));var jsforce=require(_0x3602('0xc'));var deskjs=require(_0x3602('0xd'));var toCsv=require('to-csv');var querystring=require(_0x3602('0xe'));var Papa=require(_0x3602('0xf'));var Redis=require(_0x3602('0x10'));var authService=require(_0x3602('0x11'));var qs=require(_0x3602('0x12'));var as=require(_0x3602('0x13'));var hardwareService=require(_0x3602('0x14'));var logger=require(_0x3602('0x15'))(_0x3602('0x16'));var utils=require('../../config/utils');var config=require('../../config/environment');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x3f52d2,_0x5a5283){_0x5a5283=_0x5a5283||0xcc;return function(_0x32ee98){if(_0x32ee98){return _0x3f52d2[_0x3602('0x17')](_0x5a5283);}return _0x3f52d2[_0x3602('0x18')](_0x5a5283)[_0x3602('0x19')]();};}function respondWithResult(_0x123a53,_0xaf214e){_0xaf214e=_0xaf214e||0xc8;return function(_0x32aab8){if(_0x32aab8){return _0x123a53['status'](_0xaf214e)[_0x3602('0x1a')](_0x32aab8);}};}function respondWithFilteredResult(_0x4d44f2,_0x721e5d){return function(_0x53792a){if(_0x53792a){var _0x17a333=_0x53792a[_0x3602('0x1b')],_0x5db4e7=_0x721e5d[_0x3602('0x1c')],_0x91c793=_0x721e5d[_0x3602('0x1c')]+_0x721e5d[_0x3602('0x1d')],_0x54f6db;if(_0x91c793>=_0x17a333){_0x91c793=_0x17a333;_0x54f6db=0xc8;}else{_0x54f6db=0xce;}_0x4d44f2[_0x3602('0x18')](_0x54f6db);return _0x4d44f2[_0x3602('0x1e')](_0x3602('0x1f'),_0x5db4e7+'-'+_0x91c793+'/'+_0x17a333)['json'](_0x53792a);}return null;};}function patchUpdates(_0x3647e7){return function(_0x3e765f){try{jsonpatch[_0x3602('0x20')](_0x3e765f,_0x3647e7,!![]);}catch(_0x4ea259){return BPromise['reject'](_0x4ea259);}return _0x3e765f[_0x3602('0x21')]();};}function saveUpdates(_0x2009bc,_0xb3d5c9){return function(_0x222dea){if(_0x222dea){return _0x222dea[_0x3602('0x22')](_0x2009bc)[_0x3602('0x23')](function(_0x467231){return _0x467231;});}return null;};}function removeEntity(_0x388662,_0x1a905e){return function(_0x4c1e62){if(_0x4c1e62){return _0x4c1e62[_0x3602('0x24')]()[_0x3602('0x23')](function(){var _0x4fae29=_0x4c1e62[_0x3602('0x25')]({'plain':!![]});var _0xd98ebf=_0x3602('0x26');return db[_0x3602('0x27')][_0x3602('0x24')]({'where':{'type':_0xd98ebf,'resourceId':_0x4fae29['id']}})[_0x3602('0x23')](function(){return _0x4c1e62;});})[_0x3602('0x23')](function(){_0x388662[_0x3602('0x18')](0xcc)[_0x3602('0x19')]();});}};}function handleEntityNotFound(_0x3aede6,_0x52a8e5){return function(_0x4cdb62){if(!_0x4cdb62){_0x3aede6[_0x3602('0x17')](0x194);}return _0x4cdb62;};}function handleError(_0x44f09d,_0x579523){_0x579523=_0x579523||0x1f4;return function(_0xd99402){logger['error'](_0xd99402[_0x3602('0x28')]);if(_0xd99402[_0x3602('0x29')]){delete _0xd99402['name'];}_0x44f09d[_0x3602('0x18')](_0x579523)[_0x3602('0x2a')](_0xd99402);};}exports[_0x3602('0x2b')]=function(_0x1c4129,_0xb65491){var _0x2e8d0b={},_0x3f7baa={},_0x5a3e53={'count':0x0,'rows':[]};var _0x3b4bfa=_[_0x3602('0x2c')](db[_0x3602('0x2d')][_0x3602('0x2e')],function(_0x3daebd){return{'name':_0x3daebd[_0x3602('0x2f')],'type':_0x3daebd['type'][_0x3602('0x30')]};});_0x3f7baa[_0x3602('0x31')]=_['map'](_0x3b4bfa,'name');_0x3f7baa['query']=_['keys'](_0x1c4129[_0x3602('0x32')]);_0x3f7baa[_0x3602('0x33')]=_[_0x3602('0x34')](_0x3f7baa[_0x3602('0x31')],_0x3f7baa[_0x3602('0x32')]);_0x2e8d0b['attributes']=_['intersection'](_0x3f7baa[_0x3602('0x31')],qs[_0x3602('0x35')](_0x1c4129[_0x3602('0x32')][_0x3602('0x35')]));_0x2e8d0b['attributes']=_0x2e8d0b['attributes'][_0x3602('0x36')]?_0x2e8d0b['attributes']:_0x3f7baa[_0x3602('0x31')];if(!_0x1c4129[_0x3602('0x32')]['hasOwnProperty'](_0x3602('0x37'))){_0x2e8d0b[_0x3602('0x1d')]=qs[_0x3602('0x1d')](_0x1c4129[_0x3602('0x32')][_0x3602('0x1d')]);_0x2e8d0b[_0x3602('0x1c')]=qs[_0x3602('0x1c')](_0x1c4129['query'][_0x3602('0x1c')]);}_0x2e8d0b[_0x3602('0x38')]=qs[_0x3602('0x39')](_0x1c4129[_0x3602('0x32')]['sort']);_0x2e8d0b[_0x3602('0x3a')]=qs[_0x3602('0x33')](_['pick'](_0x1c4129[_0x3602('0x32')],_0x3f7baa[_0x3602('0x33')]),_0x3b4bfa);if(_0x1c4129['query'][_0x3602('0x3b')]){_0x2e8d0b[_0x3602('0x3a')]=_[_0x3602('0x3c')](_0x2e8d0b[_0x3602('0x3a')],{'$or':_[_0x3602('0x2c')](_0x3b4bfa,function(_0x1b229b){if(_0x1b229b[_0x3602('0x3d')]!==_0x3602('0x3e')){var _0x422cfb={};_0x422cfb[_0x1b229b[_0x3602('0x29')]]={'$like':'%'+_0x1c4129[_0x3602('0x32')][_0x3602('0x3b')]+'%'};return _0x422cfb;}})});}_0x2e8d0b=_[_0x3602('0x3c')]({},_0x2e8d0b,_0x1c4129[_0x3602('0x3f')]);var _0x4faefe={'where':_0x2e8d0b[_0x3602('0x3a')]};return db[_0x3602('0x2d')]['count'](_0x4faefe)[_0x3602('0x23')](function(_0x39b2b4){_0x5a3e53[_0x3602('0x1b')]=_0x39b2b4;if(_0x1c4129[_0x3602('0x32')][_0x3602('0x40')]){_0x2e8d0b['include']=[{'all':!![]}];}return db[_0x3602('0x2d')][_0x3602('0x41')](_0x2e8d0b);})[_0x3602('0x23')](function(_0x46a423){_0x5a3e53[_0x3602('0x42')]=_0x46a423;return _0x5a3e53;})['then'](respondWithFilteredResult(_0xb65491,_0x2e8d0b))[_0x3602('0x43')](handleError(_0xb65491,null));};exports[_0x3602('0x44')]=function(_0x93a80e,_0x333c94){var _0x4b4d63={'raw':!![],'where':{'id':_0x93a80e[_0x3602('0x45')]['id']}},_0x2e34d7={};_0x2e34d7[_0x3602('0x31')]=_['keys'](db['Pause'][_0x3602('0x2e')]);_0x2e34d7[_0x3602('0x32')]=_[_0x3602('0x46')](_0x93a80e[_0x3602('0x32')]);_0x2e34d7[_0x3602('0x33')]=_[_0x3602('0x34')](_0x2e34d7[_0x3602('0x31')],_0x2e34d7[_0x3602('0x32')]);_0x4b4d63[_0x3602('0x47')]=_['intersection'](_0x2e34d7[_0x3602('0x31')],qs['fields'](_0x93a80e[_0x3602('0x32')][_0x3602('0x35')]));_0x4b4d63[_0x3602('0x47')]=_0x4b4d63['attributes'][_0x3602('0x36')]?_0x4b4d63['attributes']:_0x2e34d7[_0x3602('0x31')];if(_0x93a80e[_0x3602('0x32')][_0x3602('0x40')]){_0x4b4d63['include']=[{'all':!![]}];}_0x4b4d63=_[_0x3602('0x3c')]({},_0x4b4d63,_0x93a80e[_0x3602('0x3f')]);return db[_0x3602('0x2d')][_0x3602('0x48')](_0x4b4d63)['then'](handleEntityNotFound(_0x333c94,null))[_0x3602('0x23')](respondWithResult(_0x333c94,null))['catch'](handleError(_0x333c94,null));};exports[_0x3602('0x49')]=function(_0x958751,_0x2ec653){return db[_0x3602('0x2d')][_0x3602('0x49')](_0x958751[_0x3602('0x4a')],{})[_0x3602('0x23')](function(_0x15e118){var _0x30b84a=_0x958751[_0x3602('0x4b')][_0x3602('0x25')]({'plain':!![]});if(!_0x30b84a)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x30b84a[_0x3602('0x4c')]===_0x3602('0x4b')){var _0x2ae389=_0x15e118[_0x3602('0x25')]({'plain':!![]});var _0x1696f4=_0x3602('0x26');return db['UserProfileSection']['find']({'where':{'name':_0x1696f4,'userProfileId':_0x30b84a[_0x3602('0x4d')]},'raw':!![]})[_0x3602('0x23')](function(_0x573253){if(_0x573253&&_0x573253[_0x3602('0x4e')]===0x0){return db[_0x3602('0x27')]['create']({'name':_0x2ae389[_0x3602('0x29')],'resourceId':_0x2ae389['id'],'type':_0x573253['name'],'sectionId':_0x573253['id']},{})[_0x3602('0x23')](function(){return _0x15e118;});}else{return _0x15e118;}})[_0x3602('0x43')](function(_0x229046){logger[_0x3602('0x4f')](_0x3602('0x50'),_0x229046);throw _0x229046;});}return _0x15e118;})['then'](respondWithResult(_0x2ec653,0xc9))[_0x3602('0x43')](handleError(_0x2ec653,null));};exports[_0x3602('0x22')]=function(_0x567863,_0x31d8d9){if(_0x567863['body']['id']){delete _0x567863[_0x3602('0x4a')]['id'];}return db['Pause'][_0x3602('0x48')]({'where':{'id':_0x567863[_0x3602('0x45')]['id']}})['then'](handleEntityNotFound(_0x31d8d9,null))[_0x3602('0x23')](saveUpdates(_0x567863['body'],null))[_0x3602('0x23')](respondWithResult(_0x31d8d9,null))[_0x3602('0x43')](handleError(_0x31d8d9,null));};exports['destroy']=function(_0x3f45ed,_0x335792){return db['Pause']['find']({'where':{'id':_0x3f45ed[_0x3602('0x45')]['id']}})['then'](handleEntityNotFound(_0x335792,null))['then'](removeEntity(_0x335792,null))[_0x3602('0x43')](handleError(_0x335792,null));};