b07caf4e35fe7e5d782ce598451f678ef8aa811d
[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 _0xfdab=['VIRTUAL','count','includeAll','include','findAll','rows','show','params','catch','create','body','find','eml-format','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','set','Content-Range','apply','reject','save','update','then','destroy','error','name','send','index','OpenchannelApplication','rawAttributes','fieldName','type','map','query','keys','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','filters','filter','merge'];(function(_0xb2c4e,_0x75b613){var _0x3f5cef=function(_0x4c275d){while(--_0x4c275d){_0xb2c4e['push'](_0xb2c4e['shift']());}};_0x3f5cef(++_0x75b613);}(_0xfdab,0x148));var _0xbfda=function(_0x268843,_0x40e471){_0x268843=_0x268843-0x0;var _0x5b15fa=_0xfdab[_0x268843];return _0x5b15fa;};'use strict';var emlformat=require(_0xbfda('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xbfda('0x1'));var jsonpatch=require(_0xbfda('0x2'));var rp=require(_0xbfda('0x3'));var moment=require(_0xbfda('0x4'));var BPromise=require('bluebird');var Mustache=require(_0xbfda('0x5'));var util=require(_0xbfda('0x6'));var path=require(_0xbfda('0x7'));var sox=require(_0xbfda('0x8'));var csv=require(_0xbfda('0x9'));var ejs=require(_0xbfda('0xa'));var fs=require('fs');var fs_extra=require(_0xbfda('0xb'));var _=require(_0xbfda('0xc'));var squel=require(_0xbfda('0xd'));var crypto=require(_0xbfda('0xe'));var jsforce=require(_0xbfda('0xf'));var deskjs=require(_0xbfda('0x10'));var toCsv=require(_0xbfda('0x9'));var querystring=require(_0xbfda('0x11'));var Papa=require(_0xbfda('0x12'));var Redis=require(_0xbfda('0x13'));var authService=require(_0xbfda('0x14'));var qs=require(_0xbfda('0x15'));var as=require(_0xbfda('0x16'));var hardwareService=require(_0xbfda('0x17'));var logger=require(_0xbfda('0x18'))('api');var utils=require('../../config/utils');var config=require(_0xbfda('0x19'));var licenseUtil=require(_0xbfda('0x1a'));var db=require(_0xbfda('0x1b'))['db'];function respondWithStatusCode(_0x1d84a1,_0x212a76){_0x212a76=_0x212a76||0xcc;return function(_0x200eee){if(_0x200eee){return _0x1d84a1[_0xbfda('0x1c')](_0x212a76);}return _0x1d84a1[_0xbfda('0x1d')](_0x212a76)[_0xbfda('0x1e')]();};}function respondWithResult(_0x29cadb,_0x12cc25){_0x12cc25=_0x12cc25||0xc8;return function(_0x4dea3a){if(_0x4dea3a){return _0x29cadb[_0xbfda('0x1d')](_0x12cc25)[_0xbfda('0x1f')](_0x4dea3a);}};}function respondWithFilteredResult(_0x10830f,_0x1db2c2){return function(_0x1c9977){if(_0x1c9977){var _0x1d9635=typeof _0x1db2c2[_0xbfda('0x20')]===_0xbfda('0x21')&&typeof _0x1db2c2[_0xbfda('0x22')]===_0xbfda('0x21');var _0x5c8003=_0x1c9977['count'];var _0x42d60a=_0x1d9635?0x0:_0x1db2c2['offset'];var _0x1d6cce=_0x1d9635?_0x1c9977['count']:_0x1db2c2['offset']+_0x1db2c2[_0xbfda('0x22')];var _0x3c34ff;if(_0x1d6cce>=_0x5c8003){_0x1d6cce=_0x5c8003;_0x3c34ff=0xc8;}else{_0x3c34ff=0xce;}_0x10830f['status'](_0x3c34ff);return _0x10830f[_0xbfda('0x23')](_0xbfda('0x24'),_0x42d60a+'-'+_0x1d6cce+'/'+_0x5c8003)[_0xbfda('0x1f')](_0x1c9977);}return null;};}function patchUpdates(_0x21705f){return function(_0x134ccf){try{jsonpatch[_0xbfda('0x25')](_0x134ccf,_0x21705f,!![]);}catch(_0x27daf8){return BPromise[_0xbfda('0x26')](_0x27daf8);}return _0x134ccf[_0xbfda('0x27')]();};}function saveUpdates(_0x33f8f9,_0x18162b){return function(_0x52413f){if(_0x52413f){return _0x52413f[_0xbfda('0x28')](_0x33f8f9)[_0xbfda('0x29')](function(_0x5538e0){return _0x5538e0;});}return null;};}function removeEntity(_0x22b52d,_0x562313){return function(_0x2aecf8){if(_0x2aecf8){return _0x2aecf8[_0xbfda('0x2a')]()['then'](function(){_0x22b52d['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x16758f,_0x47ab74){return function(_0x1d6552){if(!_0x1d6552){_0x16758f[_0xbfda('0x1c')](0x194);}return _0x1d6552;};}function handleError(_0x55ca03,_0x6f9518){_0x6f9518=_0x6f9518||0x1f4;return function(_0x2578b1){logger[_0xbfda('0x2b')](_0x2578b1['stack']);if(_0x2578b1[_0xbfda('0x2c')]){delete _0x2578b1[_0xbfda('0x2c')];}_0x55ca03['status'](_0x6f9518)[_0xbfda('0x2d')](_0x2578b1);};}exports[_0xbfda('0x2e')]=function(_0x5b6240,_0x188aac){var _0x453899={},_0x333dc6={},_0x18b672={'count':0x0,'rows':[]};var _0x5d659a=_['map'](db[_0xbfda('0x2f')][_0xbfda('0x30')],function(_0x378b2b){return{'name':_0x378b2b[_0xbfda('0x31')],'type':_0x378b2b[_0xbfda('0x32')]['key']};});_0x333dc6['model']=_[_0xbfda('0x33')](_0x5d659a,'name');_0x333dc6[_0xbfda('0x34')]=_[_0xbfda('0x35')](_0x5b6240[_0xbfda('0x34')]);_0x333dc6['filters']=_[_0xbfda('0x36')](_0x333dc6[_0xbfda('0x37')],_0x333dc6[_0xbfda('0x34')]);_0x453899[_0xbfda('0x38')]=_['intersection'](_0x333dc6[_0xbfda('0x37')],qs[_0xbfda('0x39')](_0x5b6240[_0xbfda('0x34')][_0xbfda('0x39')]));_0x453899[_0xbfda('0x38')]=_0x453899[_0xbfda('0x38')][_0xbfda('0x3a')]?_0x453899[_0xbfda('0x38')]:_0x333dc6[_0xbfda('0x37')];if(!_0x5b6240[_0xbfda('0x34')][_0xbfda('0x3b')](_0xbfda('0x3c'))){_0x453899[_0xbfda('0x22')]=qs[_0xbfda('0x22')](_0x5b6240['query'][_0xbfda('0x22')]);_0x453899['offset']=qs[_0xbfda('0x20')](_0x5b6240[_0xbfda('0x34')][_0xbfda('0x20')]);}_0x453899['order']=qs[_0xbfda('0x3d')](_0x5b6240['query'][_0xbfda('0x3d')]);_0x453899[_0xbfda('0x3e')]=qs['filters'](_[_0xbfda('0x3f')](_0x5b6240[_0xbfda('0x34')],_0x333dc6[_0xbfda('0x40')]),_0x5d659a);if(_0x5b6240[_0xbfda('0x34')][_0xbfda('0x41')]){_0x453899[_0xbfda('0x3e')]=_[_0xbfda('0x42')](_0x453899[_0xbfda('0x3e')],{'$or':_[_0xbfda('0x33')](_0x5d659a,function(_0x9298a1){if(_0x9298a1['type']!==_0xbfda('0x43')){var _0x4f6cd2={};_0x4f6cd2[_0x9298a1['name']]={'$like':'%'+_0x5b6240[_0xbfda('0x34')][_0xbfda('0x41')]+'%'};return _0x4f6cd2;}})});}_0x453899=_[_0xbfda('0x42')]({},_0x453899,_0x5b6240['options']);var _0x22dbbf={'where':_0x453899[_0xbfda('0x3e')]};return db[_0xbfda('0x2f')][_0xbfda('0x44')](_0x22dbbf)[_0xbfda('0x29')](function(_0x7e6917){_0x18b672[_0xbfda('0x44')]=_0x7e6917;if(_0x5b6240[_0xbfda('0x34')][_0xbfda('0x45')]){_0x453899[_0xbfda('0x46')]=[{'all':!![]}];}return db[_0xbfda('0x2f')][_0xbfda('0x47')](_0x453899);})['then'](function(_0x5a3dc2){_0x18b672[_0xbfda('0x48')]=_0x5a3dc2;return _0x18b672;})[_0xbfda('0x29')](respondWithFilteredResult(_0x188aac,_0x453899))['catch'](handleError(_0x188aac,null));};exports[_0xbfda('0x49')]=function(_0x4e70e2,_0x51da8f){var _0x488cd0={'raw':!![],'where':{'id':_0x4e70e2[_0xbfda('0x4a')]['id']}},_0x39e61e={};_0x39e61e['model']=_['keys'](db[_0xbfda('0x2f')][_0xbfda('0x30')]);_0x39e61e[_0xbfda('0x34')]=_[_0xbfda('0x35')](_0x4e70e2[_0xbfda('0x34')]);_0x39e61e[_0xbfda('0x40')]=_[_0xbfda('0x36')](_0x39e61e[_0xbfda('0x37')],_0x39e61e[_0xbfda('0x34')]);_0x488cd0[_0xbfda('0x38')]=_['intersection'](_0x39e61e[_0xbfda('0x37')],qs[_0xbfda('0x39')](_0x4e70e2[_0xbfda('0x34')][_0xbfda('0x39')]));_0x488cd0[_0xbfda('0x38')]=_0x488cd0[_0xbfda('0x38')]['length']?_0x488cd0[_0xbfda('0x38')]:_0x39e61e['model'];if(_0x4e70e2[_0xbfda('0x34')][_0xbfda('0x45')]){_0x488cd0['include']=[{'all':!![]}];}_0x488cd0=_['merge']({},_0x488cd0,_0x4e70e2['options']);return db[_0xbfda('0x2f')]['find'](_0x488cd0)['then'](handleEntityNotFound(_0x51da8f,null))[_0xbfda('0x29')](respondWithResult(_0x51da8f,null))[_0xbfda('0x4b')](handleError(_0x51da8f,null));};exports['create']=function(_0x252bc3,_0x17bebb){return db[_0xbfda('0x2f')][_0xbfda('0x4c')](_0x252bc3[_0xbfda('0x4d')],{})[_0xbfda('0x29')](respondWithResult(_0x17bebb,0xc9))['catch'](handleError(_0x17bebb,null));};exports[_0xbfda('0x28')]=function(_0x4f2755,_0x129afe){if(_0x4f2755['body']['id']){delete _0x4f2755[_0xbfda('0x4d')]['id'];}return db[_0xbfda('0x2f')][_0xbfda('0x4e')]({'where':{'id':_0x4f2755[_0xbfda('0x4a')]['id']}})['then'](handleEntityNotFound(_0x129afe,null))['then'](saveUpdates(_0x4f2755[_0xbfda('0x4d')],null))[_0xbfda('0x29')](respondWithResult(_0x129afe,null))['catch'](handleError(_0x129afe,null));};exports['destroy']=function(_0x1da47b,_0x57afeb){return db[_0xbfda('0x2f')][_0xbfda('0x4e')]({'where':{'id':_0x1da47b['params']['id']}})[_0xbfda('0x29')](handleEntityNotFound(_0x57afeb,null))[_0xbfda('0x29')](removeEntity(_0x57afeb,null))[_0xbfda('0x4b')](handleError(_0x57afeb,null));};