Built motion from commit (unavailable).|2.5.11
[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 _0x6df4=['apply','reject','save','update','destroy','then','get','Dispositions','UserProfileResource','error','stack','name','send','index','map','Disposition','rawAttributes','type','key','model','query','keys','intersection','fields','attributes','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','merge','VIRTUAL','includeAll','findAll','rows','show','params','length','include','options','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','userProfileId','autoAssociation','catch','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','html-pdf','eml-format','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','crypto','jsforce','desk.js','querystring','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','Content-Range'];(function(_0x1e4e2a,_0x37da6c){var _0x52fe47=function(_0xd2649d){while(--_0xd2649d){_0x1e4e2a['push'](_0x1e4e2a['shift']());}};_0x52fe47(++_0x37da6c);}(_0x6df4,0xe5));var _0x46df=function(_0x131585,_0x1abd33){_0x131585=_0x131585-0x0;var _0x1fcca2=_0x6df4[_0x131585];return _0x1fcca2;};'use strict';var pdf=require(_0x46df('0x0'));var emlformat=require(_0x46df('0x1'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x46df('0x2'));var rp=require(_0x46df('0x3'));var moment=require(_0x46df('0x4'));var BPromise=require(_0x46df('0x5'));var Mustache=require(_0x46df('0x6'));var util=require(_0x46df('0x7'));var path=require(_0x46df('0x8'));var sox=require(_0x46df('0x9'));var csv=require(_0x46df('0xa'));var ejs=require(_0x46df('0xb'));var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require(_0x46df('0xc'));var jsforce=require(_0x46df('0xd'));var deskjs=require(_0x46df('0xe'));var toCsv=require('to-csv');var querystring=require(_0x46df('0xf'));var Papa=require(_0x46df('0x10'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x46df('0x11'));var as=require(_0x46df('0x12'));var hardwareService=require(_0x46df('0x13'));var logger=require(_0x46df('0x14'))(_0x46df('0x15'));var utils=require(_0x46df('0x16'));var config=require(_0x46df('0x17'));var licenseUtil=require(_0x46df('0x18'));var db=require(_0x46df('0x19'))['db'];function respondWithStatusCode(_0x567334,_0x150332){_0x150332=_0x150332||0xcc;return function(_0x6c7d4b){if(_0x6c7d4b){return _0x567334[_0x46df('0x1a')](_0x150332);}return _0x567334[_0x46df('0x1b')](_0x150332)[_0x46df('0x1c')]();};}function respondWithResult(_0x1e9833,_0x10e347){_0x10e347=_0x10e347||0xc8;return function(_0xfdb04f){if(_0xfdb04f){return _0x1e9833[_0x46df('0x1b')](_0x10e347)[_0x46df('0x1d')](_0xfdb04f);}};}function respondWithFilteredResult(_0x543f47,_0x5215a4){return function(_0x113aa6){if(_0x113aa6){var _0xafffdb=_0x113aa6[_0x46df('0x1e')],_0x15b825=_0x5215a4[_0x46df('0x1f')],_0x4dbff9=_0x5215a4['offset']+_0x5215a4[_0x46df('0x20')],_0x1bd8fb;if(_0x4dbff9>=_0xafffdb){_0x4dbff9=_0xafffdb;_0x1bd8fb=0xc8;}else{_0x1bd8fb=0xce;}_0x543f47[_0x46df('0x1b')](_0x1bd8fb);return _0x543f47[_0x46df('0x21')](_0x46df('0x22'),_0x15b825+'-'+_0x4dbff9+'/'+_0xafffdb)[_0x46df('0x1d')](_0x113aa6);}return null;};}function patchUpdates(_0x4d3841){return function(_0x4a0c03){try{jsonpatch[_0x46df('0x23')](_0x4a0c03,_0x4d3841,!![]);}catch(_0x583a1e){return BPromise[_0x46df('0x24')](_0x583a1e);}return _0x4a0c03[_0x46df('0x25')]();};}function saveUpdates(_0xccf79,_0x450d8a){return function(_0xada29d){if(_0xada29d){return _0xada29d[_0x46df('0x26')](_0xccf79)['then'](function(_0x2cc8f8){return _0x2cc8f8;});}return null;};}function removeEntity(_0x530afc,_0x4aa8ac){return function(_0x80ff3f){if(_0x80ff3f){return _0x80ff3f[_0x46df('0x27')]()[_0x46df('0x28')](function(){var _0x27ea7d=_0x80ff3f[_0x46df('0x29')]({'plain':!![]});var _0x285e7b=_0x46df('0x2a');return db[_0x46df('0x2b')][_0x46df('0x27')]({'where':{'type':_0x285e7b,'resourceId':_0x27ea7d['id']}})[_0x46df('0x28')](function(){return _0x80ff3f;});})[_0x46df('0x28')](function(){_0x530afc[_0x46df('0x1b')](0xcc)[_0x46df('0x1c')]();});}};}function handleEntityNotFound(_0x288374,_0x4d0e43){return function(_0x41c047){if(!_0x41c047){_0x288374['sendStatus'](0x194);}return _0x41c047;};}function handleError(_0x54d0ed,_0x49f4ae){_0x49f4ae=_0x49f4ae||0x1f4;return function(_0x2ae4b2){logger[_0x46df('0x2c')](_0x2ae4b2[_0x46df('0x2d')]);if(_0x2ae4b2[_0x46df('0x2e')]){delete _0x2ae4b2[_0x46df('0x2e')];}_0x54d0ed[_0x46df('0x1b')](_0x49f4ae)[_0x46df('0x2f')](_0x2ae4b2);};}exports[_0x46df('0x30')]=function(_0x359517,_0x2ba2c2){var _0x4ae1c4={},_0x3ba8de={},_0x59a81a={'count':0x0,'rows':[]};var _0x3b0451=_[_0x46df('0x31')](db[_0x46df('0x32')][_0x46df('0x33')],function(_0x27c2af){return{'name':_0x27c2af['fieldName'],'type':_0x27c2af[_0x46df('0x34')][_0x46df('0x35')]};});_0x3ba8de[_0x46df('0x36')]=_[_0x46df('0x31')](_0x3b0451,_0x46df('0x2e'));_0x3ba8de[_0x46df('0x37')]=_[_0x46df('0x38')](_0x359517[_0x46df('0x37')]);_0x3ba8de['filters']=_[_0x46df('0x39')](_0x3ba8de[_0x46df('0x36')],_0x3ba8de[_0x46df('0x37')]);_0x4ae1c4['attributes']=_[_0x46df('0x39')](_0x3ba8de[_0x46df('0x36')],qs['fields'](_0x359517[_0x46df('0x37')][_0x46df('0x3a')]));_0x4ae1c4['attributes']=_0x4ae1c4[_0x46df('0x3b')]['length']?_0x4ae1c4[_0x46df('0x3b')]:_0x3ba8de[_0x46df('0x36')];if(!_0x359517[_0x46df('0x37')][_0x46df('0x3c')](_0x46df('0x3d'))){_0x4ae1c4['limit']=qs[_0x46df('0x20')](_0x359517['query'][_0x46df('0x20')]);_0x4ae1c4['offset']=qs['offset'](_0x359517[_0x46df('0x37')][_0x46df('0x1f')]);}_0x4ae1c4[_0x46df('0x3e')]=qs[_0x46df('0x3f')](_0x359517[_0x46df('0x37')][_0x46df('0x3f')]);_0x4ae1c4[_0x46df('0x40')]=qs[_0x46df('0x41')](_[_0x46df('0x42')](_0x359517[_0x46df('0x37')],_0x3ba8de[_0x46df('0x41')]),_0x3b0451);if(_0x359517[_0x46df('0x37')][_0x46df('0x43')]){_0x4ae1c4[_0x46df('0x40')]=_[_0x46df('0x44')](_0x4ae1c4[_0x46df('0x40')],{'$or':_['map'](_0x3b0451,function(_0x91359a){if(_0x91359a[_0x46df('0x34')]!==_0x46df('0x45')){var _0x615e21={};_0x615e21[_0x91359a['name']]={'$like':'%'+_0x359517[_0x46df('0x37')][_0x46df('0x43')]+'%'};return _0x615e21;}})});}_0x4ae1c4=_['merge']({},_0x4ae1c4,_0x359517['options']);var _0x30ccca={'where':_0x4ae1c4['where']};return db[_0x46df('0x32')][_0x46df('0x1e')](_0x30ccca)[_0x46df('0x28')](function(_0x4a695b){_0x59a81a[_0x46df('0x1e')]=_0x4a695b;if(_0x359517[_0x46df('0x37')][_0x46df('0x46')]){_0x4ae1c4['include']=[{'all':!![]}];}return db[_0x46df('0x32')][_0x46df('0x47')](_0x4ae1c4);})[_0x46df('0x28')](function(_0x7538b){_0x59a81a[_0x46df('0x48')]=_0x7538b;return _0x59a81a;})[_0x46df('0x28')](respondWithFilteredResult(_0x2ba2c2,_0x4ae1c4))['catch'](handleError(_0x2ba2c2,null));};exports[_0x46df('0x49')]=function(_0xd697b0,_0x5d7ce9){var _0x409ab0={'raw':!![],'where':{'id':_0xd697b0[_0x46df('0x4a')]['id']}},_0x46060f={};_0x46060f[_0x46df('0x36')]=_[_0x46df('0x38')](db[_0x46df('0x32')]['rawAttributes']);_0x46060f[_0x46df('0x37')]=_['keys'](_0xd697b0[_0x46df('0x37')]);_0x46060f['filters']=_[_0x46df('0x39')](_0x46060f[_0x46df('0x36')],_0x46060f[_0x46df('0x37')]);_0x409ab0[_0x46df('0x3b')]=_['intersection'](_0x46060f[_0x46df('0x36')],qs[_0x46df('0x3a')](_0xd697b0[_0x46df('0x37')][_0x46df('0x3a')]));_0x409ab0[_0x46df('0x3b')]=_0x409ab0[_0x46df('0x3b')][_0x46df('0x4b')]?_0x409ab0['attributes']:_0x46060f[_0x46df('0x36')];if(_0xd697b0[_0x46df('0x37')]['includeAll']){_0x409ab0[_0x46df('0x4c')]=[{'all':!![]}];}_0x409ab0=_['merge']({},_0x409ab0,_0xd697b0[_0x46df('0x4d')]);return db[_0x46df('0x32')][_0x46df('0x4e')](_0x409ab0)[_0x46df('0x28')](handleEntityNotFound(_0x5d7ce9,null))['then'](respondWithResult(_0x5d7ce9,null))['catch'](handleError(_0x5d7ce9,null));};exports['create']=function(_0x426b8d,_0x501a5a){return db[_0x46df('0x32')][_0x46df('0x4f')](_0x426b8d[_0x46df('0x50')],{})['then'](function(_0x234ace){var _0x1b1694=_0x426b8d[_0x46df('0x51')][_0x46df('0x29')]({'plain':!![]});if(!_0x1b1694)throw new Error(_0x46df('0x52'));if(_0x1b1694['role']==='user'){var _0x50db27=_0x234ace[_0x46df('0x29')]({'plain':!![]});var _0x435857='Dispositions';return db[_0x46df('0x53')][_0x46df('0x4e')]({'where':{'name':_0x435857,'userProfileId':_0x1b1694[_0x46df('0x54')]},'raw':!![]})[_0x46df('0x28')](function(_0x5be09b){if(_0x5be09b&&_0x5be09b[_0x46df('0x55')]===0x0){return db[_0x46df('0x2b')][_0x46df('0x4f')]({'name':_0x50db27['name'],'resourceId':_0x50db27['id'],'type':_0x5be09b['name'],'sectionId':_0x5be09b['id']},{})['then'](function(){return _0x234ace;});}else{return _0x234ace;}})[_0x46df('0x56')](function(_0x26ebc6){logger['error'](_0x46df('0x57'),_0x26ebc6);throw _0x26ebc6;});}return _0x234ace;})[_0x46df('0x28')](respondWithResult(_0x501a5a,0xc9))[_0x46df('0x56')](handleError(_0x501a5a,null));};exports[_0x46df('0x26')]=function(_0xa95ab0,_0x455ca9){if(_0xa95ab0[_0x46df('0x50')]['id']){delete _0xa95ab0[_0x46df('0x50')]['id'];}return db[_0x46df('0x32')][_0x46df('0x4e')]({'where':{'id':_0xa95ab0[_0x46df('0x4a')]['id']}})[_0x46df('0x28')](handleEntityNotFound(_0x455ca9,null))[_0x46df('0x28')](saveUpdates(_0xa95ab0[_0x46df('0x50')],null))[_0x46df('0x28')](respondWithResult(_0x455ca9,null))[_0x46df('0x56')](handleError(_0x455ca9,null));};exports[_0x46df('0x27')]=function(_0x5cf5d0,_0x473955){return db[_0x46df('0x32')][_0x46df('0x4e')]({'where':{'id':_0x5cf5d0['params']['id']}})[_0x46df('0x28')](handleEntityNotFound(_0x473955,null))[_0x46df('0x28')](removeEntity(_0x473955,null))[_0x46df('0x56')](handleError(_0x473955,null));};