Built motion from commit b5996064.|2.6.21
[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 _0xb7ad=['catch','params','find','create','body','eml-format','request-promise','moment','bluebird','mustache','util','path','ejs','fs-extra','lodash','squel','crypto','jsforce','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','limit','undefined','count','Content-Range','apply','reject','save','update','then','destroy','error','stack','name','send','index','map','OpenchannelApplication','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','filter','merge','VIRTUAL','findAll','rows'];(function(_0x12cffd,_0x21d257){var _0x423f06=function(_0x59b995){while(--_0x59b995){_0x12cffd['push'](_0x12cffd['shift']());}};_0x423f06(++_0x21d257);}(_0xb7ad,0x1bb));var _0xdb7a=function(_0x2b2e9f,_0x231e57){_0x2b2e9f=_0x2b2e9f-0x0;var _0x3e7dfc=_0xb7ad[_0x2b2e9f];return _0x3e7dfc;};'use strict';var emlformat=require(_0xdb7a('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0xdb7a('0x1'));var moment=require(_0xdb7a('0x2'));var BPromise=require(_0xdb7a('0x3'));var Mustache=require(_0xdb7a('0x4'));var util=require(_0xdb7a('0x5'));var path=require(_0xdb7a('0x6'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xdb7a('0x7'));var fs=require('fs');var fs_extra=require(_0xdb7a('0x8'));var _=require(_0xdb7a('0x9'));var squel=require(_0xdb7a('0xa'));var crypto=require(_0xdb7a('0xb'));var jsforce=require(_0xdb7a('0xc'));var deskjs=require('desk.js');var toCsv=require(_0xdb7a('0xd'));var querystring=require(_0xdb7a('0xe'));var Papa=require(_0xdb7a('0xf'));var Redis=require(_0xdb7a('0x10'));var authService=require(_0xdb7a('0x11'));var qs=require(_0xdb7a('0x12'));var as=require(_0xdb7a('0x13'));var hardwareService=require(_0xdb7a('0x14'));var logger=require('../../config/logger')(_0xdb7a('0x15'));var utils=require(_0xdb7a('0x16'));var config=require(_0xdb7a('0x17'));var licenseUtil=require(_0xdb7a('0x18'));var db=require(_0xdb7a('0x19'))['db'];function respondWithStatusCode(_0x50f309,_0x343afe){_0x343afe=_0x343afe||0xcc;return function(_0x320d99){if(_0x320d99){return _0x50f309['sendStatus'](_0x343afe);}return _0x50f309[_0xdb7a('0x1a')](_0x343afe)[_0xdb7a('0x1b')]();};}function respondWithResult(_0x3f5391,_0x1a2445){_0x1a2445=_0x1a2445||0xc8;return function(_0x358bc1){if(_0x358bc1){return _0x3f5391['status'](_0x1a2445)[_0xdb7a('0x1c')](_0x358bc1);}};}function respondWithFilteredResult(_0x3d0206,_0x4246c1){return function(_0x335274){if(_0x335274){var _0x1a31a7=typeof _0x4246c1[_0xdb7a('0x1d')]==='undefined'&&typeof _0x4246c1[_0xdb7a('0x1e')]===_0xdb7a('0x1f');var _0x574d1d=_0x335274['count'];var _0x12ae90=_0x1a31a7?0x0:_0x4246c1[_0xdb7a('0x1d')];var _0x214b87=_0x1a31a7?_0x335274[_0xdb7a('0x20')]:_0x4246c1[_0xdb7a('0x1d')]+_0x4246c1[_0xdb7a('0x1e')];var _0x4c4844;if(_0x214b87>=_0x574d1d){_0x214b87=_0x574d1d;_0x4c4844=0xc8;}else{_0x4c4844=0xce;}_0x3d0206[_0xdb7a('0x1a')](_0x4c4844);return _0x3d0206['set'](_0xdb7a('0x21'),_0x12ae90+'-'+_0x214b87+'/'+_0x574d1d)[_0xdb7a('0x1c')](_0x335274);}return null;};}function patchUpdates(_0x17fdcf){return function(_0x347751){try{jsonpatch[_0xdb7a('0x22')](_0x347751,_0x17fdcf,!![]);}catch(_0x54414a){return BPromise[_0xdb7a('0x23')](_0x54414a);}return _0x347751[_0xdb7a('0x24')]();};}function saveUpdates(_0x51a15b,_0x4dcfbb){return function(_0x1c8574){if(_0x1c8574){return _0x1c8574[_0xdb7a('0x25')](_0x51a15b)[_0xdb7a('0x26')](function(_0x38aef1){return _0x38aef1;});}return null;};}function removeEntity(_0x47dadb,_0x81bdb4){return function(_0xb762b5){if(_0xb762b5){return _0xb762b5[_0xdb7a('0x27')]()[_0xdb7a('0x26')](function(){_0x47dadb[_0xdb7a('0x1a')](0xcc)[_0xdb7a('0x1b')]();});}};}function handleEntityNotFound(_0x547777,_0x30004d){return function(_0xa7e589){if(!_0xa7e589){_0x547777['sendStatus'](0x194);}return _0xa7e589;};}function handleError(_0x4d7c8c,_0x285616){_0x285616=_0x285616||0x1f4;return function(_0x1b361f){logger[_0xdb7a('0x28')](_0x1b361f[_0xdb7a('0x29')]);if(_0x1b361f[_0xdb7a('0x2a')]){delete _0x1b361f[_0xdb7a('0x2a')];}_0x4d7c8c['status'](_0x285616)[_0xdb7a('0x2b')](_0x1b361f);};}exports[_0xdb7a('0x2c')]=function(_0x4e2e38,_0x30c59b){var _0xb0cfd3={},_0x33ca53={},_0x3cdb4e={'count':0x0,'rows':[]};var _0x327ce0=_[_0xdb7a('0x2d')](db[_0xdb7a('0x2e')][_0xdb7a('0x2f')],function(_0x1d13b3){return{'name':_0x1d13b3[_0xdb7a('0x30')],'type':_0x1d13b3[_0xdb7a('0x31')][_0xdb7a('0x32')]};});_0x33ca53[_0xdb7a('0x33')]=_[_0xdb7a('0x2d')](_0x327ce0,_0xdb7a('0x2a'));_0x33ca53[_0xdb7a('0x34')]=_[_0xdb7a('0x35')](_0x4e2e38[_0xdb7a('0x34')]);_0x33ca53[_0xdb7a('0x36')]=_[_0xdb7a('0x37')](_0x33ca53['model'],_0x33ca53['query']);_0xb0cfd3[_0xdb7a('0x38')]=_[_0xdb7a('0x37')](_0x33ca53[_0xdb7a('0x33')],qs[_0xdb7a('0x39')](_0x4e2e38[_0xdb7a('0x34')][_0xdb7a('0x39')]));_0xb0cfd3['attributes']=_0xb0cfd3['attributes'][_0xdb7a('0x3a')]?_0xb0cfd3[_0xdb7a('0x38')]:_0x33ca53[_0xdb7a('0x33')];if(!_0x4e2e38[_0xdb7a('0x34')][_0xdb7a('0x3b')](_0xdb7a('0x3c'))){_0xb0cfd3[_0xdb7a('0x1e')]=qs['limit'](_0x4e2e38[_0xdb7a('0x34')]['limit']);_0xb0cfd3[_0xdb7a('0x1d')]=qs[_0xdb7a('0x1d')](_0x4e2e38[_0xdb7a('0x34')]['offset']);}_0xb0cfd3['order']=qs[_0xdb7a('0x3d')](_0x4e2e38[_0xdb7a('0x34')][_0xdb7a('0x3d')]);_0xb0cfd3[_0xdb7a('0x3e')]=qs['filters'](_['pick'](_0x4e2e38[_0xdb7a('0x34')],_0x33ca53[_0xdb7a('0x36')]),_0x327ce0);if(_0x4e2e38[_0xdb7a('0x34')][_0xdb7a('0x3f')]){_0xb0cfd3[_0xdb7a('0x3e')]=_[_0xdb7a('0x40')](_0xb0cfd3['where'],{'$or':_[_0xdb7a('0x2d')](_0x327ce0,function(_0x40d98a){if(_0x40d98a['type']!==_0xdb7a('0x41')){var _0x25de7a={};_0x25de7a[_0x40d98a['name']]={'$like':'%'+_0x4e2e38['query']['filter']+'%'};return _0x25de7a;}})});}_0xb0cfd3=_[_0xdb7a('0x40')]({},_0xb0cfd3,_0x4e2e38['options']);var _0x5c4bd4={'where':_0xb0cfd3[_0xdb7a('0x3e')]};return db[_0xdb7a('0x2e')][_0xdb7a('0x20')](_0x5c4bd4)['then'](function(_0x995bfb){_0x3cdb4e[_0xdb7a('0x20')]=_0x995bfb;if(_0x4e2e38[_0xdb7a('0x34')]['includeAll']){_0xb0cfd3['include']=[{'all':!![]}];}return db['OpenchannelApplication'][_0xdb7a('0x42')](_0xb0cfd3);})[_0xdb7a('0x26')](function(_0x2ad40d){_0x3cdb4e[_0xdb7a('0x43')]=_0x2ad40d;return _0x3cdb4e;})['then'](respondWithFilteredResult(_0x30c59b,_0xb0cfd3))[_0xdb7a('0x44')](handleError(_0x30c59b,null));};exports['show']=function(_0x538b15,_0x1c6369){var _0x947297={'raw':!![],'where':{'id':_0x538b15[_0xdb7a('0x45')]['id']}},_0xe55bc5={};_0xe55bc5['model']=_[_0xdb7a('0x35')](db['OpenchannelApplication'][_0xdb7a('0x2f')]);_0xe55bc5[_0xdb7a('0x34')]=_[_0xdb7a('0x35')](_0x538b15[_0xdb7a('0x34')]);_0xe55bc5[_0xdb7a('0x36')]=_[_0xdb7a('0x37')](_0xe55bc5[_0xdb7a('0x33')],_0xe55bc5[_0xdb7a('0x34')]);_0x947297['attributes']=_['intersection'](_0xe55bc5[_0xdb7a('0x33')],qs[_0xdb7a('0x39')](_0x538b15[_0xdb7a('0x34')][_0xdb7a('0x39')]));_0x947297[_0xdb7a('0x38')]=_0x947297[_0xdb7a('0x38')]['length']?_0x947297[_0xdb7a('0x38')]:_0xe55bc5['model'];if(_0x538b15[_0xdb7a('0x34')]['includeAll']){_0x947297['include']=[{'all':!![]}];}_0x947297=_[_0xdb7a('0x40')]({},_0x947297,_0x538b15['options']);return db[_0xdb7a('0x2e')][_0xdb7a('0x46')](_0x947297)[_0xdb7a('0x26')](handleEntityNotFound(_0x1c6369,null))['then'](respondWithResult(_0x1c6369,null))['catch'](handleError(_0x1c6369,null));};exports['create']=function(_0x1b616a,_0x3ed035){return db[_0xdb7a('0x2e')][_0xdb7a('0x47')](_0x1b616a[_0xdb7a('0x48')],{})[_0xdb7a('0x26')](respondWithResult(_0x3ed035,0xc9))[_0xdb7a('0x44')](handleError(_0x3ed035,null));};exports['update']=function(_0x17bd60,_0x450adc){if(_0x17bd60['body']['id']){delete _0x17bd60['body']['id'];}return db[_0xdb7a('0x2e')]['find']({'where':{'id':_0x17bd60[_0xdb7a('0x45')]['id']}})[_0xdb7a('0x26')](handleEntityNotFound(_0x450adc,null))[_0xdb7a('0x26')](saveUpdates(_0x17bd60['body'],null))['then'](respondWithResult(_0x450adc,null))[_0xdb7a('0x44')](handleError(_0x450adc,null));};exports[_0xdb7a('0x27')]=function(_0x299309,_0x3fa117){return db[_0xdb7a('0x2e')][_0xdb7a('0x46')]({'where':{'id':_0x299309['params']['id']}})['then'](handleEntityNotFound(_0x3fa117,null))['then'](removeEntity(_0x3fa117,null))['catch'](handleError(_0x3fa117,null));};