Built motion from commit (unavailable).|2.4.19
[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 _0x3eea=['../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../mysqldb','status','count','offset','limit','set','Content-Range','json','apply','reject','save','update','destroy','then','get','Dispositions','UserProfileResource','end','sendStatus','error','stack','name','send','map','Disposition','rawAttributes','fieldName','type','key','model','keys','query','intersection','fields','attributes','length','nolimit','order','sort','where','filters','pick','filter','merge','includeAll','include','rows','show','options','find','catch','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','html-pdf','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','squel','jsforce','papaparse','../../components/auth/service'];(function(_0x18def3,_0x36efa7){var _0x3fd767=function(_0x1cc85e){while(--_0x1cc85e){_0x18def3['push'](_0x18def3['shift']());}};_0x3fd767(++_0x36efa7);}(_0x3eea,0x1ca));var _0xa3ee=function(_0x279a34,_0x3530fb){_0x279a34=_0x279a34-0x0;var _0x1811e0=_0x3eea[_0x279a34];return _0x1811e0;};'use strict';var pdf=require(_0xa3ee('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xa3ee('0x1'));var zipdir=require(_0xa3ee('0x2'));var jsonpatch=require(_0xa3ee('0x3'));var rp=require(_0xa3ee('0x4'));var moment=require(_0xa3ee('0x5'));var BPromise=require(_0xa3ee('0x6'));var Mustache=require(_0xa3ee('0x7'));var util=require(_0xa3ee('0x8'));var path=require(_0xa3ee('0x9'));var sox=require(_0xa3ee('0xa'));var csv=require(_0xa3ee('0xb'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0xa3ee('0xc'));var crypto=require('crypto');var jsforce=require(_0xa3ee('0xd'));var deskjs=require('desk.js');var toCsv=require(_0xa3ee('0xb'));var querystring=require('querystring');var Papa=require(_0xa3ee('0xe'));var Redis=require('ioredis');var authService=require(_0xa3ee('0xf'));var qs=require(_0xa3ee('0x10'));var as=require(_0xa3ee('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xa3ee('0x12'))(_0xa3ee('0x13'));var utils=require('../../config/utils');var config=require('../../config/environment');var db=require(_0xa3ee('0x14'))['db'];function respondWithStatusCode(_0x30e652,_0x403518){_0x403518=_0x403518||0xcc;return function(_0x4363d1){if(_0x4363d1){return _0x30e652['sendStatus'](_0x403518);}return _0x30e652[_0xa3ee('0x15')](_0x403518)['end']();};}function respondWithResult(_0x43b3bc,_0x20535f){_0x20535f=_0x20535f||0xc8;return function(_0x2c34cf){if(_0x2c34cf){return _0x43b3bc[_0xa3ee('0x15')](_0x20535f)['json'](_0x2c34cf);}};}function respondWithFilteredResult(_0x2a82e5,_0x23df7d){return function(_0x5da681){if(_0x5da681){var _0x5358aa=_0x5da681[_0xa3ee('0x16')],_0x4b2c66=_0x23df7d[_0xa3ee('0x17')],_0x40decb=_0x23df7d['offset']+_0x23df7d[_0xa3ee('0x18')],_0x7277cd;if(_0x40decb>=_0x5358aa){_0x40decb=_0x5358aa;_0x7277cd=0xc8;}else{_0x7277cd=0xce;}_0x2a82e5[_0xa3ee('0x15')](_0x7277cd);return _0x2a82e5[_0xa3ee('0x19')](_0xa3ee('0x1a'),_0x4b2c66+'-'+_0x40decb+'/'+_0x5358aa)[_0xa3ee('0x1b')](_0x5da681);}return null;};}function patchUpdates(_0x4aac0e){return function(_0x377b9d){try{jsonpatch[_0xa3ee('0x1c')](_0x377b9d,_0x4aac0e,!![]);}catch(_0x35fbb2){return BPromise[_0xa3ee('0x1d')](_0x35fbb2);}return _0x377b9d[_0xa3ee('0x1e')]();};}function saveUpdates(_0x3195a7,_0x4f8c56){return function(_0x3f5d70){if(_0x3f5d70){return _0x3f5d70[_0xa3ee('0x1f')](_0x3195a7)['then'](function(_0x3a7cd3){return _0x3a7cd3;});}return null;};}function removeEntity(_0x4e7f32,_0x2fab5){return function(_0x29df43){if(_0x29df43){return _0x29df43[_0xa3ee('0x20')]()[_0xa3ee('0x21')](function(){var _0x60b899=_0x29df43[_0xa3ee('0x22')]({'plain':!![]});var _0x3ce61b=_0xa3ee('0x23');return db[_0xa3ee('0x24')][_0xa3ee('0x20')]({'where':{'type':_0x3ce61b,'resourceId':_0x60b899['id']}})['then'](function(){return _0x29df43;});})[_0xa3ee('0x21')](function(){_0x4e7f32[_0xa3ee('0x15')](0xcc)[_0xa3ee('0x25')]();});}};}function handleEntityNotFound(_0x1fe4b4,_0x2c48db){return function(_0x49c2f1){if(!_0x49c2f1){_0x1fe4b4[_0xa3ee('0x26')](0x194);}return _0x49c2f1;};}function handleError(_0x1b766e,_0x146493){_0x146493=_0x146493||0x1f4;return function(_0xd9a7f8){logger[_0xa3ee('0x27')](_0xd9a7f8[_0xa3ee('0x28')]);if(_0xd9a7f8[_0xa3ee('0x29')]){delete _0xd9a7f8[_0xa3ee('0x29')];}_0x1b766e[_0xa3ee('0x15')](_0x146493)[_0xa3ee('0x2a')](_0xd9a7f8);};}exports['index']=function(_0x5ba571,_0x4abf49){var _0x78e581={},_0x481358={},_0x3fa094={'count':0x0,'rows':[]};var _0x2872ba=_[_0xa3ee('0x2b')](db[_0xa3ee('0x2c')][_0xa3ee('0x2d')],function(_0x14547d){return{'name':_0x14547d[_0xa3ee('0x2e')],'type':_0x14547d[_0xa3ee('0x2f')][_0xa3ee('0x30')]};});_0x481358[_0xa3ee('0x31')]=_['map'](_0x2872ba,_0xa3ee('0x29'));_0x481358['query']=_[_0xa3ee('0x32')](_0x5ba571[_0xa3ee('0x33')]);_0x481358['filters']=_[_0xa3ee('0x34')](_0x481358['model'],_0x481358[_0xa3ee('0x33')]);_0x78e581['attributes']=_[_0xa3ee('0x34')](_0x481358[_0xa3ee('0x31')],qs[_0xa3ee('0x35')](_0x5ba571[_0xa3ee('0x33')][_0xa3ee('0x35')]));_0x78e581['attributes']=_0x78e581[_0xa3ee('0x36')][_0xa3ee('0x37')]?_0x78e581[_0xa3ee('0x36')]:_0x481358['model'];if(!_0x5ba571[_0xa3ee('0x33')]['hasOwnProperty'](_0xa3ee('0x38'))){_0x78e581['limit']=qs[_0xa3ee('0x18')](_0x5ba571['query'][_0xa3ee('0x18')]);_0x78e581[_0xa3ee('0x17')]=qs[_0xa3ee('0x17')](_0x5ba571[_0xa3ee('0x33')][_0xa3ee('0x17')]);}_0x78e581[_0xa3ee('0x39')]=qs[_0xa3ee('0x3a')](_0x5ba571[_0xa3ee('0x33')][_0xa3ee('0x3a')]);_0x78e581[_0xa3ee('0x3b')]=qs[_0xa3ee('0x3c')](_[_0xa3ee('0x3d')](_0x5ba571[_0xa3ee('0x33')],_0x481358['filters']));if(_0x5ba571[_0xa3ee('0x33')][_0xa3ee('0x3e')]){_0x78e581[_0xa3ee('0x3b')]=_[_0xa3ee('0x3f')](_0x78e581['where'],{'$or':_[_0xa3ee('0x2b')](_0x2872ba,function(_0x11a721){if(_0x11a721[_0xa3ee('0x2f')]!=='VIRTUAL'){var _0x1054e6={};_0x1054e6[_0x11a721[_0xa3ee('0x29')]]={'$like':'%'+_0x5ba571['query'][_0xa3ee('0x3e')]+'%'};return _0x1054e6;}})});}_0x78e581=_[_0xa3ee('0x3f')]({},_0x78e581,_0x5ba571['options']);var _0x2a8e02={'where':_0x78e581[_0xa3ee('0x3b')]};return db[_0xa3ee('0x2c')][_0xa3ee('0x16')](_0x2a8e02)[_0xa3ee('0x21')](function(_0x28e8c3){_0x3fa094[_0xa3ee('0x16')]=_0x28e8c3;if(_0x5ba571[_0xa3ee('0x33')][_0xa3ee('0x40')]){_0x78e581[_0xa3ee('0x41')]=[{'all':!![]}];}return db[_0xa3ee('0x2c')]['findAll'](_0x78e581);})['then'](function(_0x548534){_0x3fa094[_0xa3ee('0x42')]=_0x548534;return _0x3fa094;})[_0xa3ee('0x21')](respondWithFilteredResult(_0x4abf49,_0x78e581))['catch'](handleError(_0x4abf49,null));};exports[_0xa3ee('0x43')]=function(_0x425f69,_0x279834){var _0x55f47f={'raw':!![],'where':{'id':_0x425f69['params']['id']}},_0x1af10b={};_0x1af10b[_0xa3ee('0x31')]=_[_0xa3ee('0x32')](db[_0xa3ee('0x2c')][_0xa3ee('0x2d')]);_0x1af10b[_0xa3ee('0x33')]=_[_0xa3ee('0x32')](_0x425f69[_0xa3ee('0x33')]);_0x1af10b[_0xa3ee('0x3c')]=_[_0xa3ee('0x34')](_0x1af10b[_0xa3ee('0x31')],_0x1af10b[_0xa3ee('0x33')]);_0x55f47f[_0xa3ee('0x36')]=_[_0xa3ee('0x34')](_0x1af10b[_0xa3ee('0x31')],qs[_0xa3ee('0x35')](_0x425f69[_0xa3ee('0x33')][_0xa3ee('0x35')]));_0x55f47f[_0xa3ee('0x36')]=_0x55f47f['attributes'][_0xa3ee('0x37')]?_0x55f47f[_0xa3ee('0x36')]:_0x1af10b[_0xa3ee('0x31')];if(_0x425f69[_0xa3ee('0x33')]['includeAll']){_0x55f47f[_0xa3ee('0x41')]=[{'all':!![]}];}_0x55f47f=_['merge']({},_0x55f47f,_0x425f69[_0xa3ee('0x44')]);return db[_0xa3ee('0x2c')][_0xa3ee('0x45')](_0x55f47f)[_0xa3ee('0x21')](handleEntityNotFound(_0x279834,null))[_0xa3ee('0x21')](respondWithResult(_0x279834,null))[_0xa3ee('0x46')](handleError(_0x279834,null));};exports[_0xa3ee('0x47')]=function(_0xbb0148,_0x3c3677){return db[_0xa3ee('0x2c')]['create'](_0xbb0148[_0xa3ee('0x48')],{})['then'](function(_0x4adf22){var _0xaad29c=_0xbb0148[_0xa3ee('0x49')][_0xa3ee('0x22')]({'plain':!![]});if(!_0xaad29c)throw new Error(_0xa3ee('0x4a'));if(_0xaad29c[_0xa3ee('0x4b')]===_0xa3ee('0x49')){var _0x1f8699=_0x4adf22['get']({'plain':!![]});var _0x2d67f7=_0xa3ee('0x23');return db['UserProfileSection'][_0xa3ee('0x45')]({'where':{'name':_0x2d67f7,'userProfileId':_0xaad29c[_0xa3ee('0x4c')]},'raw':!![]})[_0xa3ee('0x21')](function(_0x5ec981){if(_0x5ec981&&_0x5ec981['autoAssociation']===0x0){return db[_0xa3ee('0x24')][_0xa3ee('0x47')]({'name':_0x1f8699[_0xa3ee('0x29')],'resourceId':_0x1f8699['id'],'type':_0x5ec981[_0xa3ee('0x29')],'sectionId':_0x5ec981['id']},{})[_0xa3ee('0x21')](function(){return _0x4adf22;});}else{return _0x4adf22;}})['catch'](function(_0x55678e){logger[_0xa3ee('0x27')](_0xa3ee('0x4d'),_0x55678e);throw _0x55678e;});}return _0x4adf22;})['then'](respondWithResult(_0x3c3677,0xc9))[_0xa3ee('0x46')](handleError(_0x3c3677,null));};exports[_0xa3ee('0x1f')]=function(_0x13cd8b,_0x579ec8){if(_0x13cd8b['body']['id']){delete _0x13cd8b[_0xa3ee('0x48')]['id'];}return db['Disposition'][_0xa3ee('0x45')]({'where':{'id':_0x13cd8b[_0xa3ee('0x4e')]['id']}})['then'](handleEntityNotFound(_0x579ec8,null))[_0xa3ee('0x21')](saveUpdates(_0x13cd8b[_0xa3ee('0x48')],null))[_0xa3ee('0x21')](respondWithResult(_0x579ec8,null))['catch'](handleError(_0x579ec8,null));};exports[_0xa3ee('0x20')]=function(_0x476cd5,_0x594034){return db[_0xa3ee('0x2c')][_0xa3ee('0x45')]({'where':{'id':_0x476cd5[_0xa3ee('0x4e')]['id']}})['then'](handleEntityNotFound(_0x594034,null))['then'](removeEntity(_0x594034,null))[_0xa3ee('0x46')](handleError(_0x594034,null));};