Built motion from commit 14588770.|2.5.38
[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 _0xaa8c=['fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','limit','sort','where','pick','filter','VIRTUAL','merge','options','includeAll','include','findAll','rows','catch','show','params','create','body','update','find','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','squel','crypto','jsforce','desk.js','querystring','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','json','undefined','count','offset','set','Content-Range','apply','reject','save','then','destroy','end','error','stack','name','send','index','map','OpenchannelApplication','rawAttributes'];(function(_0x1a8dc5,_0x48d9e8){var _0x2a700c=function(_0x2c33fc){while(--_0x2c33fc){_0x1a8dc5['push'](_0x1a8dc5['shift']());}};_0x2a700c(++_0x48d9e8);}(_0xaa8c,0x14f));var _0xcaa8=function(_0x329485,_0x4f7e0d){_0x329485=_0x329485-0x0;var _0x3dd0bb=_0xaa8c[_0x329485];return _0x3dd0bb;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xcaa8('0x0'));var zipdir=require(_0xcaa8('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0xcaa8('0x2'));var moment=require(_0xcaa8('0x3'));var BPromise=require(_0xcaa8('0x4'));var Mustache=require(_0xcaa8('0x5'));var util=require(_0xcaa8('0x6'));var path=require(_0xcaa8('0x7'));var sox=require(_0xcaa8('0x8'));var csv=require(_0xcaa8('0x9'));var ejs=require(_0xcaa8('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0xcaa8('0xb'));var crypto=require(_0xcaa8('0xc'));var jsforce=require(_0xcaa8('0xd'));var deskjs=require(_0xcaa8('0xe'));var toCsv=require(_0xcaa8('0x9'));var querystring=require(_0xcaa8('0xf'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xcaa8('0x10'));var as=require(_0xcaa8('0x11'));var hardwareService=require(_0xcaa8('0x12'));var logger=require(_0xcaa8('0x13'))('api');var utils=require(_0xcaa8('0x14'));var config=require(_0xcaa8('0x15'));var licenseUtil=require('../../config/license/util');var db=require(_0xcaa8('0x16'))['db'];function respondWithStatusCode(_0x421543,_0x5dcc51){_0x5dcc51=_0x5dcc51||0xcc;return function(_0x266abb){if(_0x266abb){return _0x421543[_0xcaa8('0x17')](_0x5dcc51);}return _0x421543['status'](_0x5dcc51)['end']();};}function respondWithResult(_0x47b116,_0x1a7539){_0x1a7539=_0x1a7539||0xc8;return function(_0x567df4){if(_0x567df4){return _0x47b116[_0xcaa8('0x18')](_0x1a7539)[_0xcaa8('0x19')](_0x567df4);}};}function respondWithFilteredResult(_0x458ed9,_0x264fb6){return function(_0x4c06d9){if(_0x4c06d9){var _0x4553d8=typeof _0x264fb6['offset']===_0xcaa8('0x1a')&&typeof _0x264fb6['limit']===_0xcaa8('0x1a');var _0x1f0088=_0x4c06d9[_0xcaa8('0x1b')];var _0x4776c4=_0x4553d8?0x0:_0x264fb6[_0xcaa8('0x1c')];var _0x3df664=_0x4553d8?_0x4c06d9[_0xcaa8('0x1b')]:_0x264fb6[_0xcaa8('0x1c')]+_0x264fb6['limit'];var _0x188b66;if(_0x3df664>=_0x1f0088){_0x3df664=_0x1f0088;_0x188b66=0xc8;}else{_0x188b66=0xce;}_0x458ed9[_0xcaa8('0x18')](_0x188b66);return _0x458ed9[_0xcaa8('0x1d')](_0xcaa8('0x1e'),_0x4776c4+'-'+_0x3df664+'/'+_0x1f0088)[_0xcaa8('0x19')](_0x4c06d9);}return null;};}function patchUpdates(_0x925a22){return function(_0x3320cc){try{jsonpatch[_0xcaa8('0x1f')](_0x3320cc,_0x925a22,!![]);}catch(_0x54f84d){return BPromise[_0xcaa8('0x20')](_0x54f84d);}return _0x3320cc[_0xcaa8('0x21')]();};}function saveUpdates(_0x195705,_0x4bb951){return function(_0x5199b8){if(_0x5199b8){return _0x5199b8['update'](_0x195705)[_0xcaa8('0x22')](function(_0x36879a){return _0x36879a;});}return null;};}function removeEntity(_0x1b8f88,_0x4c4aff){return function(_0x1167bd){if(_0x1167bd){return _0x1167bd[_0xcaa8('0x23')]()[_0xcaa8('0x22')](function(){_0x1b8f88['status'](0xcc)[_0xcaa8('0x24')]();});}};}function handleEntityNotFound(_0x289f3d,_0x281a90){return function(_0x43c128){if(!_0x43c128){_0x289f3d[_0xcaa8('0x17')](0x194);}return _0x43c128;};}function handleError(_0x36c373,_0x2565dd){_0x2565dd=_0x2565dd||0x1f4;return function(_0xb8064e){logger[_0xcaa8('0x25')](_0xb8064e[_0xcaa8('0x26')]);if(_0xb8064e[_0xcaa8('0x27')]){delete _0xb8064e[_0xcaa8('0x27')];}_0x36c373['status'](_0x2565dd)[_0xcaa8('0x28')](_0xb8064e);};}exports[_0xcaa8('0x29')]=function(_0x531d37,_0x17f68c){var _0x2738b3={},_0x301507={},_0x2bdad3={'count':0x0,'rows':[]};var _0x22a88f=_[_0xcaa8('0x2a')](db[_0xcaa8('0x2b')][_0xcaa8('0x2c')],function(_0x78adb1){return{'name':_0x78adb1[_0xcaa8('0x2d')],'type':_0x78adb1[_0xcaa8('0x2e')][_0xcaa8('0x2f')]};});_0x301507[_0xcaa8('0x30')]=_[_0xcaa8('0x2a')](_0x22a88f,'name');_0x301507[_0xcaa8('0x31')]=_[_0xcaa8('0x32')](_0x531d37[_0xcaa8('0x31')]);_0x301507[_0xcaa8('0x33')]=_[_0xcaa8('0x34')](_0x301507[_0xcaa8('0x30')],_0x301507[_0xcaa8('0x31')]);_0x2738b3[_0xcaa8('0x35')]=_['intersection'](_0x301507[_0xcaa8('0x30')],qs[_0xcaa8('0x36')](_0x531d37['query']['fields']));_0x2738b3['attributes']=_0x2738b3[_0xcaa8('0x35')][_0xcaa8('0x37')]?_0x2738b3[_0xcaa8('0x35')]:_0x301507[_0xcaa8('0x30')];if(!_0x531d37[_0xcaa8('0x31')][_0xcaa8('0x38')]('nolimit')){_0x2738b3[_0xcaa8('0x39')]=qs[_0xcaa8('0x39')](_0x531d37[_0xcaa8('0x31')][_0xcaa8('0x39')]);_0x2738b3[_0xcaa8('0x1c')]=qs[_0xcaa8('0x1c')](_0x531d37[_0xcaa8('0x31')]['offset']);}_0x2738b3['order']=qs['sort'](_0x531d37[_0xcaa8('0x31')][_0xcaa8('0x3a')]);_0x2738b3[_0xcaa8('0x3b')]=qs['filters'](_[_0xcaa8('0x3c')](_0x531d37['query'],_0x301507[_0xcaa8('0x33')]),_0x22a88f);if(_0x531d37[_0xcaa8('0x31')][_0xcaa8('0x3d')]){_0x2738b3[_0xcaa8('0x3b')]=_['merge'](_0x2738b3[_0xcaa8('0x3b')],{'$or':_[_0xcaa8('0x2a')](_0x22a88f,function(_0x16516d){if(_0x16516d[_0xcaa8('0x2e')]!==_0xcaa8('0x3e')){var _0xc7e89c={};_0xc7e89c[_0x16516d[_0xcaa8('0x27')]]={'$like':'%'+_0x531d37[_0xcaa8('0x31')]['filter']+'%'};return _0xc7e89c;}})});}_0x2738b3=_[_0xcaa8('0x3f')]({},_0x2738b3,_0x531d37[_0xcaa8('0x40')]);var _0x6882a0={'where':_0x2738b3[_0xcaa8('0x3b')]};return db[_0xcaa8('0x2b')][_0xcaa8('0x1b')](_0x6882a0)[_0xcaa8('0x22')](function(_0x3e6a8a){_0x2bdad3[_0xcaa8('0x1b')]=_0x3e6a8a;if(_0x531d37['query'][_0xcaa8('0x41')]){_0x2738b3[_0xcaa8('0x42')]=[{'all':!![]}];}return db[_0xcaa8('0x2b')][_0xcaa8('0x43')](_0x2738b3);})[_0xcaa8('0x22')](function(_0x536d21){_0x2bdad3[_0xcaa8('0x44')]=_0x536d21;return _0x2bdad3;})[_0xcaa8('0x22')](respondWithFilteredResult(_0x17f68c,_0x2738b3))[_0xcaa8('0x45')](handleError(_0x17f68c,null));};exports[_0xcaa8('0x46')]=function(_0x33b7ca,_0x5a3260){var _0xed42c4={'raw':!![],'where':{'id':_0x33b7ca[_0xcaa8('0x47')]['id']}},_0x4b25b0={};_0x4b25b0[_0xcaa8('0x30')]=_[_0xcaa8('0x32')](db[_0xcaa8('0x2b')]['rawAttributes']);_0x4b25b0[_0xcaa8('0x31')]=_[_0xcaa8('0x32')](_0x33b7ca[_0xcaa8('0x31')]);_0x4b25b0['filters']=_['intersection'](_0x4b25b0['model'],_0x4b25b0[_0xcaa8('0x31')]);_0xed42c4[_0xcaa8('0x35')]=_[_0xcaa8('0x34')](_0x4b25b0[_0xcaa8('0x30')],qs[_0xcaa8('0x36')](_0x33b7ca[_0xcaa8('0x31')][_0xcaa8('0x36')]));_0xed42c4['attributes']=_0xed42c4[_0xcaa8('0x35')][_0xcaa8('0x37')]?_0xed42c4[_0xcaa8('0x35')]:_0x4b25b0['model'];if(_0x33b7ca[_0xcaa8('0x31')][_0xcaa8('0x41')]){_0xed42c4[_0xcaa8('0x42')]=[{'all':!![]}];}_0xed42c4=_['merge']({},_0xed42c4,_0x33b7ca[_0xcaa8('0x40')]);return db['OpenchannelApplication']['find'](_0xed42c4)[_0xcaa8('0x22')](handleEntityNotFound(_0x5a3260,null))[_0xcaa8('0x22')](respondWithResult(_0x5a3260,null))['catch'](handleError(_0x5a3260,null));};exports[_0xcaa8('0x48')]=function(_0x25bde5,_0x18e3f4){return db[_0xcaa8('0x2b')][_0xcaa8('0x48')](_0x25bde5[_0xcaa8('0x49')],{})[_0xcaa8('0x22')](respondWithResult(_0x18e3f4,0xc9))['catch'](handleError(_0x18e3f4,null));};exports[_0xcaa8('0x4a')]=function(_0x2989db,_0x39a5f7){if(_0x2989db[_0xcaa8('0x49')]['id']){delete _0x2989db['body']['id'];}return db[_0xcaa8('0x2b')][_0xcaa8('0x4b')]({'where':{'id':_0x2989db[_0xcaa8('0x47')]['id']}})[_0xcaa8('0x22')](handleEntityNotFound(_0x39a5f7,null))[_0xcaa8('0x22')](saveUpdates(_0x2989db[_0xcaa8('0x49')],null))[_0xcaa8('0x22')](respondWithResult(_0x39a5f7,null))[_0xcaa8('0x45')](handleError(_0x39a5f7,null));};exports[_0xcaa8('0x23')]=function(_0x7d804c,_0x3f3fd4){return db[_0xcaa8('0x2b')][_0xcaa8('0x4b')]({'where':{'id':_0x7d804c[_0xcaa8('0x47')]['id']}})['then'](handleEntityNotFound(_0x3f3fd4,null))[_0xcaa8('0x22')](removeEntity(_0x3f3fd4,null))['catch'](handleError(_0x3f3fd4,null));};