Built motion from commit (unavailable).|2.4.4
[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 _0x4696=['reject','update','then','Dispositions','UserProfileResource','destroy','error','name','send','index','Disposition','rawAttributes','keys','query','filters','intersection','model','attributes','length','hasOwnProperty','sort','pick','filter','where','merge','type','key','VIRTUAL','field','options','includeAll','include','rows','show','params','fields','catch','create','user','get','role','UserProfileSection','find','userProfileId','body','html-pdf','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','path','to-csv','lodash','squel','crypto','jsforce','desk.js','papaparse','../../components/parsers/qs','../../config/license/hardware','api','../../config/environment','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set'];(function(_0x5aa930,_0x1cafa5){var _0x58cfab=function(_0x6b5617){while(--_0x6b5617){_0x5aa930['push'](_0x5aa930['shift']());}};_0x58cfab(++_0x1cafa5);}(_0x4696,0x76));var _0x6469=function(_0x1a11a6,_0x1c8acf){_0x1a11a6=_0x1a11a6-0x0;var _0x5146b3=_0x4696[_0x1a11a6];return _0x5146b3;};'use strict';var pdf=require(_0x6469('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x6469('0x1'));var zipdir=require(_0x6469('0x2'));var jsonpatch=require(_0x6469('0x3'));var rp=require(_0x6469('0x4'));var moment=require(_0x6469('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x6469('0x6'));var util=require('util');var path=require(_0x6469('0x7'));var sox=require('sox');var csv=require(_0x6469('0x8'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x6469('0x9'));var squel=require(_0x6469('0xa'));var crypto=require(_0x6469('0xb'));var jsforce=require(_0x6469('0xc'));var deskjs=require(_0x6469('0xd'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x6469('0xe'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x6469('0xf'));var hardwareService=require(_0x6469('0x10'));var logger=require('../../config/logger')(_0x6469('0x11'));var utils=require('../../config/utils');var config=require(_0x6469('0x12'));var db=require(_0x6469('0x13'))['db'];function respondWithStatusCode(_0x43cebc,_0x1eca7e){_0x1eca7e=_0x1eca7e||0xcc;return function(_0x3cf112){if(_0x3cf112){return _0x43cebc[_0x6469('0x14')](_0x1eca7e);}return _0x43cebc[_0x6469('0x15')](_0x1eca7e)[_0x6469('0x16')]();};}function respondWithResult(_0x56f9f5,_0x390609){_0x390609=_0x390609||0xc8;return function(_0x14f5ef){if(_0x14f5ef){return _0x56f9f5[_0x6469('0x15')](_0x390609)[_0x6469('0x17')](_0x14f5ef);}};}function respondWithFilteredResult(_0x4e9ee4,_0x25073b){return function(_0x25ade3){if(_0x25ade3){var _0x207e5e=_0x25ade3[_0x6469('0x18')],_0x508d6b=_0x25073b['offset'],_0x133752=_0x25073b[_0x6469('0x19')]+_0x25073b[_0x6469('0x1a')],_0x2dd2d9;if(_0x133752>=_0x207e5e){_0x133752=_0x207e5e;_0x2dd2d9=0xc8;}else{_0x2dd2d9=0xce;}_0x4e9ee4['status'](_0x2dd2d9);return _0x4e9ee4[_0x6469('0x1b')]('Content-Range',_0x508d6b+'-'+_0x133752+'/'+_0x207e5e)['json'](_0x25ade3);}return null;};}function patchUpdates(_0x2aaea8){return function(_0x239cef){try{jsonpatch['apply'](_0x239cef,_0x2aaea8,!![]);}catch(_0x108943){return BPromise[_0x6469('0x1c')](_0x108943);}return _0x239cef['save']();};}function saveUpdates(_0x3ce571,_0x1c235e){return function(_0x10a494){if(_0x10a494){return _0x10a494[_0x6469('0x1d')](_0x3ce571)['then'](function(_0x1094d7){return _0x1094d7;});}return null;};}function removeEntity(_0x1b75e3,_0x3c85f7){return function(_0x5df6e5){if(_0x5df6e5){return _0x5df6e5['destroy']()[_0x6469('0x1e')](function(){var _0x44b500=_0x5df6e5['get']({'plain':!![]});var _0x5d8c81=_0x6469('0x1f');return db[_0x6469('0x20')][_0x6469('0x21')]({'where':{'type':_0x5d8c81,'resourceId':_0x44b500['id']}})['then'](function(){return _0x5df6e5;});})[_0x6469('0x1e')](function(){_0x1b75e3['status'](0xcc)[_0x6469('0x16')]();});}};}function handleEntityNotFound(_0x5da6bd,_0x55eb8c){return function(_0x49f1b2){if(!_0x49f1b2){_0x5da6bd['sendStatus'](0x194);}return _0x49f1b2;};}function handleError(_0x5d7f1c,_0x179b71){_0x179b71=_0x179b71||0x1f4;return function(_0x91823a){logger[_0x6469('0x22')](_0x91823a['stack']);if(_0x91823a[_0x6469('0x23')]){delete _0x91823a['name'];}_0x5d7f1c[_0x6469('0x15')](_0x179b71)[_0x6469('0x24')](_0x91823a);};}exports[_0x6469('0x25')]=function(_0x39818d,_0x3d0283){var _0x49440a={},_0x4288e3={},_0x1edb3d={'count':0x0,'rows':[]};var _0x31465e=db[_0x6469('0x26')][_0x6469('0x27')];_0x4288e3['model']=_[_0x6469('0x28')](_0x31465e);_0x4288e3[_0x6469('0x29')]=_['keys'](_0x39818d[_0x6469('0x29')]);_0x4288e3[_0x6469('0x2a')]=_[_0x6469('0x2b')](_0x4288e3[_0x6469('0x2c')],_0x4288e3['query']);_0x49440a[_0x6469('0x2d')]=_['intersection'](_0x4288e3[_0x6469('0x2c')],qs['fields'](_0x39818d[_0x6469('0x29')]['fields']));_0x49440a['attributes']=_0x49440a['attributes'][_0x6469('0x2e')]?_0x49440a['attributes']:_0x4288e3[_0x6469('0x2c')];if(!_0x39818d[_0x6469('0x29')][_0x6469('0x2f')]('nolimit')){_0x49440a[_0x6469('0x1a')]=qs[_0x6469('0x1a')](_0x39818d[_0x6469('0x29')][_0x6469('0x1a')]);_0x49440a[_0x6469('0x19')]=qs[_0x6469('0x19')](_0x39818d[_0x6469('0x29')][_0x6469('0x19')]);}_0x49440a['order']=qs[_0x6469('0x30')](_0x39818d[_0x6469('0x29')][_0x6469('0x30')]);_0x49440a['where']=qs[_0x6469('0x2a')](_[_0x6469('0x31')](_0x39818d[_0x6469('0x29')],_0x4288e3[_0x6469('0x2a')]));if(_0x39818d[_0x6469('0x29')][_0x6469('0x32')]){_0x49440a[_0x6469('0x33')]=_[_0x6469('0x34')](_0x49440a[_0x6469('0x33')],{'$or':_['map'](_0x31465e,function(_0x55fb37){if(_0x55fb37[_0x6469('0x35')][_0x6469('0x36')]!==_0x6469('0x37')){var _0x2a06d1={};_0x2a06d1[_0x55fb37[_0x6469('0x38')]]={'$like':'%'+_0x39818d[_0x6469('0x29')][_0x6469('0x32')]+'%'};return _0x2a06d1;}})});}_0x49440a=_[_0x6469('0x34')]({},_0x49440a,_0x39818d[_0x6469('0x39')]);var _0x3412d4={'where':_0x49440a[_0x6469('0x33')]};return db[_0x6469('0x26')][_0x6469('0x18')](_0x3412d4)[_0x6469('0x1e')](function(_0x29a3f4){_0x1edb3d['count']=_0x29a3f4;if(_0x39818d[_0x6469('0x29')][_0x6469('0x3a')]){_0x49440a[_0x6469('0x3b')]=[{'all':!![]}];}return db[_0x6469('0x26')]['findAll'](_0x49440a);})['then'](function(_0x579ed8){_0x1edb3d[_0x6469('0x3c')]=_0x579ed8;return _0x1edb3d;})['then'](respondWithFilteredResult(_0x3d0283,_0x49440a))['catch'](handleError(_0x3d0283,null));};exports[_0x6469('0x3d')]=function(_0xae5cb6,_0x1e1411){var _0x1d17a5={'raw':!![],'where':{'id':_0xae5cb6[_0x6469('0x3e')]['id']}},_0x7d2361={};_0x7d2361['model']=_[_0x6469('0x28')](db[_0x6469('0x26')][_0x6469('0x27')]);_0x7d2361[_0x6469('0x29')]=_['keys'](_0xae5cb6[_0x6469('0x29')]);_0x7d2361['filters']=_[_0x6469('0x2b')](_0x7d2361[_0x6469('0x2c')],_0x7d2361[_0x6469('0x29')]);_0x1d17a5[_0x6469('0x2d')]=_['intersection'](_0x7d2361['model'],qs[_0x6469('0x3f')](_0xae5cb6[_0x6469('0x29')][_0x6469('0x3f')]));_0x1d17a5[_0x6469('0x2d')]=_0x1d17a5[_0x6469('0x2d')][_0x6469('0x2e')]?_0x1d17a5[_0x6469('0x2d')]:_0x7d2361[_0x6469('0x2c')];if(_0xae5cb6[_0x6469('0x29')][_0x6469('0x3a')]){_0x1d17a5['include']=[{'all':!![]}];}_0x1d17a5=_[_0x6469('0x34')]({},_0x1d17a5,_0xae5cb6[_0x6469('0x39')]);return db[_0x6469('0x26')]['find'](_0x1d17a5)[_0x6469('0x1e')](handleEntityNotFound(_0x1e1411,null))[_0x6469('0x1e')](respondWithResult(_0x1e1411,null))[_0x6469('0x40')](handleError(_0x1e1411,null));};exports[_0x6469('0x41')]=function(_0x54c2c8,_0xe4fb08){return db[_0x6469('0x26')][_0x6469('0x41')](_0x54c2c8['body'],{})[_0x6469('0x1e')](function(_0x3a8976){var _0x2b419d=_0x54c2c8[_0x6469('0x42')][_0x6469('0x43')]({'plain':!![]});if(!_0x2b419d)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x2b419d[_0x6469('0x44')]===_0x6469('0x42')){var _0xe7a624=_0x3a8976['get']({'plain':!![]});var _0x43ab80=_0x6469('0x1f');return db[_0x6469('0x45')][_0x6469('0x46')]({'where':{'name':_0x43ab80,'userProfileId':_0x2b419d[_0x6469('0x47')]},'raw':!![]})[_0x6469('0x1e')](function(_0x782a46){if(_0x782a46&&_0x782a46['autoAssociation']===0x0){return db[_0x6469('0x20')][_0x6469('0x41')]({'name':_0xe7a624['name'],'resourceId':_0xe7a624['id'],'type':_0x782a46['name'],'sectionId':_0x782a46['id']},{})[_0x6469('0x1e')](function(){return _0x3a8976;});}else{return _0x3a8976;}})[_0x6469('0x40')](function(_0x5be4c2){logger[_0x6469('0x22')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x5be4c2);throw _0x5be4c2;});}return _0x3a8976;})[_0x6469('0x1e')](respondWithResult(_0xe4fb08,0xc9))[_0x6469('0x40')](handleError(_0xe4fb08,null));};exports[_0x6469('0x1d')]=function(_0x297e29,_0x4194c3){if(_0x297e29[_0x6469('0x48')]['id']){delete _0x297e29[_0x6469('0x48')]['id'];}return db[_0x6469('0x26')][_0x6469('0x46')]({'where':{'id':_0x297e29[_0x6469('0x3e')]['id']}})[_0x6469('0x1e')](handleEntityNotFound(_0x4194c3,null))[_0x6469('0x1e')](saveUpdates(_0x297e29[_0x6469('0x48')],null))[_0x6469('0x1e')](respondWithResult(_0x4194c3,null))[_0x6469('0x40')](handleError(_0x4194c3,null));};exports[_0x6469('0x21')]=function(_0x23978f,_0x12a645){return db[_0x6469('0x26')][_0x6469('0x46')]({'where':{'id':_0x23978f[_0x6469('0x3e')]['id']}})['then'](handleEntityNotFound(_0x12a645,null))[_0x6469('0x1e')](removeEntity(_0x12a645,null))[_0x6469('0x40')](handleError(_0x12a645,null));};