Built motion from commit (unavailable).|2.2.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 _0x0869=['index','Disposition','rawAttributes','model','keys','query','dateStart','dateEnd','filters','intersection','attributes','fields','nolimit','order','sort','pick','add','day','merge','filter','where','map','type','key','field','options','includeAll','rows','show','length','include','find','catch','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','html-pdf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','lodash','squel','crypto','jsforce','to-csv','querystring','ioredis','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','json','count','offset','limit','set','Content-Range','apply','reject','save','update','then','get','destroy','status','error','stack','name'];(function(_0xf139f3,_0x1dd974){var _0x1b8ed7=function(_0x4a804b){while(--_0x4a804b){_0xf139f3['push'](_0xf139f3['shift']());}};_0x1b8ed7(++_0x1dd974);}(_0x0869,0xce));var _0x9086=function(_0x303202,_0x34ba20){_0x303202=_0x303202-0x0;var _0x4561e9=_0x0869[_0x303202];return _0x4561e9;};'use strict';var pdf=require(_0x9086('0x0'));var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x9086('0x1'));var jsonpatch=require(_0x9086('0x2'));var rp=require(_0x9086('0x3'));var moment=require(_0x9086('0x4'));var BPromise=require(_0x9086('0x5'));var Mustache=require(_0x9086('0x6'));var util=require('util');var path=require(_0x9086('0x7'));var sox=require(_0x9086('0x8'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0x9086('0x9'));var squel=require(_0x9086('0xa'));var crypto=require(_0x9086('0xb'));var jsforce=require(_0x9086('0xc'));var deskjs=require('desk.js');var toCsv=require(_0x9086('0xd'));var querystring=require(_0x9086('0xe'));var Papa=require('papaparse');var Redis=require(_0x9086('0xf'));var qs=require(_0x9086('0x10'));var logger=require(_0x9086('0x11'))(_0x9086('0x12'));var utils=require(_0x9086('0x13'));var config=require(_0x9086('0x14'));var db=require(_0x9086('0x15'))['db'];function respondWithStatusCode(_0x48835c,_0x4f7bfe){_0x4f7bfe=_0x4f7bfe||0xcc;return function(_0xb1fabf){if(_0xb1fabf){return _0x48835c[_0x9086('0x16')](_0x4f7bfe);}return _0x48835c['status'](_0x4f7bfe)['end']();};}function respondWithResult(_0xbc3b12,_0xc4c422){_0xc4c422=_0xc4c422||0xc8;return function(_0x2793e0){if(_0x2793e0){return _0xbc3b12['status'](_0xc4c422)[_0x9086('0x17')](_0x2793e0);}};}function respondWithFilteredResult(_0x4fd34d,_0x1da405){return function(_0xbc397a){if(_0xbc397a){var _0x1b39d8=_0xbc397a[_0x9086('0x18')],_0x11105a=_0x1da405[_0x9086('0x19')],_0xc1788c=_0x1da405[_0x9086('0x19')]+_0x1da405[_0x9086('0x1a')],_0x3980f0;if(_0xc1788c>=_0x1b39d8){_0xc1788c=_0x1b39d8;_0x3980f0=0xc8;}else{_0x3980f0=0xce;}_0x4fd34d['status'](_0x3980f0);return _0x4fd34d[_0x9086('0x1b')](_0x9086('0x1c'),_0x11105a+'-'+_0xc1788c+'/'+_0x1b39d8)[_0x9086('0x17')](_0xbc397a);}return null;};}function patchUpdates(_0xa31176){return function(_0x5a938a){try{jsonpatch[_0x9086('0x1d')](_0x5a938a,_0xa31176,!![]);}catch(_0x266a75){return BPromise[_0x9086('0x1e')](_0x266a75);}return _0x5a938a[_0x9086('0x1f')]();};}function saveUpdates(_0x546945,_0x45fcc1){return function(_0x2abba7){if(_0x2abba7){return _0x2abba7[_0x9086('0x20')](_0x546945)[_0x9086('0x21')](function(_0x911f09){return _0x911f09;});}return null;};}function removeEntity(_0x350cb6,_0x21a9ea){return function(_0x44fd38){if(_0x44fd38){return _0x44fd38['destroy']()['then'](function(){var _0x2405c0=_0x44fd38[_0x9086('0x22')]({'plain':!![]});var _0x492e40='Dispositions';return db['UserProfileResource'][_0x9086('0x23')]({'where':{'type':_0x492e40,'resourceId':_0x2405c0['id']}})[_0x9086('0x21')](function(){return _0x44fd38;});})['then'](function(){_0x350cb6[_0x9086('0x24')](0xcc)['end']();});}};}function handleEntityNotFound(_0x4b399b,_0x43c8f5){return function(_0x25ccde){if(!_0x25ccde){_0x4b399b[_0x9086('0x16')](0x194);}return _0x25ccde;};}function handleError(_0x353bd0,_0x1058c7){_0x1058c7=_0x1058c7||0x1f4;return function(_0x14c3ea){logger[_0x9086('0x25')](_0x14c3ea[_0x9086('0x26')]);if(_0x14c3ea['name']){delete _0x14c3ea[_0x9086('0x27')];}_0x353bd0['status'](_0x1058c7)['send'](_0x14c3ea);};}exports[_0x9086('0x28')]=function(_0x6148d3,_0x3f2c04){var _0x126479={},_0x2bb0f0={},_0x3a97c3={'count':0x0,'rows':[]};var _0x26688f=db[_0x9086('0x29')][_0x9086('0x2a')];_0x2bb0f0[_0x9086('0x2b')]=_[_0x9086('0x2c')](_0x26688f);var _0x71cbfd={'dateStart':_0x6148d3[_0x9086('0x2d')]['dateStart'],'dateEnd':_0x6148d3[_0x9086('0x2d')]['dateEnd']};delete _0x6148d3[_0x9086('0x2d')][_0x9086('0x2e')];delete _0x6148d3[_0x9086('0x2d')][_0x9086('0x2f')];_0x2bb0f0['query']=_[_0x9086('0x2c')](_0x6148d3['query']);_0x2bb0f0[_0x9086('0x30')]=_[_0x9086('0x31')](_0x2bb0f0['model'],_0x2bb0f0[_0x9086('0x2d')]);_0x126479[_0x9086('0x32')]=_[_0x9086('0x31')](_0x2bb0f0['model'],qs['fields'](_0x6148d3['query'][_0x9086('0x33')]));_0x126479[_0x9086('0x32')]=_0x126479[_0x9086('0x32')]['length']?_0x126479[_0x9086('0x32')]:_0x2bb0f0[_0x9086('0x2b')];if(!_0x6148d3[_0x9086('0x2d')]['hasOwnProperty'](_0x9086('0x34'))){_0x126479[_0x9086('0x1a')]=qs[_0x9086('0x1a')](_0x6148d3['query']['limit']);_0x126479[_0x9086('0x19')]=qs[_0x9086('0x19')](_0x6148d3[_0x9086('0x2d')][_0x9086('0x19')]);}_0x126479[_0x9086('0x35')]=qs[_0x9086('0x36')](_0x6148d3[_0x9086('0x2d')][_0x9086('0x36')]);_0x126479['where']=qs[_0x9086('0x30')](_[_0x9086('0x37')](_0x6148d3[_0x9086('0x2d')],_0x2bb0f0[_0x9086('0x30')]));if(_0x71cbfd[_0x9086('0x2e')]){if(_0x71cbfd[_0x9086('0x2f')]){_0x71cbfd[_0x9086('0x2f')]=moment(_0x71cbfd['dateEnd'])[_0x9086('0x38')](0x1,_0x9086('0x39'));}else{_0x71cbfd[_0x9086('0x2f')]=moment(_0x71cbfd[_0x9086('0x2e')])[_0x9086('0x38')](0x1,_0x9086('0x39'));}_[_0x9086('0x3a')](_0x126479['where'],{'createdAt':{'$gte':_0x71cbfd[_0x9086('0x2e')],'$lte':_0x71cbfd['dateEnd']}});}if(_0x6148d3['query'][_0x9086('0x3b')]){_0x126479[_0x9086('0x3c')]=_[_0x9086('0x3a')](_0x126479[_0x9086('0x3c')],{'$or':_[_0x9086('0x3d')](_0x26688f,function(_0x3eac4e){if(_0x3eac4e[_0x9086('0x3e')][_0x9086('0x3f')]!=='VIRTUAL'){var _0x557359={};_0x557359[_0x3eac4e[_0x9086('0x40')]]={'$like':'%'+_0x6148d3['query']['filter']+'%'};return _0x557359;}})});}_0x126479=_[_0x9086('0x3a')]({},_0x126479,_0x6148d3[_0x9086('0x41')]);var _0x1f616a={'where':_0x126479[_0x9086('0x3c')]};return db['Disposition'][_0x9086('0x18')](_0x1f616a)['then'](function(_0x367580){_0x3a97c3[_0x9086('0x18')]=_0x367580;if(_0x6148d3[_0x9086('0x2d')][_0x9086('0x42')]){_0x126479['include']=[{'all':!![]}];}return db['Disposition']['findAll'](_0x126479);})[_0x9086('0x21')](function(_0x32a5c6){_0x3a97c3[_0x9086('0x43')]=_0x32a5c6;return _0x3a97c3;})['then'](respondWithFilteredResult(_0x3f2c04,_0x126479))['catch'](handleError(_0x3f2c04,null));};exports[_0x9086('0x44')]=function(_0x8fa2bd,_0x208052){var _0x2dacea={'raw':!![],'where':{'id':_0x8fa2bd['params']['id']}},_0x53e7ca={};_0x53e7ca[_0x9086('0x2b')]=_[_0x9086('0x2c')](db[_0x9086('0x29')][_0x9086('0x2a')]);_0x53e7ca[_0x9086('0x2d')]=_[_0x9086('0x2c')](_0x8fa2bd[_0x9086('0x2d')]);_0x53e7ca['filters']=_[_0x9086('0x31')](_0x53e7ca[_0x9086('0x2b')],_0x53e7ca[_0x9086('0x2d')]);_0x2dacea[_0x9086('0x32')]=_[_0x9086('0x31')](_0x53e7ca[_0x9086('0x2b')],qs[_0x9086('0x33')](_0x8fa2bd['query']['fields']));_0x2dacea[_0x9086('0x32')]=_0x2dacea[_0x9086('0x32')][_0x9086('0x45')]?_0x2dacea['attributes']:_0x53e7ca['model'];if(_0x8fa2bd[_0x9086('0x2d')]['includeAll']){_0x2dacea[_0x9086('0x46')]=[{'all':!![]}];}_0x2dacea=_[_0x9086('0x3a')]({},_0x2dacea,_0x8fa2bd[_0x9086('0x41')]);return db[_0x9086('0x29')][_0x9086('0x47')](_0x2dacea)[_0x9086('0x21')](handleEntityNotFound(_0x208052,null))['then'](respondWithResult(_0x208052,null))[_0x9086('0x48')](handleError(_0x208052,null));};exports[_0x9086('0x49')]=function(_0x2c7b29,_0x19d0c9){return db[_0x9086('0x29')][_0x9086('0x49')](_0x2c7b29[_0x9086('0x4a')],{})[_0x9086('0x21')](function(_0x412c7d){var _0x2a5168=_0x2c7b29[_0x9086('0x4b')][_0x9086('0x22')]({'plain':!![]});if(!_0x2a5168)throw new Error(_0x9086('0x4c'));if(_0x2a5168[_0x9086('0x4d')]===_0x9086('0x4b')){var _0x9c070c=_0x412c7d[_0x9086('0x22')]({'plain':!![]});var _0x2840bf='Dispositions';return db[_0x9086('0x4e')][_0x9086('0x47')]({'where':{'name':_0x2840bf,'userProfileId':_0x2a5168['userProfileId']},'raw':!![]})['then'](function(_0x29bc31){if(_0x29bc31&&_0x29bc31['autoAssociation']===0x0){return db[_0x9086('0x4f')][_0x9086('0x49')]({'name':_0x9c070c[_0x9086('0x27')],'resourceId':_0x9c070c['id'],'type':_0x29bc31[_0x9086('0x27')],'sectionId':_0x29bc31['id']},{})[_0x9086('0x21')](function(){return _0x412c7d;});}else{return _0x412c7d;}})[_0x9086('0x48')](function(_0x5d75f6){logger[_0x9086('0x25')](_0x9086('0x50'),_0x5d75f6);throw _0x5d75f6;});}return _0x412c7d;})[_0x9086('0x21')](respondWithResult(_0x19d0c9,0xc9))[_0x9086('0x48')](handleError(_0x19d0c9,null));};exports[_0x9086('0x20')]=function(_0x313191,_0x227434){if(_0x313191[_0x9086('0x4a')]['id']){delete _0x313191[_0x9086('0x4a')]['id'];}return db[_0x9086('0x29')][_0x9086('0x47')]({'where':{'id':_0x313191[_0x9086('0x51')]['id']}})[_0x9086('0x21')](handleEntityNotFound(_0x227434,null))[_0x9086('0x21')](saveUpdates(_0x313191['body'],null))[_0x9086('0x21')](respondWithResult(_0x227434,null))['catch'](handleError(_0x227434,null));};exports[_0x9086('0x23')]=function(_0x539028,_0x3074f5){return db[_0x9086('0x29')][_0x9086('0x47')]({'where':{'id':_0x539028[_0x9086('0x51')]['id']}})['then'](handleEntityNotFound(_0x3074f5,null))[_0x9086('0x21')](removeEntity(_0x3074f5,null))['catch'](handleError(_0x3074f5,null));};