Built motion from commit (unavailable).|2.5.1
[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 _0x2839=['UserProfileSection','find','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','util','ejs','lodash','squel','crypto','jsforce','to-csv','querystring','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','count','offset','Content-Range','apply','reject','update','then','UserProfileResource','destroy','error','stack','name','send','index','map','Disposition','rawAttributes','fieldName','key','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','limit','order','sort','where','filter','type','VIRTUAL','merge','options','includeAll','include','findAll','length','catch','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','Dispositions'];(function(_0x4603fe,_0x45efa6){var _0x5d4372=function(_0xf2979){while(--_0xf2979){_0x4603fe['push'](_0x4603fe['shift']());}};_0x5d4372(++_0x45efa6);}(_0x2839,0x141));var _0x9283=function(_0x39616c,_0x4ba20c){_0x39616c=_0x39616c-0x0;var _0x40feb2=_0x2839[_0x39616c];return _0x40feb2;};'use strict';var pdf=require(_0x9283('0x0'));var emlformat=require(_0x9283('0x1'));var rimraf=require(_0x9283('0x2'));var zipdir=require(_0x9283('0x3'));var jsonpatch=require(_0x9283('0x4'));var rp=require('request-promise');var moment=require(_0x9283('0x5'));var BPromise=require(_0x9283('0x6'));var Mustache=require('mustache');var util=require(_0x9283('0x7'));var path=require('path');var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x9283('0x8'));var fs=require('fs');var _=require(_0x9283('0x9'));var squel=require(_0x9283('0xa'));var crypto=require(_0x9283('0xb'));var jsforce=require(_0x9283('0xc'));var deskjs=require('desk.js');var toCsv=require(_0x9283('0xd'));var querystring=require(_0x9283('0xe'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x9283('0xf'));var qs=require('../../components/parsers/qs');var as=require(_0x9283('0x10'));var hardwareService=require(_0x9283('0x11'));var logger=require('../../config/logger')(_0x9283('0x12'));var utils=require(_0x9283('0x13'));var config=require(_0x9283('0x14'));var db=require(_0x9283('0x15'))['db'];function respondWithStatusCode(_0x383f4b,_0x3f5184){_0x3f5184=_0x3f5184||0xcc;return function(_0x1184b9){if(_0x1184b9){return _0x383f4b[_0x9283('0x16')](_0x3f5184);}return _0x383f4b[_0x9283('0x17')](_0x3f5184)[_0x9283('0x18')]();};}function respondWithResult(_0x5804ab,_0x3822aa){_0x3822aa=_0x3822aa||0xc8;return function(_0xa51df1){if(_0xa51df1){return _0x5804ab['status'](_0x3822aa)[_0x9283('0x19')](_0xa51df1);}};}function respondWithFilteredResult(_0x7e99ad,_0x1e14a3){return function(_0x4e01ae){if(_0x4e01ae){var _0x4595b4=_0x4e01ae[_0x9283('0x1a')],_0x56d636=_0x1e14a3[_0x9283('0x1b')],_0x1b07d8=_0x1e14a3[_0x9283('0x1b')]+_0x1e14a3['limit'],_0x17d056;if(_0x1b07d8>=_0x4595b4){_0x1b07d8=_0x4595b4;_0x17d056=0xc8;}else{_0x17d056=0xce;}_0x7e99ad[_0x9283('0x17')](_0x17d056);return _0x7e99ad['set'](_0x9283('0x1c'),_0x56d636+'-'+_0x1b07d8+'/'+_0x4595b4)[_0x9283('0x19')](_0x4e01ae);}return null;};}function patchUpdates(_0x5357da){return function(_0x11faaf){try{jsonpatch[_0x9283('0x1d')](_0x11faaf,_0x5357da,!![]);}catch(_0x91ba17){return BPromise[_0x9283('0x1e')](_0x91ba17);}return _0x11faaf['save']();};}function saveUpdates(_0x3d067c,_0x263af1){return function(_0x4fc8f3){if(_0x4fc8f3){return _0x4fc8f3[_0x9283('0x1f')](_0x3d067c)[_0x9283('0x20')](function(_0x2dfed3){return _0x2dfed3;});}return null;};}function removeEntity(_0x45b810,_0x406f0b){return function(_0x391f00){if(_0x391f00){return _0x391f00['destroy']()[_0x9283('0x20')](function(){var _0x3a5df4=_0x391f00['get']({'plain':!![]});var _0x307f02='Dispositions';return db[_0x9283('0x21')][_0x9283('0x22')]({'where':{'type':_0x307f02,'resourceId':_0x3a5df4['id']}})[_0x9283('0x20')](function(){return _0x391f00;});})[_0x9283('0x20')](function(){_0x45b810[_0x9283('0x17')](0xcc)[_0x9283('0x18')]();});}};}function handleEntityNotFound(_0x54989d,_0x492f68){return function(_0x4ae6d6){if(!_0x4ae6d6){_0x54989d[_0x9283('0x16')](0x194);}return _0x4ae6d6;};}function handleError(_0x1c34dd,_0xf1bb06){_0xf1bb06=_0xf1bb06||0x1f4;return function(_0x1fee5e){logger[_0x9283('0x23')](_0x1fee5e[_0x9283('0x24')]);if(_0x1fee5e[_0x9283('0x25')]){delete _0x1fee5e[_0x9283('0x25')];}_0x1c34dd[_0x9283('0x17')](_0xf1bb06)[_0x9283('0x26')](_0x1fee5e);};}exports[_0x9283('0x27')]=function(_0x5012c4,_0x5997c4){var _0x2b2a5c={},_0x5bf99f={},_0x40f4c7={'count':0x0,'rows':[]};var _0x3031e5=_[_0x9283('0x28')](db[_0x9283('0x29')][_0x9283('0x2a')],function(_0x52ab5f){return{'name':_0x52ab5f[_0x9283('0x2b')],'type':_0x52ab5f['type'][_0x9283('0x2c')]};});_0x5bf99f[_0x9283('0x2d')]=_[_0x9283('0x28')](_0x3031e5,_0x9283('0x25'));_0x5bf99f[_0x9283('0x2e')]=_[_0x9283('0x2f')](_0x5012c4[_0x9283('0x2e')]);_0x5bf99f[_0x9283('0x30')]=_[_0x9283('0x31')](_0x5bf99f[_0x9283('0x2d')],_0x5bf99f[_0x9283('0x2e')]);_0x2b2a5c[_0x9283('0x32')]=_['intersection'](_0x5bf99f['model'],qs[_0x9283('0x33')](_0x5012c4[_0x9283('0x2e')][_0x9283('0x33')]));_0x2b2a5c['attributes']=_0x2b2a5c[_0x9283('0x32')]['length']?_0x2b2a5c[_0x9283('0x32')]:_0x5bf99f[_0x9283('0x2d')];if(!_0x5012c4['query'][_0x9283('0x34')](_0x9283('0x35'))){_0x2b2a5c['limit']=qs[_0x9283('0x36')](_0x5012c4[_0x9283('0x2e')][_0x9283('0x36')]);_0x2b2a5c[_0x9283('0x1b')]=qs['offset'](_0x5012c4[_0x9283('0x2e')][_0x9283('0x1b')]);}_0x2b2a5c[_0x9283('0x37')]=qs[_0x9283('0x38')](_0x5012c4[_0x9283('0x2e')][_0x9283('0x38')]);_0x2b2a5c[_0x9283('0x39')]=qs[_0x9283('0x30')](_['pick'](_0x5012c4[_0x9283('0x2e')],_0x5bf99f['filters']),_0x3031e5);if(_0x5012c4[_0x9283('0x2e')][_0x9283('0x3a')]){_0x2b2a5c[_0x9283('0x39')]=_['merge'](_0x2b2a5c[_0x9283('0x39')],{'$or':_[_0x9283('0x28')](_0x3031e5,function(_0x4742df){if(_0x4742df[_0x9283('0x3b')]!==_0x9283('0x3c')){var _0x2251cc={};_0x2251cc[_0x4742df[_0x9283('0x25')]]={'$like':'%'+_0x5012c4[_0x9283('0x2e')][_0x9283('0x3a')]+'%'};return _0x2251cc;}})});}_0x2b2a5c=_[_0x9283('0x3d')]({},_0x2b2a5c,_0x5012c4[_0x9283('0x3e')]);var _0x56eb07={'where':_0x2b2a5c['where']};return db[_0x9283('0x29')]['count'](_0x56eb07)[_0x9283('0x20')](function(_0x1428d5){_0x40f4c7[_0x9283('0x1a')]=_0x1428d5;if(_0x5012c4['query'][_0x9283('0x3f')]){_0x2b2a5c[_0x9283('0x40')]=[{'all':!![]}];}return db[_0x9283('0x29')][_0x9283('0x41')](_0x2b2a5c);})[_0x9283('0x20')](function(_0x7fdf5d){_0x40f4c7['rows']=_0x7fdf5d;return _0x40f4c7;})[_0x9283('0x20')](respondWithFilteredResult(_0x5997c4,_0x2b2a5c))['catch'](handleError(_0x5997c4,null));};exports['show']=function(_0x4f33e4,_0x2548e8){var _0x57131a={'raw':!![],'where':{'id':_0x4f33e4['params']['id']}},_0x501139={};_0x501139[_0x9283('0x2d')]=_[_0x9283('0x2f')](db[_0x9283('0x29')][_0x9283('0x2a')]);_0x501139[_0x9283('0x2e')]=_[_0x9283('0x2f')](_0x4f33e4[_0x9283('0x2e')]);_0x501139[_0x9283('0x30')]=_[_0x9283('0x31')](_0x501139['model'],_0x501139['query']);_0x57131a[_0x9283('0x32')]=_[_0x9283('0x31')](_0x501139[_0x9283('0x2d')],qs[_0x9283('0x33')](_0x4f33e4[_0x9283('0x2e')]['fields']));_0x57131a[_0x9283('0x32')]=_0x57131a[_0x9283('0x32')][_0x9283('0x42')]?_0x57131a[_0x9283('0x32')]:_0x501139['model'];if(_0x4f33e4[_0x9283('0x2e')][_0x9283('0x3f')]){_0x57131a[_0x9283('0x40')]=[{'all':!![]}];}_0x57131a=_['merge']({},_0x57131a,_0x4f33e4['options']);return db[_0x9283('0x29')]['find'](_0x57131a)[_0x9283('0x20')](handleEntityNotFound(_0x2548e8,null))['then'](respondWithResult(_0x2548e8,null))[_0x9283('0x43')](handleError(_0x2548e8,null));};exports['create']=function(_0x530b09,_0x149063){return db[_0x9283('0x29')][_0x9283('0x44')](_0x530b09[_0x9283('0x45')],{})[_0x9283('0x20')](function(_0x309841){var _0x1b5774=_0x530b09[_0x9283('0x46')][_0x9283('0x47')]({'plain':!![]});if(!_0x1b5774)throw new Error(_0x9283('0x48'));if(_0x1b5774['role']===_0x9283('0x46')){var _0x470628=_0x309841['get']({'plain':!![]});var _0x265abb=_0x9283('0x49');return db[_0x9283('0x4a')][_0x9283('0x4b')]({'where':{'name':_0x265abb,'userProfileId':_0x1b5774[_0x9283('0x4c')]},'raw':!![]})['then'](function(_0x305a56){if(_0x305a56&&_0x305a56['autoAssociation']===0x0){return db[_0x9283('0x21')][_0x9283('0x44')]({'name':_0x470628['name'],'resourceId':_0x470628['id'],'type':_0x305a56['name'],'sectionId':_0x305a56['id']},{})[_0x9283('0x20')](function(){return _0x309841;});}else{return _0x309841;}})[_0x9283('0x43')](function(_0x56419f){logger[_0x9283('0x23')](_0x9283('0x4d'),_0x56419f);throw _0x56419f;});}return _0x309841;})[_0x9283('0x20')](respondWithResult(_0x149063,0xc9))[_0x9283('0x43')](handleError(_0x149063,null));};exports['update']=function(_0x4a5440,_0x40a28f){if(_0x4a5440['body']['id']){delete _0x4a5440['body']['id'];}return db['Disposition'][_0x9283('0x4b')]({'where':{'id':_0x4a5440[_0x9283('0x4e')]['id']}})['then'](handleEntityNotFound(_0x40a28f,null))[_0x9283('0x20')](saveUpdates(_0x4a5440[_0x9283('0x45')],null))[_0x9283('0x20')](respondWithResult(_0x40a28f,null))[_0x9283('0x43')](handleError(_0x40a28f,null));};exports[_0x9283('0x22')]=function(_0x26cb78,_0x4e409f){return db['Disposition'][_0x9283('0x4b')]({'where':{'id':_0x26cb78[_0x9283('0x4e')]['id']}})[_0x9283('0x20')](handleEntityNotFound(_0x4e409f,null))[_0x9283('0x20')](removeEntity(_0x4e409f,null))[_0x9283('0x43')](handleError(_0x4e409f,null));};