Built motion from commit (unavailable).|2.5.22
[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 _0xa37b=['save','update','destroy','get','Dispositions','then','stack','name','send','index','map','Disposition','type','key','model','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','show','params','rawAttributes','find','catch','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','error','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','sox','to-csv','ejs','lodash','jsforce','desk.js','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/license/util','sendStatus','status','end','json','count','offset','limit','Content-Range','apply','reject'];(function(_0x552ddf,_0x487904){var _0xca8380=function(_0x756195){while(--_0x756195){_0x552ddf['push'](_0x552ddf['shift']());}};_0xca8380(++_0x487904);}(_0xa37b,0x11d));var _0xba37=function(_0x94969,_0x1bd2f0){_0x94969=_0x94969-0x0;var _0x550191=_0xa37b[_0x94969];return _0x550191;};'use strict';var pdf=require(_0xba37('0x0'));var emlformat=require(_0xba37('0x1'));var rimraf=require('rimraf');var zipdir=require(_0xba37('0x2'));var jsonpatch=require(_0xba37('0x3'));var rp=require(_0xba37('0x4'));var moment=require(_0xba37('0x5'));var BPromise=require(_0xba37('0x6'));var Mustache=require('mustache');var util=require('util');var path=require('path');var sox=require(_0xba37('0x7'));var csv=require(_0xba37('0x8'));var ejs=require(_0xba37('0x9'));var fs=require('fs');var _=require(_0xba37('0xa'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0xba37('0xb'));var deskjs=require(_0xba37('0xc'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0xba37('0xd'));var Redis=require(_0xba37('0xe'));var authService=require('../../components/auth/service');var qs=require(_0xba37('0xf'));var as=require(_0xba37('0x10'));var hardwareService=require(_0xba37('0x11'));var logger=require('../../config/logger')(_0xba37('0x12'));var utils=require(_0xba37('0x13'));var config=require('../../config/environment');var licenseUtil=require(_0xba37('0x14'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x146728,_0x4f911c){_0x4f911c=_0x4f911c||0xcc;return function(_0x2b14f3){if(_0x2b14f3){return _0x146728[_0xba37('0x15')](_0x4f911c);}return _0x146728[_0xba37('0x16')](_0x4f911c)[_0xba37('0x17')]();};}function respondWithResult(_0x139a48,_0x17b061){_0x17b061=_0x17b061||0xc8;return function(_0x934d7b){if(_0x934d7b){return _0x139a48[_0xba37('0x16')](_0x17b061)[_0xba37('0x18')](_0x934d7b);}};}function respondWithFilteredResult(_0x3f7d3c,_0x27780b){return function(_0x4ce02e){if(_0x4ce02e){var _0x4b936b=_0x4ce02e[_0xba37('0x19')],_0x17d31e=_0x27780b['offset'],_0x4fcc31=_0x27780b[_0xba37('0x1a')]+_0x27780b[_0xba37('0x1b')],_0x110f57;if(_0x4fcc31>=_0x4b936b){_0x4fcc31=_0x4b936b;_0x110f57=0xc8;}else{_0x110f57=0xce;}_0x3f7d3c[_0xba37('0x16')](_0x110f57);return _0x3f7d3c['set'](_0xba37('0x1c'),_0x17d31e+'-'+_0x4fcc31+'/'+_0x4b936b)[_0xba37('0x18')](_0x4ce02e);}return null;};}function patchUpdates(_0x34bda9){return function(_0x51465d){try{jsonpatch[_0xba37('0x1d')](_0x51465d,_0x34bda9,!![]);}catch(_0x1e6585){return BPromise[_0xba37('0x1e')](_0x1e6585);}return _0x51465d[_0xba37('0x1f')]();};}function saveUpdates(_0x227b5a,_0x2155e5){return function(_0x2e3649){if(_0x2e3649){return _0x2e3649[_0xba37('0x20')](_0x227b5a)['then'](function(_0x53fb66){return _0x53fb66;});}return null;};}function removeEntity(_0xa9f1e3,_0x21aabf){return function(_0x4a4fd8){if(_0x4a4fd8){return _0x4a4fd8[_0xba37('0x21')]()['then'](function(){var _0x591d8f=_0x4a4fd8[_0xba37('0x22')]({'plain':!![]});var _0x2aa547=_0xba37('0x23');return db['UserProfileResource']['destroy']({'where':{'type':_0x2aa547,'resourceId':_0x591d8f['id']}})[_0xba37('0x24')](function(){return _0x4a4fd8;});})[_0xba37('0x24')](function(){_0xa9f1e3[_0xba37('0x16')](0xcc)['end']();});}};}function handleEntityNotFound(_0x23aac6,_0x2a342c){return function(_0x5b17b9){if(!_0x5b17b9){_0x23aac6['sendStatus'](0x194);}return _0x5b17b9;};}function handleError(_0x2ea0bf,_0x492b4b){_0x492b4b=_0x492b4b||0x1f4;return function(_0x37ad52){logger['error'](_0x37ad52[_0xba37('0x25')]);if(_0x37ad52[_0xba37('0x26')]){delete _0x37ad52[_0xba37('0x26')];}_0x2ea0bf[_0xba37('0x16')](_0x492b4b)[_0xba37('0x27')](_0x37ad52);};}exports[_0xba37('0x28')]=function(_0x14b89a,_0x569a8a){var _0x385467={},_0x25626e={},_0x5970dd={'count':0x0,'rows':[]};var _0x4116bd=_[_0xba37('0x29')](db[_0xba37('0x2a')]['rawAttributes'],function(_0x1e19e3){return{'name':_0x1e19e3['fieldName'],'type':_0x1e19e3[_0xba37('0x2b')][_0xba37('0x2c')]};});_0x25626e[_0xba37('0x2d')]=_[_0xba37('0x29')](_0x4116bd,_0xba37('0x26'));_0x25626e[_0xba37('0x2e')]=_[_0xba37('0x2f')](_0x14b89a[_0xba37('0x2e')]);_0x25626e[_0xba37('0x30')]=_['intersection'](_0x25626e[_0xba37('0x2d')],_0x25626e['query']);_0x385467[_0xba37('0x31')]=_[_0xba37('0x32')](_0x25626e[_0xba37('0x2d')],qs['fields'](_0x14b89a[_0xba37('0x2e')][_0xba37('0x33')]));_0x385467[_0xba37('0x31')]=_0x385467['attributes'][_0xba37('0x34')]?_0x385467[_0xba37('0x31')]:_0x25626e[_0xba37('0x2d')];if(!_0x14b89a['query'][_0xba37('0x35')]('nolimit')){_0x385467[_0xba37('0x1b')]=qs[_0xba37('0x1b')](_0x14b89a[_0xba37('0x2e')][_0xba37('0x1b')]);_0x385467[_0xba37('0x1a')]=qs[_0xba37('0x1a')](_0x14b89a['query'][_0xba37('0x1a')]);}_0x385467[_0xba37('0x36')]=qs[_0xba37('0x37')](_0x14b89a[_0xba37('0x2e')][_0xba37('0x37')]);_0x385467[_0xba37('0x38')]=qs[_0xba37('0x30')](_[_0xba37('0x39')](_0x14b89a[_0xba37('0x2e')],_0x25626e[_0xba37('0x30')]),_0x4116bd);if(_0x14b89a['query'][_0xba37('0x3a')]){_0x385467['where']=_[_0xba37('0x3b')](_0x385467[_0xba37('0x38')],{'$or':_[_0xba37('0x29')](_0x4116bd,function(_0x2a39c3){if(_0x2a39c3[_0xba37('0x2b')]!==_0xba37('0x3c')){var _0x282ea4={};_0x282ea4[_0x2a39c3['name']]={'$like':'%'+_0x14b89a['query'][_0xba37('0x3a')]+'%'};return _0x282ea4;}})});}_0x385467=_[_0xba37('0x3b')]({},_0x385467,_0x14b89a[_0xba37('0x3d')]);var _0x38c61c={'where':_0x385467[_0xba37('0x38')]};return db[_0xba37('0x2a')][_0xba37('0x19')](_0x38c61c)[_0xba37('0x24')](function(_0x17dfe3){_0x5970dd[_0xba37('0x19')]=_0x17dfe3;if(_0x14b89a[_0xba37('0x2e')][_0xba37('0x3e')]){_0x385467[_0xba37('0x3f')]=[{'all':!![]}];}return db[_0xba37('0x2a')][_0xba37('0x40')](_0x385467);})[_0xba37('0x24')](function(_0xa210e5){_0x5970dd['rows']=_0xa210e5;return _0x5970dd;})[_0xba37('0x24')](respondWithFilteredResult(_0x569a8a,_0x385467))['catch'](handleError(_0x569a8a,null));};exports[_0xba37('0x41')]=function(_0x48e975,_0x2fa880){var _0x513214={'raw':!![],'where':{'id':_0x48e975[_0xba37('0x42')]['id']}},_0x33cd4a={};_0x33cd4a[_0xba37('0x2d')]=_[_0xba37('0x2f')](db[_0xba37('0x2a')][_0xba37('0x43')]);_0x33cd4a[_0xba37('0x2e')]=_['keys'](_0x48e975[_0xba37('0x2e')]);_0x33cd4a[_0xba37('0x30')]=_[_0xba37('0x32')](_0x33cd4a[_0xba37('0x2d')],_0x33cd4a[_0xba37('0x2e')]);_0x513214[_0xba37('0x31')]=_[_0xba37('0x32')](_0x33cd4a['model'],qs[_0xba37('0x33')](_0x48e975[_0xba37('0x2e')][_0xba37('0x33')]));_0x513214[_0xba37('0x31')]=_0x513214['attributes'][_0xba37('0x34')]?_0x513214['attributes']:_0x33cd4a[_0xba37('0x2d')];if(_0x48e975['query'][_0xba37('0x3e')]){_0x513214[_0xba37('0x3f')]=[{'all':!![]}];}_0x513214=_[_0xba37('0x3b')]({},_0x513214,_0x48e975[_0xba37('0x3d')]);return db[_0xba37('0x2a')][_0xba37('0x44')](_0x513214)['then'](handleEntityNotFound(_0x2fa880,null))[_0xba37('0x24')](respondWithResult(_0x2fa880,null))[_0xba37('0x45')](handleError(_0x2fa880,null));};exports[_0xba37('0x46')]=function(_0x3b0f0a,_0x6cae2a){return db[_0xba37('0x2a')][_0xba37('0x46')](_0x3b0f0a[_0xba37('0x47')],{})[_0xba37('0x24')](function(_0x400f99){var _0x1eb1ce=_0x3b0f0a[_0xba37('0x48')]['get']({'plain':!![]});if(!_0x1eb1ce)throw new Error(_0xba37('0x49'));if(_0x1eb1ce['role']===_0xba37('0x48')){var _0x1f01cd=_0x400f99[_0xba37('0x22')]({'plain':!![]});var _0x57584c='Dispositions';return db[_0xba37('0x4a')][_0xba37('0x44')]({'where':{'name':_0x57584c,'userProfileId':_0x1eb1ce[_0xba37('0x4b')]},'raw':!![]})[_0xba37('0x24')](function(_0x1fd9e6){if(_0x1fd9e6&&_0x1fd9e6[_0xba37('0x4c')]===0x0){return db[_0xba37('0x4d')][_0xba37('0x46')]({'name':_0x1f01cd[_0xba37('0x26')],'resourceId':_0x1f01cd['id'],'type':_0x1fd9e6[_0xba37('0x26')],'sectionId':_0x1fd9e6['id']},{})['then'](function(){return _0x400f99;});}else{return _0x400f99;}})[_0xba37('0x45')](function(_0x4f7270){logger[_0xba37('0x4e')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x4f7270);throw _0x4f7270;});}return _0x400f99;})[_0xba37('0x24')](respondWithResult(_0x6cae2a,0xc9))[_0xba37('0x45')](handleError(_0x6cae2a,null));};exports[_0xba37('0x20')]=function(_0x19bfb7,_0x4dccd3){if(_0x19bfb7[_0xba37('0x47')]['id']){delete _0x19bfb7[_0xba37('0x47')]['id'];}return db[_0xba37('0x2a')][_0xba37('0x44')]({'where':{'id':_0x19bfb7['params']['id']}})[_0xba37('0x24')](handleEntityNotFound(_0x4dccd3,null))['then'](saveUpdates(_0x19bfb7[_0xba37('0x47')],null))[_0xba37('0x24')](respondWithResult(_0x4dccd3,null))[_0xba37('0x45')](handleError(_0x4dccd3,null));};exports[_0xba37('0x21')]=function(_0x4c258f,_0x4ddb8f){return db['Disposition']['find']({'where':{'id':_0x4c258f[_0xba37('0x42')]['id']}})[_0xba37('0x24')](handleEntityNotFound(_0x4ddb8f,null))[_0xba37('0x24')](removeEntity(_0x4ddb8f,null))[_0xba37('0x45')](handleError(_0x4ddb8f,null));};