Built motion from commit da617fac.|2.6.6
[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 _0xd7d3=['../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','sendStatus','status','end','json','offset','undefined','count','limit','set','Content-Range','reject','save','update','destroy','then','error','name','send','rawAttributes','key','model','map','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','sort','where','pick','filter','merge','type','VIRTUAL','options','OpenchannelApplication','includeAll','include','findAll','rows','catch','show','params','find','create','body','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','../../components/auth/service'];(function(_0x451b9a,_0xabd4bb){var _0x656a84=function(_0x25b668){while(--_0x25b668){_0x451b9a['push'](_0x451b9a['shift']());}};_0x656a84(++_0xabd4bb);}(_0xd7d3,0x168));var _0x3d7d=function(_0x333714,_0x3370ac){_0x333714=_0x333714-0x0;var _0x4c211e=_0xd7d3[_0x333714];return _0x4c211e;};'use strict';var emlformat=require(_0x3d7d('0x0'));var rimraf=require(_0x3d7d('0x1'));var zipdir=require(_0x3d7d('0x2'));var jsonpatch=require(_0x3d7d('0x3'));var rp=require('request-promise');var moment=require(_0x3d7d('0x4'));var BPromise=require(_0x3d7d('0x5'));var Mustache=require(_0x3d7d('0x6'));var util=require(_0x3d7d('0x7'));var path=require(_0x3d7d('0x8'));var sox=require(_0x3d7d('0x9'));var csv=require(_0x3d7d('0xa'));var ejs=require(_0x3d7d('0xb'));var fs=require('fs');var fs_extra=require(_0x3d7d('0xc'));var _=require(_0x3d7d('0xd'));var squel=require(_0x3d7d('0xe'));var crypto=require(_0x3d7d('0xf'));var jsforce=require(_0x3d7d('0x10'));var deskjs=require(_0x3d7d('0x11'));var toCsv=require(_0x3d7d('0xa'));var querystring=require(_0x3d7d('0x12'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x3d7d('0x13'));var qs=require(_0x3d7d('0x14'));var as=require(_0x3d7d('0x15'));var hardwareService=require(_0x3d7d('0x16'));var logger=require(_0x3d7d('0x17'))(_0x3d7d('0x18'));var utils=require('../../config/utils');var config=require(_0x3d7d('0x19'));var licenseUtil=require(_0x3d7d('0x1a'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x20bd27,_0x4c07e8){_0x4c07e8=_0x4c07e8||0xcc;return function(_0x2c2b92){if(_0x2c2b92){return _0x20bd27[_0x3d7d('0x1b')](_0x4c07e8);}return _0x20bd27[_0x3d7d('0x1c')](_0x4c07e8)[_0x3d7d('0x1d')]();};}function respondWithResult(_0x66183f,_0x4c6884){_0x4c6884=_0x4c6884||0xc8;return function(_0x5546d7){if(_0x5546d7){return _0x66183f[_0x3d7d('0x1c')](_0x4c6884)[_0x3d7d('0x1e')](_0x5546d7);}};}function respondWithFilteredResult(_0x445bb4,_0x5c90f3){return function(_0x5282b){if(_0x5282b){var _0xc2c7fe=typeof _0x5c90f3[_0x3d7d('0x1f')]==='undefined'&&typeof _0x5c90f3['limit']===_0x3d7d('0x20');var _0x309b3b=_0x5282b[_0x3d7d('0x21')];var _0x53320a=_0xc2c7fe?0x0:_0x5c90f3[_0x3d7d('0x1f')];var _0x12972f=_0xc2c7fe?_0x5282b[_0x3d7d('0x21')]:_0x5c90f3[_0x3d7d('0x1f')]+_0x5c90f3[_0x3d7d('0x22')];var _0x5e049b;if(_0x12972f>=_0x309b3b){_0x12972f=_0x309b3b;_0x5e049b=0xc8;}else{_0x5e049b=0xce;}_0x445bb4[_0x3d7d('0x1c')](_0x5e049b);return _0x445bb4[_0x3d7d('0x23')](_0x3d7d('0x24'),_0x53320a+'-'+_0x12972f+'/'+_0x309b3b)[_0x3d7d('0x1e')](_0x5282b);}return null;};}function patchUpdates(_0x154a21){return function(_0x5c9ea3){try{jsonpatch['apply'](_0x5c9ea3,_0x154a21,!![]);}catch(_0x27036e){return BPromise[_0x3d7d('0x25')](_0x27036e);}return _0x5c9ea3[_0x3d7d('0x26')]();};}function saveUpdates(_0x24203d,_0xa3f3ab){return function(_0x318c45){if(_0x318c45){return _0x318c45[_0x3d7d('0x27')](_0x24203d)['then'](function(_0x2b9bd5){return _0x2b9bd5;});}return null;};}function removeEntity(_0x40a123,_0x211487){return function(_0x5d25e9){if(_0x5d25e9){return _0x5d25e9[_0x3d7d('0x28')]()[_0x3d7d('0x29')](function(){_0x40a123['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x4fdfbf,_0x4ad02c){return function(_0x5a8337){if(!_0x5a8337){_0x4fdfbf[_0x3d7d('0x1b')](0x194);}return _0x5a8337;};}function handleError(_0x4ff6e8,_0xbe95ff){_0xbe95ff=_0xbe95ff||0x1f4;return function(_0x560747){logger[_0x3d7d('0x2a')](_0x560747['stack']);if(_0x560747[_0x3d7d('0x2b')]){delete _0x560747[_0x3d7d('0x2b')];}_0x4ff6e8[_0x3d7d('0x1c')](_0xbe95ff)[_0x3d7d('0x2c')](_0x560747);};}exports['index']=function(_0x2e3fc3,_0x32d3e1){var _0x595ce1={},_0x4df3b1={},_0x2808c4={'count':0x0,'rows':[]};var _0x53cb08=_['map'](db['OpenchannelApplication'][_0x3d7d('0x2d')],function(_0x25e802){return{'name':_0x25e802['fieldName'],'type':_0x25e802['type'][_0x3d7d('0x2e')]};});_0x4df3b1[_0x3d7d('0x2f')]=_[_0x3d7d('0x30')](_0x53cb08,_0x3d7d('0x2b'));_0x4df3b1[_0x3d7d('0x31')]=_[_0x3d7d('0x32')](_0x2e3fc3[_0x3d7d('0x31')]);_0x4df3b1[_0x3d7d('0x33')]=_[_0x3d7d('0x34')](_0x4df3b1[_0x3d7d('0x2f')],_0x4df3b1[_0x3d7d('0x31')]);_0x595ce1[_0x3d7d('0x35')]=_[_0x3d7d('0x34')](_0x4df3b1['model'],qs['fields'](_0x2e3fc3[_0x3d7d('0x31')][_0x3d7d('0x36')]));_0x595ce1[_0x3d7d('0x35')]=_0x595ce1[_0x3d7d('0x35')]['length']?_0x595ce1[_0x3d7d('0x35')]:_0x4df3b1[_0x3d7d('0x2f')];if(!_0x2e3fc3[_0x3d7d('0x31')][_0x3d7d('0x37')](_0x3d7d('0x38'))){_0x595ce1['limit']=qs[_0x3d7d('0x22')](_0x2e3fc3[_0x3d7d('0x31')][_0x3d7d('0x22')]);_0x595ce1[_0x3d7d('0x1f')]=qs[_0x3d7d('0x1f')](_0x2e3fc3[_0x3d7d('0x31')][_0x3d7d('0x1f')]);}_0x595ce1['order']=qs[_0x3d7d('0x39')](_0x2e3fc3['query']['sort']);_0x595ce1[_0x3d7d('0x3a')]=qs['filters'](_[_0x3d7d('0x3b')](_0x2e3fc3[_0x3d7d('0x31')],_0x4df3b1[_0x3d7d('0x33')]),_0x53cb08);if(_0x2e3fc3[_0x3d7d('0x31')][_0x3d7d('0x3c')]){_0x595ce1[_0x3d7d('0x3a')]=_[_0x3d7d('0x3d')](_0x595ce1[_0x3d7d('0x3a')],{'$or':_['map'](_0x53cb08,function(_0x51c894){if(_0x51c894[_0x3d7d('0x3e')]!==_0x3d7d('0x3f')){var _0x37a76a={};_0x37a76a[_0x51c894[_0x3d7d('0x2b')]]={'$like':'%'+_0x2e3fc3[_0x3d7d('0x31')]['filter']+'%'};return _0x37a76a;}})});}_0x595ce1=_[_0x3d7d('0x3d')]({},_0x595ce1,_0x2e3fc3[_0x3d7d('0x40')]);var _0x202fc6={'where':_0x595ce1['where']};return db[_0x3d7d('0x41')][_0x3d7d('0x21')](_0x202fc6)[_0x3d7d('0x29')](function(_0x5b7317){_0x2808c4['count']=_0x5b7317;if(_0x2e3fc3[_0x3d7d('0x31')][_0x3d7d('0x42')]){_0x595ce1[_0x3d7d('0x43')]=[{'all':!![]}];}return db['OpenchannelApplication'][_0x3d7d('0x44')](_0x595ce1);})[_0x3d7d('0x29')](function(_0x14c5b7){_0x2808c4[_0x3d7d('0x45')]=_0x14c5b7;return _0x2808c4;})['then'](respondWithFilteredResult(_0x32d3e1,_0x595ce1))[_0x3d7d('0x46')](handleError(_0x32d3e1,null));};exports[_0x3d7d('0x47')]=function(_0x293c4c,_0x299c31){var _0x42a8ff={'raw':!![],'where':{'id':_0x293c4c[_0x3d7d('0x48')]['id']}},_0x10267a={};_0x10267a['model']=_['keys'](db['OpenchannelApplication'][_0x3d7d('0x2d')]);_0x10267a[_0x3d7d('0x31')]=_[_0x3d7d('0x32')](_0x293c4c[_0x3d7d('0x31')]);_0x10267a[_0x3d7d('0x33')]=_[_0x3d7d('0x34')](_0x10267a['model'],_0x10267a[_0x3d7d('0x31')]);_0x42a8ff['attributes']=_[_0x3d7d('0x34')](_0x10267a['model'],qs[_0x3d7d('0x36')](_0x293c4c['query']['fields']));_0x42a8ff[_0x3d7d('0x35')]=_0x42a8ff[_0x3d7d('0x35')]['length']?_0x42a8ff[_0x3d7d('0x35')]:_0x10267a[_0x3d7d('0x2f')];if(_0x293c4c['query'][_0x3d7d('0x42')]){_0x42a8ff[_0x3d7d('0x43')]=[{'all':!![]}];}_0x42a8ff=_[_0x3d7d('0x3d')]({},_0x42a8ff,_0x293c4c[_0x3d7d('0x40')]);return db[_0x3d7d('0x41')][_0x3d7d('0x49')](_0x42a8ff)['then'](handleEntityNotFound(_0x299c31,null))[_0x3d7d('0x29')](respondWithResult(_0x299c31,null))[_0x3d7d('0x46')](handleError(_0x299c31,null));};exports[_0x3d7d('0x4a')]=function(_0x1b1cf5,_0xa98c02){return db[_0x3d7d('0x41')]['create'](_0x1b1cf5['body'],{})[_0x3d7d('0x29')](respondWithResult(_0xa98c02,0xc9))[_0x3d7d('0x46')](handleError(_0xa98c02,null));};exports[_0x3d7d('0x27')]=function(_0x4bdca8,_0x49d262){if(_0x4bdca8[_0x3d7d('0x4b')]['id']){delete _0x4bdca8[_0x3d7d('0x4b')]['id'];}return db[_0x3d7d('0x41')][_0x3d7d('0x49')]({'where':{'id':_0x4bdca8['params']['id']}})[_0x3d7d('0x29')](handleEntityNotFound(_0x49d262,null))[_0x3d7d('0x29')](saveUpdates(_0x4bdca8[_0x3d7d('0x4b')],null))['then'](respondWithResult(_0x49d262,null))[_0x3d7d('0x46')](handleError(_0x49d262,null));};exports['destroy']=function(_0x103db1,_0x565f48){return db[_0x3d7d('0x41')][_0x3d7d('0x49')]({'where':{'id':_0x103db1[_0x3d7d('0x48')]['id']}})[_0x3d7d('0x29')](handleEntityNotFound(_0x565f48,null))[_0x3d7d('0x29')](removeEntity(_0x565f48,null))[_0x3d7d('0x46')](handleError(_0x565f48,null));};