Built motion from commit (unavailable).|2.5.23
[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 _0x091b=['save','then','get','Dispositions','destroy','status','stack','name','send','index','map','Disposition','fieldName','type','model','query','keys','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','filter','merge','options','include','findAll','rows','catch','show','rawAttributes','includeAll','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','util','path','sox','to-csv','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','json','count','offset','limit','Content-Range'];(function(_0x3eca5a,_0x20d490){var _0x15470e=function(_0x219cc6){while(--_0x219cc6){_0x3eca5a['push'](_0x3eca5a['shift']());}};_0x15470e(++_0x20d490);}(_0x091b,0x1d6));var _0xb091=function(_0x498b56,_0x517799){_0x498b56=_0x498b56-0x0;var _0x3d53f7=_0x091b[_0x498b56];return _0x3d53f7;};'use strict';var pdf=require(_0xb091('0x0'));var emlformat=require(_0xb091('0x1'));var rimraf=require(_0xb091('0x2'));var zipdir=require(_0xb091('0x3'));var jsonpatch=require(_0xb091('0x4'));var rp=require(_0xb091('0x5'));var moment=require('moment');var BPromise=require(_0xb091('0x6'));var Mustache=require('mustache');var util=require(_0xb091('0x7'));var path=require(_0xb091('0x8'));var sox=require(_0xb091('0x9'));var csv=require(_0xb091('0xa'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0xb091('0xb'));var crypto=require(_0xb091('0xc'));var jsforce=require(_0xb091('0xd'));var deskjs=require(_0xb091('0xe'));var toCsv=require(_0xb091('0xa'));var querystring=require(_0xb091('0xf'));var Papa=require(_0xb091('0x10'));var Redis=require(_0xb091('0x11'));var authService=require(_0xb091('0x12'));var qs=require(_0xb091('0x13'));var as=require(_0xb091('0x14'));var hardwareService=require(_0xb091('0x15'));var logger=require(_0xb091('0x16'))(_0xb091('0x17'));var utils=require('../../config/utils');var config=require(_0xb091('0x18'));var licenseUtil=require(_0xb091('0x19'));var db=require(_0xb091('0x1a'))['db'];function respondWithStatusCode(_0x12f817,_0x341ac4){_0x341ac4=_0x341ac4||0xcc;return function(_0x127807){if(_0x127807){return _0x12f817[_0xb091('0x1b')](_0x341ac4);}return _0x12f817['status'](_0x341ac4)[_0xb091('0x1c')]();};}function respondWithResult(_0x48e34b,_0x4cfb73){_0x4cfb73=_0x4cfb73||0xc8;return function(_0x559455){if(_0x559455){return _0x48e34b['status'](_0x4cfb73)[_0xb091('0x1d')](_0x559455);}};}function respondWithFilteredResult(_0x56fff7,_0x39e170){return function(_0x1bce98){if(_0x1bce98){var _0x49ae3e=_0x1bce98[_0xb091('0x1e')],_0x3228c8=_0x39e170[_0xb091('0x1f')],_0x473a02=_0x39e170[_0xb091('0x1f')]+_0x39e170[_0xb091('0x20')],_0x27dcba;if(_0x473a02>=_0x49ae3e){_0x473a02=_0x49ae3e;_0x27dcba=0xc8;}else{_0x27dcba=0xce;}_0x56fff7['status'](_0x27dcba);return _0x56fff7['set'](_0xb091('0x21'),_0x3228c8+'-'+_0x473a02+'/'+_0x49ae3e)['json'](_0x1bce98);}return null;};}function patchUpdates(_0x90f8a){return function(_0x2a8d51){try{jsonpatch['apply'](_0x2a8d51,_0x90f8a,!![]);}catch(_0x5a57d0){return BPromise['reject'](_0x5a57d0);}return _0x2a8d51[_0xb091('0x22')]();};}function saveUpdates(_0x23c3ed,_0x5e0162){return function(_0xae0f60){if(_0xae0f60){return _0xae0f60['update'](_0x23c3ed)[_0xb091('0x23')](function(_0x3800dd){return _0x3800dd;});}return null;};}function removeEntity(_0xe16c81,_0x41871d){return function(_0x209ba0){if(_0x209ba0){return _0x209ba0['destroy']()[_0xb091('0x23')](function(){var _0x5358b4=_0x209ba0[_0xb091('0x24')]({'plain':!![]});var _0x29b1a6=_0xb091('0x25');return db['UserProfileResource'][_0xb091('0x26')]({'where':{'type':_0x29b1a6,'resourceId':_0x5358b4['id']}})[_0xb091('0x23')](function(){return _0x209ba0;});})[_0xb091('0x23')](function(){_0xe16c81[_0xb091('0x27')](0xcc)['end']();});}};}function handleEntityNotFound(_0x58315a,_0x2c5f38){return function(_0x20cd25){if(!_0x20cd25){_0x58315a[_0xb091('0x1b')](0x194);}return _0x20cd25;};}function handleError(_0x28d262,_0x250d83){_0x250d83=_0x250d83||0x1f4;return function(_0x52d56b){logger['error'](_0x52d56b[_0xb091('0x28')]);if(_0x52d56b[_0xb091('0x29')]){delete _0x52d56b[_0xb091('0x29')];}_0x28d262[_0xb091('0x27')](_0x250d83)[_0xb091('0x2a')](_0x52d56b);};}exports[_0xb091('0x2b')]=function(_0x307552,_0x184fa9){var _0x100625={},_0x4c57a1={},_0x3951bc={'count':0x0,'rows':[]};var _0x5d9079=_[_0xb091('0x2c')](db[_0xb091('0x2d')]['rawAttributes'],function(_0x14c3a7){return{'name':_0x14c3a7[_0xb091('0x2e')],'type':_0x14c3a7[_0xb091('0x2f')]['key']};});_0x4c57a1[_0xb091('0x30')]=_[_0xb091('0x2c')](_0x5d9079,_0xb091('0x29'));_0x4c57a1[_0xb091('0x31')]=_[_0xb091('0x32')](_0x307552[_0xb091('0x31')]);_0x4c57a1['filters']=_['intersection'](_0x4c57a1['model'],_0x4c57a1[_0xb091('0x31')]);_0x100625[_0xb091('0x33')]=_[_0xb091('0x34')](_0x4c57a1['model'],qs['fields'](_0x307552[_0xb091('0x31')][_0xb091('0x35')]));_0x100625[_0xb091('0x33')]=_0x100625['attributes'][_0xb091('0x36')]?_0x100625[_0xb091('0x33')]:_0x4c57a1[_0xb091('0x30')];if(!_0x307552[_0xb091('0x31')][_0xb091('0x37')](_0xb091('0x38'))){_0x100625[_0xb091('0x20')]=qs[_0xb091('0x20')](_0x307552[_0xb091('0x31')][_0xb091('0x20')]);_0x100625[_0xb091('0x1f')]=qs['offset'](_0x307552[_0xb091('0x31')][_0xb091('0x1f')]);}_0x100625[_0xb091('0x39')]=qs[_0xb091('0x3a')](_0x307552[_0xb091('0x31')][_0xb091('0x3a')]);_0x100625[_0xb091('0x3b')]=qs[_0xb091('0x3c')](_['pick'](_0x307552[_0xb091('0x31')],_0x4c57a1[_0xb091('0x3c')]),_0x5d9079);if(_0x307552['query'][_0xb091('0x3d')]){_0x100625[_0xb091('0x3b')]=_[_0xb091('0x3e')](_0x100625[_0xb091('0x3b')],{'$or':_[_0xb091('0x2c')](_0x5d9079,function(_0x19dbb3){if(_0x19dbb3['type']!=='VIRTUAL'){var _0x283455={};_0x283455[_0x19dbb3[_0xb091('0x29')]]={'$like':'%'+_0x307552[_0xb091('0x31')][_0xb091('0x3d')]+'%'};return _0x283455;}})});}_0x100625=_[_0xb091('0x3e')]({},_0x100625,_0x307552[_0xb091('0x3f')]);var _0x2a0345={'where':_0x100625[_0xb091('0x3b')]};return db[_0xb091('0x2d')][_0xb091('0x1e')](_0x2a0345)['then'](function(_0x481dc3){_0x3951bc[_0xb091('0x1e')]=_0x481dc3;if(_0x307552[_0xb091('0x31')]['includeAll']){_0x100625[_0xb091('0x40')]=[{'all':!![]}];}return db['Disposition'][_0xb091('0x41')](_0x100625);})[_0xb091('0x23')](function(_0xdbecd2){_0x3951bc[_0xb091('0x42')]=_0xdbecd2;return _0x3951bc;})['then'](respondWithFilteredResult(_0x184fa9,_0x100625))[_0xb091('0x43')](handleError(_0x184fa9,null));};exports[_0xb091('0x44')]=function(_0x115254,_0x39a91d){var _0x4cd671={'raw':!![],'where':{'id':_0x115254['params']['id']}},_0x4c159a={};_0x4c159a[_0xb091('0x30')]=_[_0xb091('0x32')](db[_0xb091('0x2d')][_0xb091('0x45')]);_0x4c159a[_0xb091('0x31')]=_[_0xb091('0x32')](_0x115254[_0xb091('0x31')]);_0x4c159a['filters']=_['intersection'](_0x4c159a[_0xb091('0x30')],_0x4c159a[_0xb091('0x31')]);_0x4cd671[_0xb091('0x33')]=_['intersection'](_0x4c159a[_0xb091('0x30')],qs[_0xb091('0x35')](_0x115254[_0xb091('0x31')][_0xb091('0x35')]));_0x4cd671['attributes']=_0x4cd671['attributes']['length']?_0x4cd671[_0xb091('0x33')]:_0x4c159a['model'];if(_0x115254['query'][_0xb091('0x46')]){_0x4cd671[_0xb091('0x40')]=[{'all':!![]}];}_0x4cd671=_['merge']({},_0x4cd671,_0x115254[_0xb091('0x3f')]);return db[_0xb091('0x2d')][_0xb091('0x47')](_0x4cd671)[_0xb091('0x23')](handleEntityNotFound(_0x39a91d,null))[_0xb091('0x23')](respondWithResult(_0x39a91d,null))['catch'](handleError(_0x39a91d,null));};exports[_0xb091('0x48')]=function(_0x4e1575,_0x23a6af){return db[_0xb091('0x2d')][_0xb091('0x48')](_0x4e1575[_0xb091('0x49')],{})['then'](function(_0x3f4444){var _0x3d2145=_0x4e1575[_0xb091('0x4a')][_0xb091('0x24')]({'plain':!![]});if(!_0x3d2145)throw new Error(_0xb091('0x4b'));if(_0x3d2145[_0xb091('0x4c')]===_0xb091('0x4a')){var _0x179c69=_0x3f4444[_0xb091('0x24')]({'plain':!![]});var _0x29b9c7='Dispositions';return db[_0xb091('0x4d')][_0xb091('0x47')]({'where':{'name':_0x29b9c7,'userProfileId':_0x3d2145[_0xb091('0x4e')]},'raw':!![]})[_0xb091('0x23')](function(_0x6b458c){if(_0x6b458c&&_0x6b458c[_0xb091('0x4f')]===0x0){return db[_0xb091('0x50')][_0xb091('0x48')]({'name':_0x179c69['name'],'resourceId':_0x179c69['id'],'type':_0x6b458c[_0xb091('0x29')],'sectionId':_0x6b458c['id']},{})[_0xb091('0x23')](function(){return _0x3f4444;});}else{return _0x3f4444;}})[_0xb091('0x43')](function(_0x1b72ca){logger[_0xb091('0x51')](_0xb091('0x52'),_0x1b72ca);throw _0x1b72ca;});}return _0x3f4444;})[_0xb091('0x23')](respondWithResult(_0x23a6af,0xc9))[_0xb091('0x43')](handleError(_0x23a6af,null));};exports['update']=function(_0x18bd9e,_0x5737f2){if(_0x18bd9e[_0xb091('0x49')]['id']){delete _0x18bd9e[_0xb091('0x49')]['id'];}return db[_0xb091('0x2d')][_0xb091('0x47')]({'where':{'id':_0x18bd9e[_0xb091('0x53')]['id']}})[_0xb091('0x23')](handleEntityNotFound(_0x5737f2,null))[_0xb091('0x23')](saveUpdates(_0x18bd9e['body'],null))[_0xb091('0x23')](respondWithResult(_0x5737f2,null))[_0xb091('0x43')](handleError(_0x5737f2,null));};exports[_0xb091('0x26')]=function(_0x40c632,_0x9da177){return db['Disposition'][_0xb091('0x47')]({'where':{'id':_0x40c632[_0xb091('0x53')]['id']}})[_0xb091('0x23')](handleEntityNotFound(_0x9da177,null))[_0xb091('0x23')](removeEntity(_0x9da177,null))['catch'](handleError(_0x9da177,null));};