e83d1298ee89983824019374615efb0269a803b4
[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 _0xa428=['apply','save','update','destroy','then','get','Pauses','sendStatus','error','stack','name','index','map','Pause','fieldName','key','model','query','keys','attributes','intersection','fields','length','hasOwnProperty','nolimit','sort','where','filters','pick','filter','merge','type','VIRTUAL','options','includeAll','include','findAll','rows','show','rawAttributes','catch','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','find','userProfileId','autoAssociation','UserProfileResource','create','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','desk.js','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb','status','end','json','count','offset','limit','Content-Range'];(function(_0x487b0c,_0x14ff74){var _0x1adbdc=function(_0x2e7b9d){while(--_0x2e7b9d){_0x487b0c['push'](_0x487b0c['shift']());}};_0x1adbdc(++_0x14ff74);}(_0xa428,0x185));var _0x8a42=function(_0x85119c,_0x3e07f7){_0x85119c=_0x85119c-0x0;var _0x9a6469=_0xa428[_0x85119c];return _0x9a6469;};'use strict';var pdf=require(_0x8a42('0x0'));var emlformat=require(_0x8a42('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x8a42('0x2'));var jsonpatch=require(_0x8a42('0x3'));var rp=require(_0x8a42('0x4'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x8a42('0x5'));var util=require(_0x8a42('0x6'));var path=require(_0x8a42('0x7'));var sox=require(_0x8a42('0x8'));var csv=require(_0x8a42('0x9'));var ejs=require(_0x8a42('0xa'));var fs=require('fs');var _=require(_0x8a42('0xb'));var squel=require(_0x8a42('0xc'));var crypto=require(_0x8a42('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x8a42('0xe'));var toCsv=require(_0x8a42('0x9'));var querystring=require('querystring');var Papa=require(_0x8a42('0xf'));var Redis=require('ioredis');var authService=require(_0x8a42('0x10'));var qs=require(_0x8a42('0x11'));var as=require(_0x8a42('0x12'));var hardwareService=require(_0x8a42('0x13'));var logger=require('../../config/logger')(_0x8a42('0x14'));var utils=require(_0x8a42('0x15'));var config=require(_0x8a42('0x16'));var db=require(_0x8a42('0x17'))['db'];function respondWithStatusCode(_0x12f6ad,_0x4c3c6a){_0x4c3c6a=_0x4c3c6a||0xcc;return function(_0x2d8751){if(_0x2d8751){return _0x12f6ad['sendStatus'](_0x4c3c6a);}return _0x12f6ad[_0x8a42('0x18')](_0x4c3c6a)[_0x8a42('0x19')]();};}function respondWithResult(_0x357842,_0x4d2694){_0x4d2694=_0x4d2694||0xc8;return function(_0x59bc87){if(_0x59bc87){return _0x357842[_0x8a42('0x18')](_0x4d2694)[_0x8a42('0x1a')](_0x59bc87);}};}function respondWithFilteredResult(_0x497727,_0x524e13){return function(_0x27cefa){if(_0x27cefa){var _0x26e7c7=_0x27cefa[_0x8a42('0x1b')],_0x1cd393=_0x524e13[_0x8a42('0x1c')],_0x223d0c=_0x524e13['offset']+_0x524e13[_0x8a42('0x1d')],_0x4611f1;if(_0x223d0c>=_0x26e7c7){_0x223d0c=_0x26e7c7;_0x4611f1=0xc8;}else{_0x4611f1=0xce;}_0x497727[_0x8a42('0x18')](_0x4611f1);return _0x497727['set'](_0x8a42('0x1e'),_0x1cd393+'-'+_0x223d0c+'/'+_0x26e7c7)['json'](_0x27cefa);}return null;};}function patchUpdates(_0x45f57b){return function(_0x3c5e17){try{jsonpatch[_0x8a42('0x1f')](_0x3c5e17,_0x45f57b,!![]);}catch(_0xd536ab){return BPromise['reject'](_0xd536ab);}return _0x3c5e17[_0x8a42('0x20')]();};}function saveUpdates(_0x4cdf77,_0x3b58cd){return function(_0x24cf96){if(_0x24cf96){return _0x24cf96[_0x8a42('0x21')](_0x4cdf77)['then'](function(_0x4ec36f){return _0x4ec36f;});}return null;};}function removeEntity(_0x3a6978,_0xd86766){return function(_0x509fbe){if(_0x509fbe){return _0x509fbe[_0x8a42('0x22')]()[_0x8a42('0x23')](function(){var _0x26bc6e=_0x509fbe[_0x8a42('0x24')]({'plain':!![]});var _0x436d1d=_0x8a42('0x25');return db['UserProfileResource']['destroy']({'where':{'type':_0x436d1d,'resourceId':_0x26bc6e['id']}})['then'](function(){return _0x509fbe;});})[_0x8a42('0x23')](function(){_0x3a6978[_0x8a42('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x581e1f,_0x30476f){return function(_0x4d72bd){if(!_0x4d72bd){_0x581e1f[_0x8a42('0x26')](0x194);}return _0x4d72bd;};}function handleError(_0x1eaf1e,_0x1388ee){_0x1388ee=_0x1388ee||0x1f4;return function(_0x321915){logger[_0x8a42('0x27')](_0x321915[_0x8a42('0x28')]);if(_0x321915[_0x8a42('0x29')]){delete _0x321915['name'];}_0x1eaf1e['status'](_0x1388ee)['send'](_0x321915);};}exports[_0x8a42('0x2a')]=function(_0x2c33b2,_0x58be82){var _0x3a3b77={},_0x3c6486={},_0x73519e={'count':0x0,'rows':[]};var _0x553c35=_[_0x8a42('0x2b')](db[_0x8a42('0x2c')]['rawAttributes'],function(_0xeb7d94){return{'name':_0xeb7d94[_0x8a42('0x2d')],'type':_0xeb7d94['type'][_0x8a42('0x2e')]};});_0x3c6486[_0x8a42('0x2f')]=_[_0x8a42('0x2b')](_0x553c35,_0x8a42('0x29'));_0x3c6486[_0x8a42('0x30')]=_[_0x8a42('0x31')](_0x2c33b2[_0x8a42('0x30')]);_0x3c6486['filters']=_['intersection'](_0x3c6486[_0x8a42('0x2f')],_0x3c6486[_0x8a42('0x30')]);_0x3a3b77[_0x8a42('0x32')]=_[_0x8a42('0x33')](_0x3c6486[_0x8a42('0x2f')],qs[_0x8a42('0x34')](_0x2c33b2[_0x8a42('0x30')][_0x8a42('0x34')]));_0x3a3b77['attributes']=_0x3a3b77[_0x8a42('0x32')][_0x8a42('0x35')]?_0x3a3b77[_0x8a42('0x32')]:_0x3c6486[_0x8a42('0x2f')];if(!_0x2c33b2[_0x8a42('0x30')][_0x8a42('0x36')](_0x8a42('0x37'))){_0x3a3b77[_0x8a42('0x1d')]=qs[_0x8a42('0x1d')](_0x2c33b2[_0x8a42('0x30')]['limit']);_0x3a3b77[_0x8a42('0x1c')]=qs[_0x8a42('0x1c')](_0x2c33b2['query'][_0x8a42('0x1c')]);}_0x3a3b77['order']=qs['sort'](_0x2c33b2[_0x8a42('0x30')][_0x8a42('0x38')]);_0x3a3b77[_0x8a42('0x39')]=qs[_0x8a42('0x3a')](_[_0x8a42('0x3b')](_0x2c33b2[_0x8a42('0x30')],_0x3c6486[_0x8a42('0x3a')]),_0x553c35);if(_0x2c33b2['query'][_0x8a42('0x3c')]){_0x3a3b77[_0x8a42('0x39')]=_[_0x8a42('0x3d')](_0x3a3b77[_0x8a42('0x39')],{'$or':_['map'](_0x553c35,function(_0x479d74){if(_0x479d74[_0x8a42('0x3e')]!==_0x8a42('0x3f')){var _0x3ed14d={};_0x3ed14d[_0x479d74[_0x8a42('0x29')]]={'$like':'%'+_0x2c33b2[_0x8a42('0x30')][_0x8a42('0x3c')]+'%'};return _0x3ed14d;}})});}_0x3a3b77=_['merge']({},_0x3a3b77,_0x2c33b2[_0x8a42('0x40')]);var _0x4a12e4={'where':_0x3a3b77[_0x8a42('0x39')]};return db[_0x8a42('0x2c')]['count'](_0x4a12e4)[_0x8a42('0x23')](function(_0x3e816c){_0x73519e[_0x8a42('0x1b')]=_0x3e816c;if(_0x2c33b2['query'][_0x8a42('0x41')]){_0x3a3b77[_0x8a42('0x42')]=[{'all':!![]}];}return db['Pause'][_0x8a42('0x43')](_0x3a3b77);})['then'](function(_0x3b3fb5){_0x73519e[_0x8a42('0x44')]=_0x3b3fb5;return _0x73519e;})['then'](respondWithFilteredResult(_0x58be82,_0x3a3b77))['catch'](handleError(_0x58be82,null));};exports[_0x8a42('0x45')]=function(_0x2578db,_0x504243){var _0x1fd0fb={'raw':!![],'where':{'id':_0x2578db['params']['id']}},_0x2ae4ac={};_0x2ae4ac[_0x8a42('0x2f')]=_['keys'](db[_0x8a42('0x2c')][_0x8a42('0x46')]);_0x2ae4ac['query']=_['keys'](_0x2578db['query']);_0x2ae4ac[_0x8a42('0x3a')]=_['intersection'](_0x2ae4ac[_0x8a42('0x2f')],_0x2ae4ac[_0x8a42('0x30')]);_0x1fd0fb['attributes']=_['intersection'](_0x2ae4ac['model'],qs[_0x8a42('0x34')](_0x2578db['query'][_0x8a42('0x34')]));_0x1fd0fb['attributes']=_0x1fd0fb[_0x8a42('0x32')][_0x8a42('0x35')]?_0x1fd0fb[_0x8a42('0x32')]:_0x2ae4ac[_0x8a42('0x2f')];if(_0x2578db[_0x8a42('0x30')]['includeAll']){_0x1fd0fb[_0x8a42('0x42')]=[{'all':!![]}];}_0x1fd0fb=_['merge']({},_0x1fd0fb,_0x2578db[_0x8a42('0x40')]);return db[_0x8a42('0x2c')]['find'](_0x1fd0fb)[_0x8a42('0x23')](handleEntityNotFound(_0x504243,null))[_0x8a42('0x23')](respondWithResult(_0x504243,null))[_0x8a42('0x47')](handleError(_0x504243,null));};exports['create']=function(_0xda6bc3,_0x3a095d){return db['Pause']['create'](_0xda6bc3[_0x8a42('0x48')],{})['then'](function(_0x24ce09){var _0x9fc86b=_0xda6bc3[_0x8a42('0x49')][_0x8a42('0x24')]({'plain':!![]});if(!_0x9fc86b)throw new Error(_0x8a42('0x4a'));if(_0x9fc86b[_0x8a42('0x4b')]===_0x8a42('0x49')){var _0x5c3162=_0x24ce09[_0x8a42('0x24')]({'plain':!![]});var _0x1b9e5c=_0x8a42('0x25');return db[_0x8a42('0x4c')][_0x8a42('0x4d')]({'where':{'name':_0x1b9e5c,'userProfileId':_0x9fc86b[_0x8a42('0x4e')]},'raw':!![]})[_0x8a42('0x23')](function(_0x1c1a7e){if(_0x1c1a7e&&_0x1c1a7e[_0x8a42('0x4f')]===0x0){return db[_0x8a42('0x50')][_0x8a42('0x51')]({'name':_0x5c3162[_0x8a42('0x29')],'resourceId':_0x5c3162['id'],'type':_0x1c1a7e[_0x8a42('0x29')],'sectionId':_0x1c1a7e['id']},{})['then'](function(){return _0x24ce09;});}else{return _0x24ce09;}})['catch'](function(_0x3b3bcb){logger[_0x8a42('0x27')](_0x8a42('0x52'),_0x3b3bcb);throw _0x3b3bcb;});}return _0x24ce09;})['then'](respondWithResult(_0x3a095d,0xc9))[_0x8a42('0x47')](handleError(_0x3a095d,null));};exports['update']=function(_0x5f051a,_0x5e39ac){if(_0x5f051a[_0x8a42('0x48')]['id']){delete _0x5f051a[_0x8a42('0x48')]['id'];}return db[_0x8a42('0x2c')][_0x8a42('0x4d')]({'where':{'id':_0x5f051a[_0x8a42('0x53')]['id']}})['then'](handleEntityNotFound(_0x5e39ac,null))[_0x8a42('0x23')](saveUpdates(_0x5f051a[_0x8a42('0x48')],null))[_0x8a42('0x23')](respondWithResult(_0x5e39ac,null))[_0x8a42('0x47')](handleError(_0x5e39ac,null));};exports[_0x8a42('0x22')]=function(_0x4886da,_0x5d0785){return db[_0x8a42('0x2c')][_0x8a42('0x4d')]({'where':{'id':_0x4886da[_0x8a42('0x53')]['id']}})[_0x8a42('0x23')](handleEntityNotFound(_0x5d0785,null))['then'](removeEntity(_0x5d0785,null))['catch'](handleError(_0x5d0785,null));};