135ae78b3dc0832228dd919bd244b216ffabc374
[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 _0xb326=['destroy','sendStatus','error','stack','name','send','index','map','OpenchannelApplication','rawAttributes','fieldName','type','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','offset','sort','where','pick','filters','filter','merge','VIRTUAL','options','count','includeAll','include','findAll','rows','show','params','find','catch','create','body','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','to-csv','ejs','fs-extra','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/utils','../../config/license/util','../../mysqldb','status','end','json','undefined','limit','set','Content-Range','reject','update','then'];(function(_0x211e54,_0x452f37){var _0x12995a=function(_0x25fee9){while(--_0x25fee9){_0x211e54['push'](_0x211e54['shift']());}};_0x12995a(++_0x452f37);}(_0xb326,0x18b));var _0x6b32=function(_0x10f727,_0x231abb){_0x10f727=_0x10f727-0x0;var _0x5487fe=_0xb326[_0x10f727];return _0x5487fe;};'use strict';var emlformat=require(_0x6b32('0x0'));var rimraf=require(_0x6b32('0x1'));var zipdir=require(_0x6b32('0x2'));var jsonpatch=require(_0x6b32('0x3'));var rp=require(_0x6b32('0x4'));var moment=require(_0x6b32('0x5'));var BPromise=require(_0x6b32('0x6'));var Mustache=require(_0x6b32('0x7'));var util=require('util');var path=require(_0x6b32('0x8'));var sox=require('sox');var csv=require(_0x6b32('0x9'));var ejs=require(_0x6b32('0xa'));var fs=require('fs');var fs_extra=require(_0x6b32('0xb'));var _=require('lodash');var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x6b32('0xc'));var deskjs=require(_0x6b32('0xd'));var toCsv=require(_0x6b32('0x9'));var querystring=require(_0x6b32('0xe'));var Papa=require(_0x6b32('0xf'));var Redis=require('ioredis');var authService=require(_0x6b32('0x10'));var qs=require(_0x6b32('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')('api');var utils=require(_0x6b32('0x12'));var config=require('../../config/environment');var licenseUtil=require(_0x6b32('0x13'));var db=require(_0x6b32('0x14'))['db'];function respondWithStatusCode(_0x1e4eb8,_0x3b9d25){_0x3b9d25=_0x3b9d25||0xcc;return function(_0x500f9e){if(_0x500f9e){return _0x1e4eb8['sendStatus'](_0x3b9d25);}return _0x1e4eb8[_0x6b32('0x15')](_0x3b9d25)[_0x6b32('0x16')]();};}function respondWithResult(_0x2db780,_0x2e8895){_0x2e8895=_0x2e8895||0xc8;return function(_0x3209a6){if(_0x3209a6){return _0x2db780[_0x6b32('0x15')](_0x2e8895)[_0x6b32('0x17')](_0x3209a6);}};}function respondWithFilteredResult(_0x29daf5,_0x46e4fe){return function(_0x5c8312){if(_0x5c8312){var _0x2be6d9=typeof _0x46e4fe['offset']===_0x6b32('0x18')&&typeof _0x46e4fe[_0x6b32('0x19')]===_0x6b32('0x18');var _0x587a8c=_0x5c8312['count'];var _0x363597=_0x2be6d9?0x0:_0x46e4fe['offset'];var _0x4f3a2d=_0x2be6d9?_0x5c8312['count']:_0x46e4fe['offset']+_0x46e4fe[_0x6b32('0x19')];var _0x2c588a;if(_0x4f3a2d>=_0x587a8c){_0x4f3a2d=_0x587a8c;_0x2c588a=0xc8;}else{_0x2c588a=0xce;}_0x29daf5[_0x6b32('0x15')](_0x2c588a);return _0x29daf5[_0x6b32('0x1a')](_0x6b32('0x1b'),_0x363597+'-'+_0x4f3a2d+'/'+_0x587a8c)[_0x6b32('0x17')](_0x5c8312);}return null;};}function patchUpdates(_0x526175){return function(_0x1c699c){try{jsonpatch['apply'](_0x1c699c,_0x526175,!![]);}catch(_0x29a18c){return BPromise[_0x6b32('0x1c')](_0x29a18c);}return _0x1c699c['save']();};}function saveUpdates(_0x1b5777,_0x5325fa){return function(_0x3812c8){if(_0x3812c8){return _0x3812c8[_0x6b32('0x1d')](_0x1b5777)[_0x6b32('0x1e')](function(_0x1c5c00){return _0x1c5c00;});}return null;};}function removeEntity(_0x52b1dc,_0xe0d3b6){return function(_0x43d165){if(_0x43d165){return _0x43d165[_0x6b32('0x1f')]()[_0x6b32('0x1e')](function(){_0x52b1dc[_0x6b32('0x15')](0xcc)[_0x6b32('0x16')]();});}};}function handleEntityNotFound(_0x4d5fcf,_0x1d018e){return function(_0x1015e3){if(!_0x1015e3){_0x4d5fcf[_0x6b32('0x20')](0x194);}return _0x1015e3;};}function handleError(_0x5ea7c8,_0x21c268){_0x21c268=_0x21c268||0x1f4;return function(_0xb8d529){logger[_0x6b32('0x21')](_0xb8d529[_0x6b32('0x22')]);if(_0xb8d529[_0x6b32('0x23')]){delete _0xb8d529['name'];}_0x5ea7c8['status'](_0x21c268)[_0x6b32('0x24')](_0xb8d529);};}exports[_0x6b32('0x25')]=function(_0x31bf38,_0x37b37b){var _0x528023={},_0x58dc0a={},_0xe3f185={'count':0x0,'rows':[]};var _0x122dd2=_[_0x6b32('0x26')](db[_0x6b32('0x27')][_0x6b32('0x28')],function(_0x4aae55){return{'name':_0x4aae55[_0x6b32('0x29')],'type':_0x4aae55[_0x6b32('0x2a')]['key']};});_0x58dc0a[_0x6b32('0x2b')]=_[_0x6b32('0x26')](_0x122dd2,'name');_0x58dc0a[_0x6b32('0x2c')]=_[_0x6b32('0x2d')](_0x31bf38['query']);_0x58dc0a['filters']=_[_0x6b32('0x2e')](_0x58dc0a[_0x6b32('0x2b')],_0x58dc0a[_0x6b32('0x2c')]);_0x528023[_0x6b32('0x2f')]=_[_0x6b32('0x2e')](_0x58dc0a[_0x6b32('0x2b')],qs[_0x6b32('0x30')](_0x31bf38[_0x6b32('0x2c')][_0x6b32('0x30')]));_0x528023[_0x6b32('0x2f')]=_0x528023['attributes'][_0x6b32('0x31')]?_0x528023['attributes']:_0x58dc0a[_0x6b32('0x2b')];if(!_0x31bf38[_0x6b32('0x2c')][_0x6b32('0x32')]('nolimit')){_0x528023[_0x6b32('0x19')]=qs[_0x6b32('0x19')](_0x31bf38['query'][_0x6b32('0x19')]);_0x528023[_0x6b32('0x33')]=qs[_0x6b32('0x33')](_0x31bf38['query']['offset']);}_0x528023['order']=qs[_0x6b32('0x34')](_0x31bf38['query'][_0x6b32('0x34')]);_0x528023[_0x6b32('0x35')]=qs['filters'](_[_0x6b32('0x36')](_0x31bf38['query'],_0x58dc0a[_0x6b32('0x37')]),_0x122dd2);if(_0x31bf38[_0x6b32('0x2c')][_0x6b32('0x38')]){_0x528023[_0x6b32('0x35')]=_[_0x6b32('0x39')](_0x528023['where'],{'$or':_[_0x6b32('0x26')](_0x122dd2,function(_0x4fae69){if(_0x4fae69[_0x6b32('0x2a')]!==_0x6b32('0x3a')){var _0x29ff09={};_0x29ff09[_0x4fae69[_0x6b32('0x23')]]={'$like':'%'+_0x31bf38[_0x6b32('0x2c')][_0x6b32('0x38')]+'%'};return _0x29ff09;}})});}_0x528023=_[_0x6b32('0x39')]({},_0x528023,_0x31bf38[_0x6b32('0x3b')]);var _0x460bea={'where':_0x528023[_0x6b32('0x35')]};return db[_0x6b32('0x27')][_0x6b32('0x3c')](_0x460bea)[_0x6b32('0x1e')](function(_0x2337c8){_0xe3f185[_0x6b32('0x3c')]=_0x2337c8;if(_0x31bf38[_0x6b32('0x2c')][_0x6b32('0x3d')]){_0x528023[_0x6b32('0x3e')]=[{'all':!![]}];}return db[_0x6b32('0x27')][_0x6b32('0x3f')](_0x528023);})['then'](function(_0xb6731a){_0xe3f185[_0x6b32('0x40')]=_0xb6731a;return _0xe3f185;})[_0x6b32('0x1e')](respondWithFilteredResult(_0x37b37b,_0x528023))['catch'](handleError(_0x37b37b,null));};exports[_0x6b32('0x41')]=function(_0x11e833,_0x2a77b2){var _0x546684={'raw':!![],'where':{'id':_0x11e833[_0x6b32('0x42')]['id']}},_0x40c716={};_0x40c716['model']=_[_0x6b32('0x2d')](db[_0x6b32('0x27')][_0x6b32('0x28')]);_0x40c716[_0x6b32('0x2c')]=_[_0x6b32('0x2d')](_0x11e833[_0x6b32('0x2c')]);_0x40c716[_0x6b32('0x37')]=_[_0x6b32('0x2e')](_0x40c716[_0x6b32('0x2b')],_0x40c716[_0x6b32('0x2c')]);_0x546684[_0x6b32('0x2f')]=_[_0x6b32('0x2e')](_0x40c716[_0x6b32('0x2b')],qs[_0x6b32('0x30')](_0x11e833[_0x6b32('0x2c')][_0x6b32('0x30')]));_0x546684[_0x6b32('0x2f')]=_0x546684['attributes'][_0x6b32('0x31')]?_0x546684[_0x6b32('0x2f')]:_0x40c716['model'];if(_0x11e833['query']['includeAll']){_0x546684[_0x6b32('0x3e')]=[{'all':!![]}];}_0x546684=_['merge']({},_0x546684,_0x11e833[_0x6b32('0x3b')]);return db[_0x6b32('0x27')][_0x6b32('0x43')](_0x546684)[_0x6b32('0x1e')](handleEntityNotFound(_0x2a77b2,null))['then'](respondWithResult(_0x2a77b2,null))[_0x6b32('0x44')](handleError(_0x2a77b2,null));};exports[_0x6b32('0x45')]=function(_0x1666dc,_0x3e953d){return db['OpenchannelApplication'][_0x6b32('0x45')](_0x1666dc['body'],{})[_0x6b32('0x1e')](respondWithResult(_0x3e953d,0xc9))[_0x6b32('0x44')](handleError(_0x3e953d,null));};exports[_0x6b32('0x1d')]=function(_0x2ca0c8,_0x134864){if(_0x2ca0c8[_0x6b32('0x46')]['id']){delete _0x2ca0c8[_0x6b32('0x46')]['id'];}return db[_0x6b32('0x27')]['find']({'where':{'id':_0x2ca0c8[_0x6b32('0x42')]['id']}})[_0x6b32('0x1e')](handleEntityNotFound(_0x134864,null))[_0x6b32('0x1e')](saveUpdates(_0x2ca0c8['body'],null))[_0x6b32('0x1e')](respondWithResult(_0x134864,null))[_0x6b32('0x44')](handleError(_0x134864,null));};exports[_0x6b32('0x1f')]=function(_0x1974c8,_0x1e516b){return db[_0x6b32('0x27')][_0x6b32('0x43')]({'where':{'id':_0x1974c8[_0x6b32('0x42')]['id']}})[_0x6b32('0x1e')](handleEntityNotFound(_0x1e516b,null))[_0x6b32('0x1e')](removeEntity(_0x1e516b,null))[_0x6b32('0x44')](handleError(_0x1e516b,null));};