ae30a3973dc0e3093c43988070249232000fcc32
[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 _0x8c02=['papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','status','json','undefined','count','limit','set','apply','reject','update','then','destroy','sendStatus','name','send','index','rawAttributes','fieldName','type','key','map','query','keys','filters','intersection','model','fields','attributes','length','hasOwnProperty','nolimit','offset','order','sort','where','pick','filter','merge','options','OpenchannelApplication','findAll','rows','show','params','includeAll','include','catch','create','body','find','eml-format','rimraf','zip-dir','fast-json-patch','mustache','util','path','sox','to-csv','ejs','squel','crypto','jsforce','querystring'];(function(_0x4623ef,_0x41adee){var _0x493a39=function(_0x41bc60){while(--_0x41bc60){_0x4623ef['push'](_0x4623ef['shift']());}};_0x493a39(++_0x41adee);}(_0x8c02,0x155));var _0x28c0=function(_0x524447,_0x37b7c8){_0x524447=_0x524447-0x0;var _0x4cb266=_0x8c02[_0x524447];return _0x4cb266;};'use strict';var emlformat=require(_0x28c0('0x0'));var rimraf=require(_0x28c0('0x1'));var zipdir=require(_0x28c0('0x2'));var jsonpatch=require(_0x28c0('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x28c0('0x4'));var util=require(_0x28c0('0x5'));var path=require(_0x28c0('0x6'));var sox=require(_0x28c0('0x7'));var csv=require(_0x28c0('0x8'));var ejs=require(_0x28c0('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x28c0('0xa'));var crypto=require(_0x28c0('0xb'));var jsforce=require(_0x28c0('0xc'));var deskjs=require('desk.js');var toCsv=require(_0x28c0('0x8'));var querystring=require(_0x28c0('0xd'));var Papa=require(_0x28c0('0xe'));var Redis=require('ioredis');var authService=require(_0x28c0('0xf'));var qs=require('../../components/parsers/qs');var as=require(_0x28c0('0x10'));var hardwareService=require(_0x28c0('0x11'));var logger=require(_0x28c0('0x12'))(_0x28c0('0x13'));var utils=require(_0x28c0('0x14'));var config=require(_0x28c0('0x15'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x118e33,_0x49ffdf){_0x49ffdf=_0x49ffdf||0xcc;return function(_0x4b291c){if(_0x4b291c){return _0x118e33['sendStatus'](_0x49ffdf);}return _0x118e33[_0x28c0('0x16')](_0x49ffdf)['end']();};}function respondWithResult(_0x5a8afc,_0x1e3017){_0x1e3017=_0x1e3017||0xc8;return function(_0x18fd9a){if(_0x18fd9a){return _0x5a8afc['status'](_0x1e3017)[_0x28c0('0x17')](_0x18fd9a);}};}function respondWithFilteredResult(_0x2ad616,_0x4e17f8){return function(_0x5730b6){if(_0x5730b6){var _0x43fef7=typeof _0x4e17f8['offset']===_0x28c0('0x18')&&typeof _0x4e17f8['limit']===_0x28c0('0x18');var _0x2f99da=_0x5730b6[_0x28c0('0x19')];var _0x52d9db=_0x43fef7?0x0:_0x4e17f8['offset'];var _0x46bd28=_0x43fef7?_0x5730b6['count']:_0x4e17f8['offset']+_0x4e17f8[_0x28c0('0x1a')];var _0x1fb951;if(_0x46bd28>=_0x2f99da){_0x46bd28=_0x2f99da;_0x1fb951=0xc8;}else{_0x1fb951=0xce;}_0x2ad616[_0x28c0('0x16')](_0x1fb951);return _0x2ad616[_0x28c0('0x1b')]('Content-Range',_0x52d9db+'-'+_0x46bd28+'/'+_0x2f99da)[_0x28c0('0x17')](_0x5730b6);}return null;};}function patchUpdates(_0xfa874){return function(_0x29e645){try{jsonpatch[_0x28c0('0x1c')](_0x29e645,_0xfa874,!![]);}catch(_0xdae2){return BPromise[_0x28c0('0x1d')](_0xdae2);}return _0x29e645['save']();};}function saveUpdates(_0x2919b7,_0x5e8c1a){return function(_0x37ffdc){if(_0x37ffdc){return _0x37ffdc[_0x28c0('0x1e')](_0x2919b7)[_0x28c0('0x1f')](function(_0x100656){return _0x100656;});}return null;};}function removeEntity(_0x2065bc,_0x40ceeb){return function(_0x4a9aa7){if(_0x4a9aa7){return _0x4a9aa7[_0x28c0('0x20')]()[_0x28c0('0x1f')](function(){_0x2065bc[_0x28c0('0x16')](0xcc)['end']();});}};}function handleEntityNotFound(_0x450125,_0x479e68){return function(_0xf0040c){if(!_0xf0040c){_0x450125[_0x28c0('0x21')](0x194);}return _0xf0040c;};}function handleError(_0x1ab935,_0x423b57){_0x423b57=_0x423b57||0x1f4;return function(_0x2f2421){logger['error'](_0x2f2421['stack']);if(_0x2f2421[_0x28c0('0x22')]){delete _0x2f2421[_0x28c0('0x22')];}_0x1ab935['status'](_0x423b57)[_0x28c0('0x23')](_0x2f2421);};}exports[_0x28c0('0x24')]=function(_0x24608e,_0x51574d){var _0x1904f9={},_0x2ae8c9={},_0x4db3a8={'count':0x0,'rows':[]};var _0xdf2028=_['map'](db['OpenchannelApplication'][_0x28c0('0x25')],function(_0x2c1815){return{'name':_0x2c1815[_0x28c0('0x26')],'type':_0x2c1815[_0x28c0('0x27')][_0x28c0('0x28')]};});_0x2ae8c9['model']=_[_0x28c0('0x29')](_0xdf2028,_0x28c0('0x22'));_0x2ae8c9[_0x28c0('0x2a')]=_[_0x28c0('0x2b')](_0x24608e['query']);_0x2ae8c9[_0x28c0('0x2c')]=_[_0x28c0('0x2d')](_0x2ae8c9[_0x28c0('0x2e')],_0x2ae8c9[_0x28c0('0x2a')]);_0x1904f9['attributes']=_[_0x28c0('0x2d')](_0x2ae8c9[_0x28c0('0x2e')],qs[_0x28c0('0x2f')](_0x24608e[_0x28c0('0x2a')][_0x28c0('0x2f')]));_0x1904f9['attributes']=_0x1904f9[_0x28c0('0x30')][_0x28c0('0x31')]?_0x1904f9[_0x28c0('0x30')]:_0x2ae8c9[_0x28c0('0x2e')];if(!_0x24608e['query'][_0x28c0('0x32')](_0x28c0('0x33'))){_0x1904f9[_0x28c0('0x1a')]=qs[_0x28c0('0x1a')](_0x24608e[_0x28c0('0x2a')][_0x28c0('0x1a')]);_0x1904f9[_0x28c0('0x34')]=qs[_0x28c0('0x34')](_0x24608e['query']['offset']);}_0x1904f9[_0x28c0('0x35')]=qs[_0x28c0('0x36')](_0x24608e[_0x28c0('0x2a')]['sort']);_0x1904f9[_0x28c0('0x37')]=qs[_0x28c0('0x2c')](_[_0x28c0('0x38')](_0x24608e['query'],_0x2ae8c9[_0x28c0('0x2c')]),_0xdf2028);if(_0x24608e['query'][_0x28c0('0x39')]){_0x1904f9[_0x28c0('0x37')]=_['merge'](_0x1904f9[_0x28c0('0x37')],{'$or':_[_0x28c0('0x29')](_0xdf2028,function(_0x11dd12){if(_0x11dd12[_0x28c0('0x27')]!=='VIRTUAL'){var _0x5a3313={};_0x5a3313[_0x11dd12['name']]={'$like':'%'+_0x24608e[_0x28c0('0x2a')][_0x28c0('0x39')]+'%'};return _0x5a3313;}})});}_0x1904f9=_[_0x28c0('0x3a')]({},_0x1904f9,_0x24608e[_0x28c0('0x3b')]);var _0x299909={'where':_0x1904f9['where']};return db[_0x28c0('0x3c')][_0x28c0('0x19')](_0x299909)[_0x28c0('0x1f')](function(_0x27dc68){_0x4db3a8[_0x28c0('0x19')]=_0x27dc68;if(_0x24608e[_0x28c0('0x2a')]['includeAll']){_0x1904f9['include']=[{'all':!![]}];}return db[_0x28c0('0x3c')][_0x28c0('0x3d')](_0x1904f9);})[_0x28c0('0x1f')](function(_0x5c1c98){_0x4db3a8[_0x28c0('0x3e')]=_0x5c1c98;return _0x4db3a8;})['then'](respondWithFilteredResult(_0x51574d,_0x1904f9))['catch'](handleError(_0x51574d,null));};exports[_0x28c0('0x3f')]=function(_0x512d73,_0x5e2deb){var _0x4a5ed0={'raw':!![],'where':{'id':_0x512d73[_0x28c0('0x40')]['id']}},_0x48d437={};_0x48d437[_0x28c0('0x2e')]=_[_0x28c0('0x2b')](db[_0x28c0('0x3c')][_0x28c0('0x25')]);_0x48d437[_0x28c0('0x2a')]=_[_0x28c0('0x2b')](_0x512d73[_0x28c0('0x2a')]);_0x48d437[_0x28c0('0x2c')]=_['intersection'](_0x48d437[_0x28c0('0x2e')],_0x48d437[_0x28c0('0x2a')]);_0x4a5ed0[_0x28c0('0x30')]=_[_0x28c0('0x2d')](_0x48d437[_0x28c0('0x2e')],qs[_0x28c0('0x2f')](_0x512d73['query']['fields']));_0x4a5ed0[_0x28c0('0x30')]=_0x4a5ed0[_0x28c0('0x30')][_0x28c0('0x31')]?_0x4a5ed0[_0x28c0('0x30')]:_0x48d437['model'];if(_0x512d73[_0x28c0('0x2a')][_0x28c0('0x41')]){_0x4a5ed0[_0x28c0('0x42')]=[{'all':!![]}];}_0x4a5ed0=_['merge']({},_0x4a5ed0,_0x512d73['options']);return db['OpenchannelApplication']['find'](_0x4a5ed0)[_0x28c0('0x1f')](handleEntityNotFound(_0x5e2deb,null))['then'](respondWithResult(_0x5e2deb,null))[_0x28c0('0x43')](handleError(_0x5e2deb,null));};exports[_0x28c0('0x44')]=function(_0x1c8f47,_0x42ff96){return db[_0x28c0('0x3c')][_0x28c0('0x44')](_0x1c8f47[_0x28c0('0x45')],{})[_0x28c0('0x1f')](respondWithResult(_0x42ff96,0xc9))[_0x28c0('0x43')](handleError(_0x42ff96,null));};exports['update']=function(_0x2a34d6,_0x2419ed){if(_0x2a34d6[_0x28c0('0x45')]['id']){delete _0x2a34d6[_0x28c0('0x45')]['id'];}return db[_0x28c0('0x3c')][_0x28c0('0x46')]({'where':{'id':_0x2a34d6[_0x28c0('0x40')]['id']}})[_0x28c0('0x1f')](handleEntityNotFound(_0x2419ed,null))[_0x28c0('0x1f')](saveUpdates(_0x2a34d6[_0x28c0('0x45')],null))[_0x28c0('0x1f')](respondWithResult(_0x2419ed,null))[_0x28c0('0x43')](handleError(_0x2419ed,null));};exports[_0x28c0('0x20')]=function(_0x4b1668,_0x386762){return db['OpenchannelApplication'][_0x28c0('0x46')]({'where':{'id':_0x4b1668[_0x28c0('0x40')]['id']}})[_0x28c0('0x1f')](handleEntityNotFound(_0x386762,null))[_0x28c0('0x1f')](removeEntity(_0x386762,null))['catch'](handleError(_0x386762,null));};