6b4017436f71131b70eae48ec35594ec436199ae
[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 _0x5d7c=['OpenchannelApplication','rawAttributes','fieldName','type','keys','query','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','filter','merge','VIRTUAL','options','include','show','params','find','catch','body','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','limit','undefined','count','set','Content-Range','apply','save','update','then','error','stack','name','send','map'];(function(_0x4565bf,_0x5ad9d6){var _0x5610ba=function(_0x170988){while(--_0x170988){_0x4565bf['push'](_0x4565bf['shift']());}};_0x5610ba(++_0x5ad9d6);}(_0x5d7c,0x14f));var _0xc5d7=function(_0x249a2d,_0xf4c61e){_0x249a2d=_0x249a2d-0x0;var _0x59fcc2=_0x5d7c[_0x249a2d];return _0x59fcc2;};'use strict';var emlformat=require(_0xc5d7('0x0'));var rimraf=require(_0xc5d7('0x1'));var zipdir=require(_0xc5d7('0x2'));var jsonpatch=require(_0xc5d7('0x3'));var rp=require(_0xc5d7('0x4'));var moment=require(_0xc5d7('0x5'));var BPromise=require(_0xc5d7('0x6'));var Mustache=require(_0xc5d7('0x7'));var util=require(_0xc5d7('0x8'));var path=require(_0xc5d7('0x9'));var sox=require(_0xc5d7('0xa'));var csv=require(_0xc5d7('0xb'));var ejs=require(_0xc5d7('0xc'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xc5d7('0xd'));var squel=require(_0xc5d7('0xe'));var crypto=require(_0xc5d7('0xf'));var jsforce=require(_0xc5d7('0x10'));var deskjs=require(_0xc5d7('0x11'));var toCsv=require(_0xc5d7('0xb'));var querystring=require(_0xc5d7('0x12'));var Papa=require(_0xc5d7('0x13'));var Redis=require(_0xc5d7('0x14'));var authService=require(_0xc5d7('0x15'));var qs=require(_0xc5d7('0x16'));var as=require(_0xc5d7('0x17'));var hardwareService=require(_0xc5d7('0x18'));var logger=require(_0xc5d7('0x19'))(_0xc5d7('0x1a'));var utils=require(_0xc5d7('0x1b'));var config=require(_0xc5d7('0x1c'));var licenseUtil=require(_0xc5d7('0x1d'));var db=require(_0xc5d7('0x1e'))['db'];function respondWithStatusCode(_0x4f189f,_0x3998ce){_0x3998ce=_0x3998ce||0xcc;return function(_0x349c6a){if(_0x349c6a){return _0x4f189f[_0xc5d7('0x1f')](_0x3998ce);}return _0x4f189f[_0xc5d7('0x20')](_0x3998ce)[_0xc5d7('0x21')]();};}function respondWithResult(_0x278043,_0x5bac70){_0x5bac70=_0x5bac70||0xc8;return function(_0x20de0e){if(_0x20de0e){return _0x278043[_0xc5d7('0x20')](_0x5bac70)[_0xc5d7('0x22')](_0x20de0e);}};}function respondWithFilteredResult(_0x5b0868,_0x359510){return function(_0x3e19da){if(_0x3e19da){var _0x8d3f0d=typeof _0x359510[_0xc5d7('0x23')]==='undefined'&&typeof _0x359510[_0xc5d7('0x24')]===_0xc5d7('0x25');var _0x2aef1a=_0x3e19da['count'];var _0x31bf42=_0x8d3f0d?0x0:_0x359510[_0xc5d7('0x23')];var _0x52d668=_0x8d3f0d?_0x3e19da[_0xc5d7('0x26')]:_0x359510[_0xc5d7('0x23')]+_0x359510['limit'];var _0x1300b6;if(_0x52d668>=_0x2aef1a){_0x52d668=_0x2aef1a;_0x1300b6=0xc8;}else{_0x1300b6=0xce;}_0x5b0868[_0xc5d7('0x20')](_0x1300b6);return _0x5b0868[_0xc5d7('0x27')](_0xc5d7('0x28'),_0x31bf42+'-'+_0x52d668+'/'+_0x2aef1a)[_0xc5d7('0x22')](_0x3e19da);}return null;};}function patchUpdates(_0x592c76){return function(_0xabaa57){try{jsonpatch[_0xc5d7('0x29')](_0xabaa57,_0x592c76,!![]);}catch(_0x24a453){return BPromise['reject'](_0x24a453);}return _0xabaa57[_0xc5d7('0x2a')]();};}function saveUpdates(_0x643479,_0x570286){return function(_0xcf3327){if(_0xcf3327){return _0xcf3327[_0xc5d7('0x2b')](_0x643479)[_0xc5d7('0x2c')](function(_0x4c8bb3){return _0x4c8bb3;});}return null;};}function removeEntity(_0x145963,_0x4dd90c){return function(_0x766987){if(_0x766987){return _0x766987['destroy']()[_0xc5d7('0x2c')](function(){_0x145963[_0xc5d7('0x20')](0xcc)[_0xc5d7('0x21')]();});}};}function handleEntityNotFound(_0x27ccfe,_0x803f13){return function(_0x129c0b){if(!_0x129c0b){_0x27ccfe[_0xc5d7('0x1f')](0x194);}return _0x129c0b;};}function handleError(_0x420d81,_0xbaef8d){_0xbaef8d=_0xbaef8d||0x1f4;return function(_0x85784a){logger[_0xc5d7('0x2d')](_0x85784a[_0xc5d7('0x2e')]);if(_0x85784a[_0xc5d7('0x2f')]){delete _0x85784a[_0xc5d7('0x2f')];}_0x420d81[_0xc5d7('0x20')](_0xbaef8d)[_0xc5d7('0x30')](_0x85784a);};}exports['index']=function(_0xb186b7,_0x2c8350){var _0x48fbad={},_0x563750={},_0x56f793={'count':0x0,'rows':[]};var _0x44365c=_[_0xc5d7('0x31')](db[_0xc5d7('0x32')][_0xc5d7('0x33')],function(_0x3c42d7){return{'name':_0x3c42d7[_0xc5d7('0x34')],'type':_0x3c42d7[_0xc5d7('0x35')]['key']};});_0x563750['model']=_[_0xc5d7('0x31')](_0x44365c,_0xc5d7('0x2f'));_0x563750['query']=_[_0xc5d7('0x36')](_0xb186b7[_0xc5d7('0x37')]);_0x563750[_0xc5d7('0x38')]=_[_0xc5d7('0x39')](_0x563750[_0xc5d7('0x3a')],_0x563750[_0xc5d7('0x37')]);_0x48fbad[_0xc5d7('0x3b')]=_[_0xc5d7('0x39')](_0x563750[_0xc5d7('0x3a')],qs[_0xc5d7('0x3c')](_0xb186b7[_0xc5d7('0x37')][_0xc5d7('0x3c')]));_0x48fbad[_0xc5d7('0x3b')]=_0x48fbad[_0xc5d7('0x3b')][_0xc5d7('0x3d')]?_0x48fbad[_0xc5d7('0x3b')]:_0x563750[_0xc5d7('0x3a')];if(!_0xb186b7[_0xc5d7('0x37')][_0xc5d7('0x3e')](_0xc5d7('0x3f'))){_0x48fbad['limit']=qs[_0xc5d7('0x24')](_0xb186b7['query'][_0xc5d7('0x24')]);_0x48fbad[_0xc5d7('0x23')]=qs['offset'](_0xb186b7['query'][_0xc5d7('0x23')]);}_0x48fbad['order']=qs[_0xc5d7('0x40')](_0xb186b7[_0xc5d7('0x37')][_0xc5d7('0x40')]);_0x48fbad[_0xc5d7('0x41')]=qs['filters'](_[_0xc5d7('0x42')](_0xb186b7['query'],_0x563750['filters']),_0x44365c);if(_0xb186b7['query'][_0xc5d7('0x43')]){_0x48fbad[_0xc5d7('0x41')]=_[_0xc5d7('0x44')](_0x48fbad['where'],{'$or':_[_0xc5d7('0x31')](_0x44365c,function(_0x4f0c23){if(_0x4f0c23[_0xc5d7('0x35')]!==_0xc5d7('0x45')){var _0x373ad0={};_0x373ad0[_0x4f0c23[_0xc5d7('0x2f')]]={'$like':'%'+_0xb186b7[_0xc5d7('0x37')]['filter']+'%'};return _0x373ad0;}})});}_0x48fbad=_['merge']({},_0x48fbad,_0xb186b7[_0xc5d7('0x46')]);var _0x21e7d8={'where':_0x48fbad[_0xc5d7('0x41')]};return db[_0xc5d7('0x32')][_0xc5d7('0x26')](_0x21e7d8)[_0xc5d7('0x2c')](function(_0x593015){_0x56f793[_0xc5d7('0x26')]=_0x593015;if(_0xb186b7['query']['includeAll']){_0x48fbad[_0xc5d7('0x47')]=[{'all':!![]}];}return db[_0xc5d7('0x32')]['findAll'](_0x48fbad);})[_0xc5d7('0x2c')](function(_0xfb612f){_0x56f793['rows']=_0xfb612f;return _0x56f793;})[_0xc5d7('0x2c')](respondWithFilteredResult(_0x2c8350,_0x48fbad))['catch'](handleError(_0x2c8350,null));};exports[_0xc5d7('0x48')]=function(_0x39a590,_0x3627ce){var _0x12ace5={'raw':!![],'where':{'id':_0x39a590[_0xc5d7('0x49')]['id']}},_0x2142e0={};_0x2142e0['model']=_[_0xc5d7('0x36')](db[_0xc5d7('0x32')]['rawAttributes']);_0x2142e0[_0xc5d7('0x37')]=_['keys'](_0x39a590['query']);_0x2142e0[_0xc5d7('0x38')]=_['intersection'](_0x2142e0['model'],_0x2142e0[_0xc5d7('0x37')]);_0x12ace5[_0xc5d7('0x3b')]=_[_0xc5d7('0x39')](_0x2142e0[_0xc5d7('0x3a')],qs['fields'](_0x39a590[_0xc5d7('0x37')][_0xc5d7('0x3c')]));_0x12ace5[_0xc5d7('0x3b')]=_0x12ace5[_0xc5d7('0x3b')][_0xc5d7('0x3d')]?_0x12ace5[_0xc5d7('0x3b')]:_0x2142e0[_0xc5d7('0x3a')];if(_0x39a590[_0xc5d7('0x37')]['includeAll']){_0x12ace5['include']=[{'all':!![]}];}_0x12ace5=_[_0xc5d7('0x44')]({},_0x12ace5,_0x39a590[_0xc5d7('0x46')]);return db[_0xc5d7('0x32')][_0xc5d7('0x4a')](_0x12ace5)[_0xc5d7('0x2c')](handleEntityNotFound(_0x3627ce,null))[_0xc5d7('0x2c')](respondWithResult(_0x3627ce,null))[_0xc5d7('0x4b')](handleError(_0x3627ce,null));};exports['create']=function(_0x47f2c0,_0x2d9c0d){return db['OpenchannelApplication']['create'](_0x47f2c0[_0xc5d7('0x4c')],{})[_0xc5d7('0x2c')](respondWithResult(_0x2d9c0d,0xc9))[_0xc5d7('0x4b')](handleError(_0x2d9c0d,null));};exports['update']=function(_0x48e8ac,_0x2caea9){if(_0x48e8ac['body']['id']){delete _0x48e8ac['body']['id'];}return db[_0xc5d7('0x32')][_0xc5d7('0x4a')]({'where':{'id':_0x48e8ac[_0xc5d7('0x49')]['id']}})[_0xc5d7('0x2c')](handleEntityNotFound(_0x2caea9,null))[_0xc5d7('0x2c')](saveUpdates(_0x48e8ac[_0xc5d7('0x4c')],null))['then'](respondWithResult(_0x2caea9,null))['catch'](handleError(_0x2caea9,null));};exports['destroy']=function(_0xafccaf,_0x39ede0){return db[_0xc5d7('0x32')][_0xc5d7('0x4a')]({'where':{'id':_0xafccaf[_0xc5d7('0x49')]['id']}})[_0xc5d7('0x2c')](handleEntityNotFound(_0x39ede0,null))[_0xc5d7('0x2c')](removeEntity(_0x39ede0,null))[_0xc5d7('0x4b')](handleError(_0x39ede0,null));};