Built motion from commit (unavailable).|2.5.24
[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 _0xd517=['../../config/environment','sendStatus','status','count','offset','set','json','reject','save','update','destroy','then','get','Dispositions','UserProfileResource','end','error','stack','name','send','index','map','Disposition','rawAttributes','fieldName','type','key','model','keys','filters','query','attributes','intersection','fields','nolimit','limit','order','sort','where','pick','merge','filter','include','findAll','rows','catch','show','params','includeAll','options','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','find','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','html-pdf','eml-format','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','ejs','lodash','squel','jsforce','desk.js','to-csv','querystring','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger'];(function(_0x2ed4f4,_0x56f24f){var _0x58f9a0=function(_0x2519c9){while(--_0x2519c9){_0x2ed4f4['push'](_0x2ed4f4['shift']());}};_0x58f9a0(++_0x56f24f);}(_0xd517,0x124));var _0x7d51=function(_0x138f59,_0x1b53fb){_0x138f59=_0x138f59-0x0;var _0x3d114d=_0xd517[_0x138f59];return _0x3d114d;};'use strict';var pdf=require(_0x7d51('0x0'));var emlformat=require(_0x7d51('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x7d51('0x2'));var jsonpatch=require(_0x7d51('0x3'));var rp=require('request-promise');var moment=require(_0x7d51('0x4'));var BPromise=require(_0x7d51('0x5'));var Mustache=require(_0x7d51('0x6'));var util=require(_0x7d51('0x7'));var path=require(_0x7d51('0x8'));var sox=require(_0x7d51('0x9'));var csv=require('to-csv');var ejs=require(_0x7d51('0xa'));var fs=require('fs');var _=require(_0x7d51('0xb'));var squel=require(_0x7d51('0xc'));var crypto=require('crypto');var jsforce=require(_0x7d51('0xd'));var deskjs=require(_0x7d51('0xe'));var toCsv=require(_0x7d51('0xf'));var querystring=require(_0x7d51('0x10'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x7d51('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0x7d51('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x7d51('0x13'))('api');var utils=require('../../config/utils');var config=require(_0x7d51('0x14'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x3d899d,_0x4ed820){_0x4ed820=_0x4ed820||0xcc;return function(_0x3da120){if(_0x3da120){return _0x3d899d[_0x7d51('0x15')](_0x4ed820);}return _0x3d899d[_0x7d51('0x16')](_0x4ed820)['end']();};}function respondWithResult(_0x3df59d,_0x1ba1e9){_0x1ba1e9=_0x1ba1e9||0xc8;return function(_0x36abc3){if(_0x36abc3){return _0x3df59d[_0x7d51('0x16')](_0x1ba1e9)['json'](_0x36abc3);}};}function respondWithFilteredResult(_0x370bff,_0xef328a){return function(_0x410d93){if(_0x410d93){var _0x267b5f=_0x410d93[_0x7d51('0x17')],_0x12d76b=_0xef328a['offset'],_0x2306da=_0xef328a[_0x7d51('0x18')]+_0xef328a['limit'],_0x46359a;if(_0x2306da>=_0x267b5f){_0x2306da=_0x267b5f;_0x46359a=0xc8;}else{_0x46359a=0xce;}_0x370bff['status'](_0x46359a);return _0x370bff[_0x7d51('0x19')]('Content-Range',_0x12d76b+'-'+_0x2306da+'/'+_0x267b5f)[_0x7d51('0x1a')](_0x410d93);}return null;};}function patchUpdates(_0x11fe85){return function(_0x2b0898){try{jsonpatch['apply'](_0x2b0898,_0x11fe85,!![]);}catch(_0x3f203f){return BPromise[_0x7d51('0x1b')](_0x3f203f);}return _0x2b0898[_0x7d51('0x1c')]();};}function saveUpdates(_0x4bef12,_0x2afc4a){return function(_0xa4027){if(_0xa4027){return _0xa4027[_0x7d51('0x1d')](_0x4bef12)['then'](function(_0x82044c){return _0x82044c;});}return null;};}function removeEntity(_0x5b2fb6,_0x297053){return function(_0x2d3d85){if(_0x2d3d85){return _0x2d3d85[_0x7d51('0x1e')]()[_0x7d51('0x1f')](function(){var _0x35e171=_0x2d3d85[_0x7d51('0x20')]({'plain':!![]});var _0x13bffe=_0x7d51('0x21');return db[_0x7d51('0x22')]['destroy']({'where':{'type':_0x13bffe,'resourceId':_0x35e171['id']}})['then'](function(){return _0x2d3d85;});})[_0x7d51('0x1f')](function(){_0x5b2fb6[_0x7d51('0x16')](0xcc)[_0x7d51('0x23')]();});}};}function handleEntityNotFound(_0x1b8cdd,_0x28c368){return function(_0x31921a){if(!_0x31921a){_0x1b8cdd['sendStatus'](0x194);}return _0x31921a;};}function handleError(_0x4bcea8,_0x4ecb9b){_0x4ecb9b=_0x4ecb9b||0x1f4;return function(_0x2ecf3c){logger[_0x7d51('0x24')](_0x2ecf3c[_0x7d51('0x25')]);if(_0x2ecf3c[_0x7d51('0x26')]){delete _0x2ecf3c[_0x7d51('0x26')];}_0x4bcea8[_0x7d51('0x16')](_0x4ecb9b)[_0x7d51('0x27')](_0x2ecf3c);};}exports[_0x7d51('0x28')]=function(_0x32b0f8,_0x3b7e70){var _0x579515={},_0x35a440={},_0x3519c9={'count':0x0,'rows':[]};var _0x3758e0=_[_0x7d51('0x29')](db[_0x7d51('0x2a')][_0x7d51('0x2b')],function(_0x4002a5){return{'name':_0x4002a5[_0x7d51('0x2c')],'type':_0x4002a5[_0x7d51('0x2d')][_0x7d51('0x2e')]};});_0x35a440[_0x7d51('0x2f')]=_[_0x7d51('0x29')](_0x3758e0,'name');_0x35a440['query']=_[_0x7d51('0x30')](_0x32b0f8['query']);_0x35a440[_0x7d51('0x31')]=_['intersection'](_0x35a440[_0x7d51('0x2f')],_0x35a440[_0x7d51('0x32')]);_0x579515[_0x7d51('0x33')]=_[_0x7d51('0x34')](_0x35a440[_0x7d51('0x2f')],qs[_0x7d51('0x35')](_0x32b0f8[_0x7d51('0x32')][_0x7d51('0x35')]));_0x579515[_0x7d51('0x33')]=_0x579515[_0x7d51('0x33')]['length']?_0x579515['attributes']:_0x35a440[_0x7d51('0x2f')];if(!_0x32b0f8[_0x7d51('0x32')]['hasOwnProperty'](_0x7d51('0x36'))){_0x579515['limit']=qs['limit'](_0x32b0f8[_0x7d51('0x32')][_0x7d51('0x37')]);_0x579515[_0x7d51('0x18')]=qs[_0x7d51('0x18')](_0x32b0f8['query']['offset']);}_0x579515[_0x7d51('0x38')]=qs[_0x7d51('0x39')](_0x32b0f8[_0x7d51('0x32')][_0x7d51('0x39')]);_0x579515[_0x7d51('0x3a')]=qs[_0x7d51('0x31')](_[_0x7d51('0x3b')](_0x32b0f8[_0x7d51('0x32')],_0x35a440['filters']),_0x3758e0);if(_0x32b0f8['query']['filter']){_0x579515[_0x7d51('0x3a')]=_[_0x7d51('0x3c')](_0x579515[_0x7d51('0x3a')],{'$or':_['map'](_0x3758e0,function(_0x2bd825){if(_0x2bd825[_0x7d51('0x2d')]!=='VIRTUAL'){var _0x5406ee={};_0x5406ee[_0x2bd825[_0x7d51('0x26')]]={'$like':'%'+_0x32b0f8[_0x7d51('0x32')][_0x7d51('0x3d')]+'%'};return _0x5406ee;}})});}_0x579515=_[_0x7d51('0x3c')]({},_0x579515,_0x32b0f8['options']);var _0x28f47d={'where':_0x579515['where']};return db[_0x7d51('0x2a')][_0x7d51('0x17')](_0x28f47d)[_0x7d51('0x1f')](function(_0x2410c6){_0x3519c9['count']=_0x2410c6;if(_0x32b0f8[_0x7d51('0x32')]['includeAll']){_0x579515[_0x7d51('0x3e')]=[{'all':!![]}];}return db[_0x7d51('0x2a')][_0x7d51('0x3f')](_0x579515);})[_0x7d51('0x1f')](function(_0x283403){_0x3519c9[_0x7d51('0x40')]=_0x283403;return _0x3519c9;})['then'](respondWithFilteredResult(_0x3b7e70,_0x579515))[_0x7d51('0x41')](handleError(_0x3b7e70,null));};exports[_0x7d51('0x42')]=function(_0x13024e,_0x2a74ce){var _0x2376fc={'raw':!![],'where':{'id':_0x13024e[_0x7d51('0x43')]['id']}},_0x2e07ab={};_0x2e07ab[_0x7d51('0x2f')]=_[_0x7d51('0x30')](db['Disposition'][_0x7d51('0x2b')]);_0x2e07ab['query']=_['keys'](_0x13024e[_0x7d51('0x32')]);_0x2e07ab['filters']=_['intersection'](_0x2e07ab[_0x7d51('0x2f')],_0x2e07ab[_0x7d51('0x32')]);_0x2376fc[_0x7d51('0x33')]=_[_0x7d51('0x34')](_0x2e07ab[_0x7d51('0x2f')],qs[_0x7d51('0x35')](_0x13024e[_0x7d51('0x32')][_0x7d51('0x35')]));_0x2376fc[_0x7d51('0x33')]=_0x2376fc[_0x7d51('0x33')]['length']?_0x2376fc[_0x7d51('0x33')]:_0x2e07ab[_0x7d51('0x2f')];if(_0x13024e['query'][_0x7d51('0x44')]){_0x2376fc['include']=[{'all':!![]}];}_0x2376fc=_['merge']({},_0x2376fc,_0x13024e[_0x7d51('0x45')]);return db[_0x7d51('0x2a')]['find'](_0x2376fc)[_0x7d51('0x1f')](handleEntityNotFound(_0x2a74ce,null))[_0x7d51('0x1f')](respondWithResult(_0x2a74ce,null))['catch'](handleError(_0x2a74ce,null));};exports['create']=function(_0x1af8f6,_0x535603){return db['Disposition'][_0x7d51('0x46')](_0x1af8f6[_0x7d51('0x47')],{})[_0x7d51('0x1f')](function(_0x30c8cd){var _0xf5f71a=_0x1af8f6[_0x7d51('0x48')]['get']({'plain':!![]});if(!_0xf5f71a)throw new Error(_0x7d51('0x49'));if(_0xf5f71a[_0x7d51('0x4a')]===_0x7d51('0x48')){var _0x14ff3b=_0x30c8cd['get']({'plain':!![]});var _0x540c1a='Dispositions';return db['UserProfileSection'][_0x7d51('0x4b')]({'where':{'name':_0x540c1a,'userProfileId':_0xf5f71a[_0x7d51('0x4c')]},'raw':!![]})[_0x7d51('0x1f')](function(_0x5caf45){if(_0x5caf45&&_0x5caf45['autoAssociation']===0x0){return db[_0x7d51('0x22')][_0x7d51('0x46')]({'name':_0x14ff3b[_0x7d51('0x26')],'resourceId':_0x14ff3b['id'],'type':_0x5caf45[_0x7d51('0x26')],'sectionId':_0x5caf45['id']},{})[_0x7d51('0x1f')](function(){return _0x30c8cd;});}else{return _0x30c8cd;}})[_0x7d51('0x41')](function(_0x161167){logger['error'](_0x7d51('0x4d'),_0x161167);throw _0x161167;});}return _0x30c8cd;})[_0x7d51('0x1f')](respondWithResult(_0x535603,0xc9))[_0x7d51('0x41')](handleError(_0x535603,null));};exports[_0x7d51('0x1d')]=function(_0x101511,_0x2d4316){if(_0x101511['body']['id']){delete _0x101511[_0x7d51('0x47')]['id'];}return db[_0x7d51('0x2a')]['find']({'where':{'id':_0x101511['params']['id']}})[_0x7d51('0x1f')](handleEntityNotFound(_0x2d4316,null))[_0x7d51('0x1f')](saveUpdates(_0x101511[_0x7d51('0x47')],null))[_0x7d51('0x1f')](respondWithResult(_0x2d4316,null))[_0x7d51('0x41')](handleError(_0x2d4316,null));};exports[_0x7d51('0x1e')]=function(_0x5d799e,_0x39d232){return db[_0x7d51('0x2a')]['find']({'where':{'id':_0x5d799e[_0x7d51('0x43')]['id']}})[_0x7d51('0x1f')](handleEntityNotFound(_0x39d232,null))[_0x7d51('0x1f')](removeEntity(_0x39d232,null))['catch'](handleError(_0x39d232,null));};