2c836af52816bf31ac381f19ae1307f7b78dcb66
[motion2.git] / server / api / openchannelApplication / openchannelApplication.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 _0x90c7=['find','create','body','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','to-csv','fs-extra','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','end','status','json','offset','undefined','count','limit','set','Content-Range','apply','reject','save','update','then','destroy','error','stack','name','send','index','map','OpenchannelApplication','rawAttributes','fieldName','key','model','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','type','merge','includeAll','include','catch','show','params','options'];(function(_0x45bee0,_0x42bf09){var _0x1fcfd5=function(_0x235b6a){while(--_0x235b6a){_0x45bee0['push'](_0x45bee0['shift']());}};_0x1fcfd5(++_0x42bf09);}(_0x90c7,0x17a));var _0x790c=function(_0x5c351c,_0x2046d8){_0x5c351c=_0x5c351c-0x0;var _0x26f3b3=_0x90c7[_0x5c351c];return _0x26f3b3;};'use strict';var emlformat=require(_0x790c('0x0'));var rimraf=require(_0x790c('0x1'));var zipdir=require(_0x790c('0x2'));var jsonpatch=require(_0x790c('0x3'));var rp=require('request-promise');var moment=require(_0x790c('0x4'));var BPromise=require(_0x790c('0x5'));var Mustache=require(_0x790c('0x6'));var util=require(_0x790c('0x7'));var path=require(_0x790c('0x8'));var sox=require('sox');var csv=require(_0x790c('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x790c('0xa'));var _=require('lodash');var squel=require(_0x790c('0xb'));var crypto=require(_0x790c('0xc'));var jsforce=require(_0x790c('0xd'));var deskjs=require(_0x790c('0xe'));var toCsv=require(_0x790c('0x9'));var querystring=require(_0x790c('0xf'));var Papa=require(_0x790c('0x10'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x790c('0x11'));var hardwareService=require(_0x790c('0x12'));var logger=require('../../config/logger')(_0x790c('0x13'));var utils=require(_0x790c('0x14'));var config=require(_0x790c('0x15'));var licenseUtil=require(_0x790c('0x16'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x29ff56,_0x3e38bf){_0x3e38bf=_0x3e38bf||0xcc;return function(_0x239a49){if(_0x239a49){return _0x29ff56[_0x790c('0x17')](_0x3e38bf);}return _0x29ff56['status'](_0x3e38bf)[_0x790c('0x18')]();};}function respondWithResult(_0x390217,_0xc053be){_0xc053be=_0xc053be||0xc8;return function(_0x5d4883){if(_0x5d4883){return _0x390217[_0x790c('0x19')](_0xc053be)[_0x790c('0x1a')](_0x5d4883);}};}function respondWithFilteredResult(_0x273a93,_0x176b65){return function(_0x2f1d36){if(_0x2f1d36){var _0x3e1c12=typeof _0x176b65[_0x790c('0x1b')]===_0x790c('0x1c')&&typeof _0x176b65['limit']===_0x790c('0x1c');var _0x50b956=_0x2f1d36[_0x790c('0x1d')];var _0x33833e=_0x3e1c12?0x0:_0x176b65[_0x790c('0x1b')];var _0x330d94=_0x3e1c12?_0x2f1d36[_0x790c('0x1d')]:_0x176b65['offset']+_0x176b65[_0x790c('0x1e')];var _0x47341b;if(_0x330d94>=_0x50b956){_0x330d94=_0x50b956;_0x47341b=0xc8;}else{_0x47341b=0xce;}_0x273a93[_0x790c('0x19')](_0x47341b);return _0x273a93[_0x790c('0x1f')](_0x790c('0x20'),_0x33833e+'-'+_0x330d94+'/'+_0x50b956)[_0x790c('0x1a')](_0x2f1d36);}return null;};}function patchUpdates(_0x33d5a4){return function(_0xbe6b00){try{jsonpatch[_0x790c('0x21')](_0xbe6b00,_0x33d5a4,!![]);}catch(_0x4fb692){return BPromise[_0x790c('0x22')](_0x4fb692);}return _0xbe6b00[_0x790c('0x23')]();};}function saveUpdates(_0x178a41,_0x3e321e){return function(_0x1b42b2){if(_0x1b42b2){return _0x1b42b2[_0x790c('0x24')](_0x178a41)[_0x790c('0x25')](function(_0x4ec1e6){return _0x4ec1e6;});}return null;};}function removeEntity(_0x9950a1,_0x289714){return function(_0x15720c){if(_0x15720c){return _0x15720c[_0x790c('0x26')]()[_0x790c('0x25')](function(){_0x9950a1['status'](0xcc)[_0x790c('0x18')]();});}};}function handleEntityNotFound(_0x3e588e,_0x45c826){return function(_0x3c100a){if(!_0x3c100a){_0x3e588e[_0x790c('0x17')](0x194);}return _0x3c100a;};}function handleError(_0x1c9163,_0x31da18){_0x31da18=_0x31da18||0x1f4;return function(_0xf8832a){logger[_0x790c('0x27')](_0xf8832a[_0x790c('0x28')]);if(_0xf8832a[_0x790c('0x29')]){delete _0xf8832a[_0x790c('0x29')];}_0x1c9163[_0x790c('0x19')](_0x31da18)[_0x790c('0x2a')](_0xf8832a);};}exports[_0x790c('0x2b')]=function(_0x105542,_0x4510fd){var _0x5a7e22={},_0x2e6804={},_0x1473ba={'count':0x0,'rows':[]};var _0x5676ca=_[_0x790c('0x2c')](db[_0x790c('0x2d')][_0x790c('0x2e')],function(_0x422718){return{'name':_0x422718[_0x790c('0x2f')],'type':_0x422718['type'][_0x790c('0x30')]};});_0x2e6804[_0x790c('0x31')]=_[_0x790c('0x2c')](_0x5676ca,_0x790c('0x29'));_0x2e6804[_0x790c('0x32')]=_[_0x790c('0x33')](_0x105542[_0x790c('0x32')]);_0x2e6804[_0x790c('0x34')]=_['intersection'](_0x2e6804[_0x790c('0x31')],_0x2e6804[_0x790c('0x32')]);_0x5a7e22[_0x790c('0x35')]=_[_0x790c('0x36')](_0x2e6804[_0x790c('0x31')],qs[_0x790c('0x37')](_0x105542[_0x790c('0x32')]['fields']));_0x5a7e22[_0x790c('0x35')]=_0x5a7e22[_0x790c('0x35')][_0x790c('0x38')]?_0x5a7e22[_0x790c('0x35')]:_0x2e6804['model'];if(!_0x105542['query'][_0x790c('0x39')](_0x790c('0x3a'))){_0x5a7e22['limit']=qs[_0x790c('0x1e')](_0x105542['query']['limit']);_0x5a7e22[_0x790c('0x1b')]=qs[_0x790c('0x1b')](_0x105542[_0x790c('0x32')]['offset']);}_0x5a7e22[_0x790c('0x3b')]=qs[_0x790c('0x3c')](_0x105542[_0x790c('0x32')][_0x790c('0x3c')]);_0x5a7e22[_0x790c('0x3d')]=qs[_0x790c('0x34')](_[_0x790c('0x3e')](_0x105542[_0x790c('0x32')],_0x2e6804[_0x790c('0x34')]),_0x5676ca);if(_0x105542[_0x790c('0x32')][_0x790c('0x3f')]){_0x5a7e22[_0x790c('0x3d')]=_['merge'](_0x5a7e22['where'],{'$or':_['map'](_0x5676ca,function(_0x1bf0cc){if(_0x1bf0cc[_0x790c('0x40')]!=='VIRTUAL'){var _0x579cf9={};_0x579cf9[_0x1bf0cc[_0x790c('0x29')]]={'$like':'%'+_0x105542[_0x790c('0x32')][_0x790c('0x3f')]+'%'};return _0x579cf9;}})});}_0x5a7e22=_[_0x790c('0x41')]({},_0x5a7e22,_0x105542['options']);var _0x53f4b3={'where':_0x5a7e22['where']};return db[_0x790c('0x2d')][_0x790c('0x1d')](_0x53f4b3)[_0x790c('0x25')](function(_0x38f2db){_0x1473ba[_0x790c('0x1d')]=_0x38f2db;if(_0x105542[_0x790c('0x32')][_0x790c('0x42')]){_0x5a7e22[_0x790c('0x43')]=[{'all':!![]}];}return db[_0x790c('0x2d')]['findAll'](_0x5a7e22);})[_0x790c('0x25')](function(_0x3274b2){_0x1473ba['rows']=_0x3274b2;return _0x1473ba;})[_0x790c('0x25')](respondWithFilteredResult(_0x4510fd,_0x5a7e22))[_0x790c('0x44')](handleError(_0x4510fd,null));};exports[_0x790c('0x45')]=function(_0x48dfef,_0x17a4dc){var _0x181c4b={'raw':!![],'where':{'id':_0x48dfef[_0x790c('0x46')]['id']}},_0x5eef01={};_0x5eef01[_0x790c('0x31')]=_['keys'](db[_0x790c('0x2d')][_0x790c('0x2e')]);_0x5eef01[_0x790c('0x32')]=_['keys'](_0x48dfef[_0x790c('0x32')]);_0x5eef01[_0x790c('0x34')]=_[_0x790c('0x36')](_0x5eef01[_0x790c('0x31')],_0x5eef01[_0x790c('0x32')]);_0x181c4b[_0x790c('0x35')]=_[_0x790c('0x36')](_0x5eef01['model'],qs['fields'](_0x48dfef['query'][_0x790c('0x37')]));_0x181c4b[_0x790c('0x35')]=_0x181c4b['attributes']['length']?_0x181c4b[_0x790c('0x35')]:_0x5eef01[_0x790c('0x31')];if(_0x48dfef[_0x790c('0x32')][_0x790c('0x42')]){_0x181c4b['include']=[{'all':!![]}];}_0x181c4b=_['merge']({},_0x181c4b,_0x48dfef[_0x790c('0x47')]);return db[_0x790c('0x2d')][_0x790c('0x48')](_0x181c4b)[_0x790c('0x25')](handleEntityNotFound(_0x17a4dc,null))['then'](respondWithResult(_0x17a4dc,null))[_0x790c('0x44')](handleError(_0x17a4dc,null));};exports[_0x790c('0x49')]=function(_0x3fcc55,_0x506f55){return db[_0x790c('0x2d')][_0x790c('0x49')](_0x3fcc55['body'],{})[_0x790c('0x25')](respondWithResult(_0x506f55,0xc9))['catch'](handleError(_0x506f55,null));};exports[_0x790c('0x24')]=function(_0x3c831a,_0x1bff69){if(_0x3c831a[_0x790c('0x4a')]['id']){delete _0x3c831a[_0x790c('0x4a')]['id'];}return db[_0x790c('0x2d')][_0x790c('0x48')]({'where':{'id':_0x3c831a[_0x790c('0x46')]['id']}})['then'](handleEntityNotFound(_0x1bff69,null))['then'](saveUpdates(_0x3c831a[_0x790c('0x4a')],null))[_0x790c('0x25')](respondWithResult(_0x1bff69,null))[_0x790c('0x44')](handleError(_0x1bff69,null));};exports[_0x790c('0x26')]=function(_0x2c3ccd,_0x4d3956){return db['OpenchannelApplication']['find']({'where':{'id':_0x2c3ccd['params']['id']}})[_0x790c('0x25')](handleEntityNotFound(_0x4d3956,null))[_0x790c('0x25')](removeEntity(_0x4d3956,null))[_0x790c('0x44')](handleError(_0x4d3956,null));};