f7c41f0609ea0129338ee13b749cf27c6bc1d600
[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 _0x9202=['fields','length','nolimit','order','sort','pick','filter','where','merge','VIRTUAL','options','includeAll','include','findAll','rows','params','find','catch','create','body','eml-format','rimraf','zip-dir','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','jsforce','querystring','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','status','end','json','offset','undefined','limit','count','Content-Range','apply','reject','save','update','then','destroy','sendStatus','error','stack','name','send','index','map','OpenchannelApplication','rawAttributes','type','key','model','query','keys','filters','attributes','intersection'];(function(_0x1f41b4,_0x2a3899){var _0x131b99=function(_0x3949cc){while(--_0x3949cc){_0x1f41b4['push'](_0x1f41b4['shift']());}};_0x131b99(++_0x2a3899);}(_0x9202,0x130));var _0x2920=function(_0x5103e9,_0x420916){_0x5103e9=_0x5103e9-0x0;var _0x3bf4aa=_0x9202[_0x5103e9];return _0x3bf4aa;};'use strict';var emlformat=require(_0x2920('0x0'));var rimraf=require(_0x2920('0x1'));var zipdir=require(_0x2920('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x2920('0x3'));var BPromise=require(_0x2920('0x4'));var Mustache=require(_0x2920('0x5'));var util=require(_0x2920('0x6'));var path=require(_0x2920('0x7'));var sox=require(_0x2920('0x8'));var csv=require(_0x2920('0x9'));var ejs=require(_0x2920('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x2920('0xb'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x2920('0xc'));var deskjs=require('desk.js');var toCsv=require(_0x2920('0x9'));var querystring=require(_0x2920('0xd'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x2920('0xe'));var hardwareService=require(_0x2920('0xf'));var logger=require(_0x2920('0x10'))(_0x2920('0x11'));var utils=require('../../config/utils');var config=require(_0x2920('0x12'));var licenseUtil=require('../../config/license/util');var db=require(_0x2920('0x13'))['db'];function respondWithStatusCode(_0x171827,_0x23db17){_0x23db17=_0x23db17||0xcc;return function(_0x214984){if(_0x214984){return _0x171827['sendStatus'](_0x23db17);}return _0x171827[_0x2920('0x14')](_0x23db17)[_0x2920('0x15')]();};}function respondWithResult(_0x2c5e49,_0x1e4d2d){_0x1e4d2d=_0x1e4d2d||0xc8;return function(_0x14ddbf){if(_0x14ddbf){return _0x2c5e49['status'](_0x1e4d2d)[_0x2920('0x16')](_0x14ddbf);}};}function respondWithFilteredResult(_0x130dbc,_0x1c931f){return function(_0x3d10f4){if(_0x3d10f4){var _0x59ac00=typeof _0x1c931f[_0x2920('0x17')]===_0x2920('0x18')&&typeof _0x1c931f[_0x2920('0x19')]===_0x2920('0x18');var _0x771b42=_0x3d10f4[_0x2920('0x1a')];var _0x371568=_0x59ac00?0x0:_0x1c931f[_0x2920('0x17')];var _0x4979d8=_0x59ac00?_0x3d10f4['count']:_0x1c931f[_0x2920('0x17')]+_0x1c931f[_0x2920('0x19')];var _0x226584;if(_0x4979d8>=_0x771b42){_0x4979d8=_0x771b42;_0x226584=0xc8;}else{_0x226584=0xce;}_0x130dbc[_0x2920('0x14')](_0x226584);return _0x130dbc['set'](_0x2920('0x1b'),_0x371568+'-'+_0x4979d8+'/'+_0x771b42)[_0x2920('0x16')](_0x3d10f4);}return null;};}function patchUpdates(_0x1c630d){return function(_0x252e54){try{jsonpatch[_0x2920('0x1c')](_0x252e54,_0x1c630d,!![]);}catch(_0x3d3728){return BPromise[_0x2920('0x1d')](_0x3d3728);}return _0x252e54[_0x2920('0x1e')]();};}function saveUpdates(_0x1247d4,_0x499395){return function(_0x57a670){if(_0x57a670){return _0x57a670[_0x2920('0x1f')](_0x1247d4)[_0x2920('0x20')](function(_0x4d7fa6){return _0x4d7fa6;});}return null;};}function removeEntity(_0x239779,_0x455ff1){return function(_0x372391){if(_0x372391){return _0x372391[_0x2920('0x21')]()[_0x2920('0x20')](function(){_0x239779[_0x2920('0x14')](0xcc)['end']();});}};}function handleEntityNotFound(_0x131511,_0x5b3302){return function(_0x463000){if(!_0x463000){_0x131511[_0x2920('0x22')](0x194);}return _0x463000;};}function handleError(_0x1224b6,_0x5784a3){_0x5784a3=_0x5784a3||0x1f4;return function(_0x23fbaf){logger[_0x2920('0x23')](_0x23fbaf[_0x2920('0x24')]);if(_0x23fbaf[_0x2920('0x25')]){delete _0x23fbaf[_0x2920('0x25')];}_0x1224b6['status'](_0x5784a3)[_0x2920('0x26')](_0x23fbaf);};}exports[_0x2920('0x27')]=function(_0x4391b9,_0x2b43f6){var _0x68e2b5={},_0x209e43={},_0x3b1f7b={'count':0x0,'rows':[]};var _0x57e642=_[_0x2920('0x28')](db[_0x2920('0x29')][_0x2920('0x2a')],function(_0x5f438){return{'name':_0x5f438['fieldName'],'type':_0x5f438[_0x2920('0x2b')][_0x2920('0x2c')]};});_0x209e43[_0x2920('0x2d')]=_[_0x2920('0x28')](_0x57e642,_0x2920('0x25'));_0x209e43[_0x2920('0x2e')]=_[_0x2920('0x2f')](_0x4391b9[_0x2920('0x2e')]);_0x209e43[_0x2920('0x30')]=_['intersection'](_0x209e43[_0x2920('0x2d')],_0x209e43[_0x2920('0x2e')]);_0x68e2b5[_0x2920('0x31')]=_[_0x2920('0x32')](_0x209e43[_0x2920('0x2d')],qs[_0x2920('0x33')](_0x4391b9[_0x2920('0x2e')]['fields']));_0x68e2b5[_0x2920('0x31')]=_0x68e2b5['attributes'][_0x2920('0x34')]?_0x68e2b5[_0x2920('0x31')]:_0x209e43[_0x2920('0x2d')];if(!_0x4391b9['query']['hasOwnProperty'](_0x2920('0x35'))){_0x68e2b5[_0x2920('0x19')]=qs[_0x2920('0x19')](_0x4391b9[_0x2920('0x2e')]['limit']);_0x68e2b5[_0x2920('0x17')]=qs[_0x2920('0x17')](_0x4391b9[_0x2920('0x2e')]['offset']);}_0x68e2b5[_0x2920('0x36')]=qs[_0x2920('0x37')](_0x4391b9[_0x2920('0x2e')][_0x2920('0x37')]);_0x68e2b5['where']=qs[_0x2920('0x30')](_[_0x2920('0x38')](_0x4391b9[_0x2920('0x2e')],_0x209e43['filters']),_0x57e642);if(_0x4391b9[_0x2920('0x2e')][_0x2920('0x39')]){_0x68e2b5[_0x2920('0x3a')]=_[_0x2920('0x3b')](_0x68e2b5[_0x2920('0x3a')],{'$or':_[_0x2920('0x28')](_0x57e642,function(_0x38b68b){if(_0x38b68b[_0x2920('0x2b')]!==_0x2920('0x3c')){var _0x59001d={};_0x59001d[_0x38b68b['name']]={'$like':'%'+_0x4391b9[_0x2920('0x2e')][_0x2920('0x39')]+'%'};return _0x59001d;}})});}_0x68e2b5=_[_0x2920('0x3b')]({},_0x68e2b5,_0x4391b9[_0x2920('0x3d')]);var _0xe04840={'where':_0x68e2b5[_0x2920('0x3a')]};return db[_0x2920('0x29')]['count'](_0xe04840)[_0x2920('0x20')](function(_0x316b87){_0x3b1f7b[_0x2920('0x1a')]=_0x316b87;if(_0x4391b9['query'][_0x2920('0x3e')]){_0x68e2b5[_0x2920('0x3f')]=[{'all':!![]}];}return db[_0x2920('0x29')][_0x2920('0x40')](_0x68e2b5);})[_0x2920('0x20')](function(_0x382705){_0x3b1f7b[_0x2920('0x41')]=_0x382705;return _0x3b1f7b;})[_0x2920('0x20')](respondWithFilteredResult(_0x2b43f6,_0x68e2b5))['catch'](handleError(_0x2b43f6,null));};exports['show']=function(_0x423527,_0x5ecd7e){var _0x2e4b60={'raw':!![],'where':{'id':_0x423527[_0x2920('0x42')]['id']}},_0x3ebef1={};_0x3ebef1['model']=_[_0x2920('0x2f')](db['OpenchannelApplication'][_0x2920('0x2a')]);_0x3ebef1[_0x2920('0x2e')]=_[_0x2920('0x2f')](_0x423527[_0x2920('0x2e')]);_0x3ebef1['filters']=_[_0x2920('0x32')](_0x3ebef1[_0x2920('0x2d')],_0x3ebef1[_0x2920('0x2e')]);_0x2e4b60[_0x2920('0x31')]=_[_0x2920('0x32')](_0x3ebef1[_0x2920('0x2d')],qs['fields'](_0x423527[_0x2920('0x2e')][_0x2920('0x33')]));_0x2e4b60['attributes']=_0x2e4b60['attributes'][_0x2920('0x34')]?_0x2e4b60[_0x2920('0x31')]:_0x3ebef1[_0x2920('0x2d')];if(_0x423527[_0x2920('0x2e')][_0x2920('0x3e')]){_0x2e4b60[_0x2920('0x3f')]=[{'all':!![]}];}_0x2e4b60=_['merge']({},_0x2e4b60,_0x423527[_0x2920('0x3d')]);return db[_0x2920('0x29')][_0x2920('0x43')](_0x2e4b60)['then'](handleEntityNotFound(_0x5ecd7e,null))[_0x2920('0x20')](respondWithResult(_0x5ecd7e,null))[_0x2920('0x44')](handleError(_0x5ecd7e,null));};exports[_0x2920('0x45')]=function(_0xdd59f4,_0x67dba4){return db[_0x2920('0x29')][_0x2920('0x45')](_0xdd59f4[_0x2920('0x46')],{})[_0x2920('0x20')](respondWithResult(_0x67dba4,0xc9))[_0x2920('0x44')](handleError(_0x67dba4,null));};exports[_0x2920('0x1f')]=function(_0x30c353,_0x5dd5eb){if(_0x30c353[_0x2920('0x46')]['id']){delete _0x30c353[_0x2920('0x46')]['id'];}return db[_0x2920('0x29')]['find']({'where':{'id':_0x30c353['params']['id']}})['then'](handleEntityNotFound(_0x5dd5eb,null))[_0x2920('0x20')](saveUpdates(_0x30c353['body'],null))[_0x2920('0x20')](respondWithResult(_0x5dd5eb,null))[_0x2920('0x44')](handleError(_0x5dd5eb,null));};exports[_0x2920('0x21')]=function(_0x5d3854,_0x42e1f5){return db[_0x2920('0x29')][_0x2920('0x43')]({'where':{'id':_0x5d3854['params']['id']}})[_0x2920('0x20')](handleEntityNotFound(_0x42e1f5,null))[_0x2920('0x20')](removeEntity(_0x42e1f5,null))[_0x2920('0x44')](handleError(_0x42e1f5,null));};