Built motion from commit (unavailable).|2.5.6
[motion2.git] / server / api / disposition / disposition.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 _0x36f7=['then','get','Dispositions','UserProfileResource','destroy','stack','name','send','index','map','Disposition','rawAttributes','type','key','model','query','keys','filters','intersection','fields','attributes','hasOwnProperty','nolimit','limit','order','sort','where','merge','VIRTUAL','filter','options','includeAll','include','findAll','rows','catch','show','length','find','create','body','role','user','userProfileId','autoAssociation','params','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','sox','to-csv','ejs','lodash','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','sendStatus','status','end','count','offset','set','Content-Range','json','apply','reject','update'];(function(_0x304e7d,_0x4d1bbf){var _0x39f013=function(_0x2cc2ab){while(--_0x2cc2ab){_0x304e7d['push'](_0x304e7d['shift']());}};_0x39f013(++_0x4d1bbf);}(_0x36f7,0x80));var _0x736f=function(_0x3878ca,_0x4b5ea3){_0x3878ca=_0x3878ca-0x0;var _0x26fde8=_0x36f7[_0x3878ca];return _0x26fde8;};'use strict';var pdf=require(_0x736f('0x0'));var emlformat=require(_0x736f('0x1'));var rimraf=require(_0x736f('0x2'));var zipdir=require(_0x736f('0x3'));var jsonpatch=require(_0x736f('0x4'));var rp=require(_0x736f('0x5'));var moment=require('moment');var BPromise=require(_0x736f('0x6'));var Mustache=require(_0x736f('0x7'));var util=require('util');var path=require('path');var sox=require(_0x736f('0x8'));var csv=require(_0x736f('0x9'));var ejs=require(_0x736f('0xa'));var fs=require('fs');var _=require(_0x736f('0xb'));var squel=require('squel');var crypto=require(_0x736f('0xc'));var jsforce=require(_0x736f('0xd'));var deskjs=require(_0x736f('0xe'));var toCsv=require(_0x736f('0x9'));var querystring=require(_0x736f('0xf'));var Papa=require('papaparse');var Redis=require(_0x736f('0x10'));var authService=require(_0x736f('0x11'));var qs=require(_0x736f('0x12'));var as=require(_0x736f('0x13'));var hardwareService=require(_0x736f('0x14'));var logger=require(_0x736f('0x15'))(_0x736f('0x16'));var utils=require(_0x736f('0x17'));var config=require('../../config/environment');var licenseUtil=require(_0x736f('0x18'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x591a56,_0x39db74){_0x39db74=_0x39db74||0xcc;return function(_0x3a6c3e){if(_0x3a6c3e){return _0x591a56[_0x736f('0x19')](_0x39db74);}return _0x591a56[_0x736f('0x1a')](_0x39db74)[_0x736f('0x1b')]();};}function respondWithResult(_0x497edc,_0x5f50b0){_0x5f50b0=_0x5f50b0||0xc8;return function(_0x5734b3){if(_0x5734b3){return _0x497edc[_0x736f('0x1a')](_0x5f50b0)['json'](_0x5734b3);}};}function respondWithFilteredResult(_0x5b6db1,_0x30dbfa){return function(_0x1d8da9){if(_0x1d8da9){var _0x1d3000=_0x1d8da9[_0x736f('0x1c')],_0x43a344=_0x30dbfa[_0x736f('0x1d')],_0x41360c=_0x30dbfa[_0x736f('0x1d')]+_0x30dbfa['limit'],_0x5c6c5f;if(_0x41360c>=_0x1d3000){_0x41360c=_0x1d3000;_0x5c6c5f=0xc8;}else{_0x5c6c5f=0xce;}_0x5b6db1['status'](_0x5c6c5f);return _0x5b6db1[_0x736f('0x1e')](_0x736f('0x1f'),_0x43a344+'-'+_0x41360c+'/'+_0x1d3000)[_0x736f('0x20')](_0x1d8da9);}return null;};}function patchUpdates(_0x588d77){return function(_0x12be1a){try{jsonpatch[_0x736f('0x21')](_0x12be1a,_0x588d77,!![]);}catch(_0x1b0adc){return BPromise[_0x736f('0x22')](_0x1b0adc);}return _0x12be1a['save']();};}function saveUpdates(_0x3ca943,_0x16a66b){return function(_0x3aaf73){if(_0x3aaf73){return _0x3aaf73[_0x736f('0x23')](_0x3ca943)[_0x736f('0x24')](function(_0x1d049c){return _0x1d049c;});}return null;};}function removeEntity(_0x4a5f5b,_0x9be8b2){return function(_0x37e7ac){if(_0x37e7ac){return _0x37e7ac['destroy']()[_0x736f('0x24')](function(){var _0x3b599c=_0x37e7ac[_0x736f('0x25')]({'plain':!![]});var _0x18ffad=_0x736f('0x26');return db[_0x736f('0x27')][_0x736f('0x28')]({'where':{'type':_0x18ffad,'resourceId':_0x3b599c['id']}})[_0x736f('0x24')](function(){return _0x37e7ac;});})[_0x736f('0x24')](function(){_0x4a5f5b[_0x736f('0x1a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x42506b,_0x469396){return function(_0x3f8638){if(!_0x3f8638){_0x42506b[_0x736f('0x19')](0x194);}return _0x3f8638;};}function handleError(_0x344644,_0x218e37){_0x218e37=_0x218e37||0x1f4;return function(_0x52844b){logger['error'](_0x52844b[_0x736f('0x29')]);if(_0x52844b[_0x736f('0x2a')]){delete _0x52844b[_0x736f('0x2a')];}_0x344644[_0x736f('0x1a')](_0x218e37)[_0x736f('0x2b')](_0x52844b);};}exports[_0x736f('0x2c')]=function(_0x361284,_0x5bd30c){var _0x5cb0ec={},_0x4b0e8b={},_0x55a338={'count':0x0,'rows':[]};var _0x5b4d1a=_[_0x736f('0x2d')](db[_0x736f('0x2e')][_0x736f('0x2f')],function(_0x297e95){return{'name':_0x297e95['fieldName'],'type':_0x297e95[_0x736f('0x30')][_0x736f('0x31')]};});_0x4b0e8b[_0x736f('0x32')]=_['map'](_0x5b4d1a,_0x736f('0x2a'));_0x4b0e8b[_0x736f('0x33')]=_[_0x736f('0x34')](_0x361284[_0x736f('0x33')]);_0x4b0e8b[_0x736f('0x35')]=_['intersection'](_0x4b0e8b[_0x736f('0x32')],_0x4b0e8b[_0x736f('0x33')]);_0x5cb0ec['attributes']=_[_0x736f('0x36')](_0x4b0e8b[_0x736f('0x32')],qs[_0x736f('0x37')](_0x361284[_0x736f('0x33')]['fields']));_0x5cb0ec[_0x736f('0x38')]=_0x5cb0ec['attributes']['length']?_0x5cb0ec[_0x736f('0x38')]:_0x4b0e8b[_0x736f('0x32')];if(!_0x361284['query'][_0x736f('0x39')](_0x736f('0x3a'))){_0x5cb0ec[_0x736f('0x3b')]=qs['limit'](_0x361284[_0x736f('0x33')]['limit']);_0x5cb0ec[_0x736f('0x1d')]=qs['offset'](_0x361284[_0x736f('0x33')][_0x736f('0x1d')]);}_0x5cb0ec[_0x736f('0x3c')]=qs[_0x736f('0x3d')](_0x361284[_0x736f('0x33')][_0x736f('0x3d')]);_0x5cb0ec[_0x736f('0x3e')]=qs['filters'](_['pick'](_0x361284[_0x736f('0x33')],_0x4b0e8b[_0x736f('0x35')]),_0x5b4d1a);if(_0x361284['query']['filter']){_0x5cb0ec[_0x736f('0x3e')]=_[_0x736f('0x3f')](_0x5cb0ec['where'],{'$or':_[_0x736f('0x2d')](_0x5b4d1a,function(_0x7cb0db){if(_0x7cb0db[_0x736f('0x30')]!==_0x736f('0x40')){var _0x255b58={};_0x255b58[_0x7cb0db[_0x736f('0x2a')]]={'$like':'%'+_0x361284[_0x736f('0x33')][_0x736f('0x41')]+'%'};return _0x255b58;}})});}_0x5cb0ec=_[_0x736f('0x3f')]({},_0x5cb0ec,_0x361284[_0x736f('0x42')]);var _0x4c1397={'where':_0x5cb0ec['where']};return db[_0x736f('0x2e')][_0x736f('0x1c')](_0x4c1397)[_0x736f('0x24')](function(_0x4ddf73){_0x55a338[_0x736f('0x1c')]=_0x4ddf73;if(_0x361284[_0x736f('0x33')][_0x736f('0x43')]){_0x5cb0ec[_0x736f('0x44')]=[{'all':!![]}];}return db[_0x736f('0x2e')][_0x736f('0x45')](_0x5cb0ec);})[_0x736f('0x24')](function(_0x4111c9){_0x55a338[_0x736f('0x46')]=_0x4111c9;return _0x55a338;})[_0x736f('0x24')](respondWithFilteredResult(_0x5bd30c,_0x5cb0ec))[_0x736f('0x47')](handleError(_0x5bd30c,null));};exports[_0x736f('0x48')]=function(_0x296933,_0xf9a7be){var _0x1c9cbe={'raw':!![],'where':{'id':_0x296933['params']['id']}},_0x3264f5={};_0x3264f5['model']=_['keys'](db[_0x736f('0x2e')][_0x736f('0x2f')]);_0x3264f5[_0x736f('0x33')]=_[_0x736f('0x34')](_0x296933['query']);_0x3264f5[_0x736f('0x35')]=_['intersection'](_0x3264f5['model'],_0x3264f5[_0x736f('0x33')]);_0x1c9cbe[_0x736f('0x38')]=_['intersection'](_0x3264f5[_0x736f('0x32')],qs[_0x736f('0x37')](_0x296933[_0x736f('0x33')][_0x736f('0x37')]));_0x1c9cbe['attributes']=_0x1c9cbe[_0x736f('0x38')][_0x736f('0x49')]?_0x1c9cbe[_0x736f('0x38')]:_0x3264f5[_0x736f('0x32')];if(_0x296933[_0x736f('0x33')][_0x736f('0x43')]){_0x1c9cbe[_0x736f('0x44')]=[{'all':!![]}];}_0x1c9cbe=_['merge']({},_0x1c9cbe,_0x296933[_0x736f('0x42')]);return db[_0x736f('0x2e')][_0x736f('0x4a')](_0x1c9cbe)['then'](handleEntityNotFound(_0xf9a7be,null))[_0x736f('0x24')](respondWithResult(_0xf9a7be,null))[_0x736f('0x47')](handleError(_0xf9a7be,null));};exports[_0x736f('0x4b')]=function(_0x365804,_0x23529c){return db[_0x736f('0x2e')][_0x736f('0x4b')](_0x365804[_0x736f('0x4c')],{})[_0x736f('0x24')](function(_0x14f483){var _0x4a9c10=_0x365804['user'][_0x736f('0x25')]({'plain':!![]});if(!_0x4a9c10)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x4a9c10[_0x736f('0x4d')]===_0x736f('0x4e')){var _0x4baffb=_0x14f483[_0x736f('0x25')]({'plain':!![]});var _0x1df7cb='Dispositions';return db['UserProfileSection']['find']({'where':{'name':_0x1df7cb,'userProfileId':_0x4a9c10[_0x736f('0x4f')]},'raw':!![]})['then'](function(_0x3e7d7c){if(_0x3e7d7c&&_0x3e7d7c[_0x736f('0x50')]===0x0){return db[_0x736f('0x27')][_0x736f('0x4b')]({'name':_0x4baffb[_0x736f('0x2a')],'resourceId':_0x4baffb['id'],'type':_0x3e7d7c['name'],'sectionId':_0x3e7d7c['id']},{})[_0x736f('0x24')](function(){return _0x14f483;});}else{return _0x14f483;}})[_0x736f('0x47')](function(_0x15c234){logger['error']('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x15c234);throw _0x15c234;});}return _0x14f483;})[_0x736f('0x24')](respondWithResult(_0x23529c,0xc9))[_0x736f('0x47')](handleError(_0x23529c,null));};exports[_0x736f('0x23')]=function(_0x2da6a9,_0x54b5cd){if(_0x2da6a9[_0x736f('0x4c')]['id']){delete _0x2da6a9['body']['id'];}return db[_0x736f('0x2e')][_0x736f('0x4a')]({'where':{'id':_0x2da6a9[_0x736f('0x51')]['id']}})[_0x736f('0x24')](handleEntityNotFound(_0x54b5cd,null))['then'](saveUpdates(_0x2da6a9[_0x736f('0x4c')],null))[_0x736f('0x24')](respondWithResult(_0x54b5cd,null))['catch'](handleError(_0x54b5cd,null));};exports[_0x736f('0x28')]=function(_0x4209b4,_0x2c7c3e){return db['Disposition']['find']({'where':{'id':_0x4209b4[_0x736f('0x51')]['id']}})['then'](handleEntityNotFound(_0x2c7c3e,null))[_0x736f('0x24')](removeEntity(_0x2c7c3e,null))[_0x736f('0x47')](handleError(_0x2c7c3e,null));};