fcf037748ddf7d155a563697d341a814d79c7999
[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 _0xe73f=['sendStatus','status','json','offset','undefined','count','limit','set','Content-Range','apply','reject','update','then','stack','name','send','index','map','OpenchannelApplication','fieldName','query','keys','filters','intersection','attributes','model','fields','length','hasOwnProperty','nolimit','sort','where','filter','VIRTUAL','merge','includeAll','findAll','rows','catch','show','rawAttributes','include','options','create','body','find','params','destroy','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../config/license/hardware','api','../../config/utils','../../config/license/util','../../mysqldb'];(function(_0x158661,_0x1b1903){var _0x29ff61=function(_0x7ca1ae){while(--_0x7ca1ae){_0x158661['push'](_0x158661['shift']());}};_0x29ff61(++_0x1b1903);}(_0xe73f,0x10e));var _0xfe73=function(_0x5f09c5,_0x2bfca0){_0x5f09c5=_0x5f09c5-0x0;var _0x426ad9=_0xe73f[_0x5f09c5];return _0x426ad9;};'use strict';var emlformat=require(_0xfe73('0x0'));var rimraf=require(_0xfe73('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xfe73('0x2'));var rp=require(_0xfe73('0x3'));var moment=require(_0xfe73('0x4'));var BPromise=require(_0xfe73('0x5'));var Mustache=require(_0xfe73('0x6'));var util=require(_0xfe73('0x7'));var path=require(_0xfe73('0x8'));var sox=require('sox');var csv=require(_0xfe73('0x9'));var ejs=require(_0xfe73('0xa'));var fs=require('fs');var fs_extra=require(_0xfe73('0xb'));var _=require(_0xfe73('0xc'));var squel=require(_0xfe73('0xd'));var crypto=require(_0xfe73('0xe'));var jsforce=require(_0xfe73('0xf'));var deskjs=require(_0xfe73('0x10'));var toCsv=require(_0xfe73('0x9'));var querystring=require(_0xfe73('0x11'));var Papa=require(_0xfe73('0x12'));var Redis=require(_0xfe73('0x13'));var authService=require(_0xfe73('0x14'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xfe73('0x15'));var logger=require('../../config/logger')(_0xfe73('0x16'));var utils=require(_0xfe73('0x17'));var config=require('../../config/environment');var licenseUtil=require(_0xfe73('0x18'));var db=require(_0xfe73('0x19'))['db'];function respondWithStatusCode(_0x3fa5b5,_0x242fb8){_0x242fb8=_0x242fb8||0xcc;return function(_0x25e189){if(_0x25e189){return _0x3fa5b5[_0xfe73('0x1a')](_0x242fb8);}return _0x3fa5b5[_0xfe73('0x1b')](_0x242fb8)['end']();};}function respondWithResult(_0x57005a,_0x5c38f3){_0x5c38f3=_0x5c38f3||0xc8;return function(_0x10e69c){if(_0x10e69c){return _0x57005a['status'](_0x5c38f3)[_0xfe73('0x1c')](_0x10e69c);}};}function respondWithFilteredResult(_0x10d19d,_0x35385b){return function(_0x27378c){if(_0x27378c){var _0x5d869b=typeof _0x35385b[_0xfe73('0x1d')]===_0xfe73('0x1e')&&typeof _0x35385b['limit']===_0xfe73('0x1e');var _0x310c79=_0x27378c['count'];var _0x62a5b0=_0x5d869b?0x0:_0x35385b[_0xfe73('0x1d')];var _0x2d8ea3=_0x5d869b?_0x27378c[_0xfe73('0x1f')]:_0x35385b[_0xfe73('0x1d')]+_0x35385b[_0xfe73('0x20')];var _0x8caffd;if(_0x2d8ea3>=_0x310c79){_0x2d8ea3=_0x310c79;_0x8caffd=0xc8;}else{_0x8caffd=0xce;}_0x10d19d['status'](_0x8caffd);return _0x10d19d[_0xfe73('0x21')](_0xfe73('0x22'),_0x62a5b0+'-'+_0x2d8ea3+'/'+_0x310c79)[_0xfe73('0x1c')](_0x27378c);}return null;};}function patchUpdates(_0x5650ee){return function(_0x310556){try{jsonpatch[_0xfe73('0x23')](_0x310556,_0x5650ee,!![]);}catch(_0x4227eb){return BPromise[_0xfe73('0x24')](_0x4227eb);}return _0x310556['save']();};}function saveUpdates(_0x48e710,_0x4105c4){return function(_0x14e647){if(_0x14e647){return _0x14e647[_0xfe73('0x25')](_0x48e710)['then'](function(_0x110a96){return _0x110a96;});}return null;};}function removeEntity(_0xaf9d2,_0x18ba18){return function(_0xe13090){if(_0xe13090){return _0xe13090['destroy']()[_0xfe73('0x26')](function(){_0xaf9d2[_0xfe73('0x1b')](0xcc)['end']();});}};}function handleEntityNotFound(_0x5c8a11,_0x453290){return function(_0x10c704){if(!_0x10c704){_0x5c8a11['sendStatus'](0x194);}return _0x10c704;};}function handleError(_0x5b91e5,_0x1ce725){_0x1ce725=_0x1ce725||0x1f4;return function(_0x51490f){logger['error'](_0x51490f[_0xfe73('0x27')]);if(_0x51490f[_0xfe73('0x28')]){delete _0x51490f[_0xfe73('0x28')];}_0x5b91e5[_0xfe73('0x1b')](_0x1ce725)[_0xfe73('0x29')](_0x51490f);};}exports[_0xfe73('0x2a')]=function(_0x594a65,_0x231534){var _0x50303f={},_0x477420={},_0x18470f={'count':0x0,'rows':[]};var _0x3570b3=_[_0xfe73('0x2b')](db[_0xfe73('0x2c')]['rawAttributes'],function(_0x4d8020){return{'name':_0x4d8020[_0xfe73('0x2d')],'type':_0x4d8020['type']['key']};});_0x477420['model']=_[_0xfe73('0x2b')](_0x3570b3,_0xfe73('0x28'));_0x477420[_0xfe73('0x2e')]=_[_0xfe73('0x2f')](_0x594a65[_0xfe73('0x2e')]);_0x477420[_0xfe73('0x30')]=_[_0xfe73('0x31')](_0x477420['model'],_0x477420['query']);_0x50303f[_0xfe73('0x32')]=_[_0xfe73('0x31')](_0x477420[_0xfe73('0x33')],qs['fields'](_0x594a65[_0xfe73('0x2e')][_0xfe73('0x34')]));_0x50303f[_0xfe73('0x32')]=_0x50303f[_0xfe73('0x32')][_0xfe73('0x35')]?_0x50303f['attributes']:_0x477420[_0xfe73('0x33')];if(!_0x594a65[_0xfe73('0x2e')][_0xfe73('0x36')](_0xfe73('0x37'))){_0x50303f[_0xfe73('0x20')]=qs[_0xfe73('0x20')](_0x594a65[_0xfe73('0x2e')][_0xfe73('0x20')]);_0x50303f[_0xfe73('0x1d')]=qs['offset'](_0x594a65[_0xfe73('0x2e')][_0xfe73('0x1d')]);}_0x50303f['order']=qs[_0xfe73('0x38')](_0x594a65[_0xfe73('0x2e')]['sort']);_0x50303f[_0xfe73('0x39')]=qs['filters'](_['pick'](_0x594a65['query'],_0x477420['filters']),_0x3570b3);if(_0x594a65[_0xfe73('0x2e')][_0xfe73('0x3a')]){_0x50303f[_0xfe73('0x39')]=_['merge'](_0x50303f['where'],{'$or':_[_0xfe73('0x2b')](_0x3570b3,function(_0xcbed4a){if(_0xcbed4a['type']!==_0xfe73('0x3b')){var _0x43b4c1={};_0x43b4c1[_0xcbed4a[_0xfe73('0x28')]]={'$like':'%'+_0x594a65[_0xfe73('0x2e')][_0xfe73('0x3a')]+'%'};return _0x43b4c1;}})});}_0x50303f=_[_0xfe73('0x3c')]({},_0x50303f,_0x594a65['options']);var _0x3fb14a={'where':_0x50303f['where']};return db['OpenchannelApplication'][_0xfe73('0x1f')](_0x3fb14a)['then'](function(_0xf0fcdc){_0x18470f[_0xfe73('0x1f')]=_0xf0fcdc;if(_0x594a65[_0xfe73('0x2e')][_0xfe73('0x3d')]){_0x50303f['include']=[{'all':!![]}];}return db[_0xfe73('0x2c')][_0xfe73('0x3e')](_0x50303f);})[_0xfe73('0x26')](function(_0x494b9f){_0x18470f[_0xfe73('0x3f')]=_0x494b9f;return _0x18470f;})[_0xfe73('0x26')](respondWithFilteredResult(_0x231534,_0x50303f))[_0xfe73('0x40')](handleError(_0x231534,null));};exports[_0xfe73('0x41')]=function(_0x320eab,_0x31c0db){var _0x38fdfe={'raw':!![],'where':{'id':_0x320eab['params']['id']}},_0x2d48dd={};_0x2d48dd[_0xfe73('0x33')]=_[_0xfe73('0x2f')](db[_0xfe73('0x2c')][_0xfe73('0x42')]);_0x2d48dd[_0xfe73('0x2e')]=_[_0xfe73('0x2f')](_0x320eab[_0xfe73('0x2e')]);_0x2d48dd[_0xfe73('0x30')]=_[_0xfe73('0x31')](_0x2d48dd['model'],_0x2d48dd[_0xfe73('0x2e')]);_0x38fdfe[_0xfe73('0x32')]=_[_0xfe73('0x31')](_0x2d48dd[_0xfe73('0x33')],qs[_0xfe73('0x34')](_0x320eab[_0xfe73('0x2e')][_0xfe73('0x34')]));_0x38fdfe['attributes']=_0x38fdfe[_0xfe73('0x32')][_0xfe73('0x35')]?_0x38fdfe[_0xfe73('0x32')]:_0x2d48dd['model'];if(_0x320eab[_0xfe73('0x2e')][_0xfe73('0x3d')]){_0x38fdfe[_0xfe73('0x43')]=[{'all':!![]}];}_0x38fdfe=_['merge']({},_0x38fdfe,_0x320eab[_0xfe73('0x44')]);return db['OpenchannelApplication']['find'](_0x38fdfe)[_0xfe73('0x26')](handleEntityNotFound(_0x31c0db,null))['then'](respondWithResult(_0x31c0db,null))['catch'](handleError(_0x31c0db,null));};exports[_0xfe73('0x45')]=function(_0x5e0b50,_0x5e3450){return db[_0xfe73('0x2c')][_0xfe73('0x45')](_0x5e0b50['body'],{})[_0xfe73('0x26')](respondWithResult(_0x5e3450,0xc9))['catch'](handleError(_0x5e3450,null));};exports[_0xfe73('0x25')]=function(_0x56d802,_0x303edd){if(_0x56d802[_0xfe73('0x46')]['id']){delete _0x56d802[_0xfe73('0x46')]['id'];}return db[_0xfe73('0x2c')][_0xfe73('0x47')]({'where':{'id':_0x56d802[_0xfe73('0x48')]['id']}})[_0xfe73('0x26')](handleEntityNotFound(_0x303edd,null))['then'](saveUpdates(_0x56d802[_0xfe73('0x46')],null))[_0xfe73('0x26')](respondWithResult(_0x303edd,null))['catch'](handleError(_0x303edd,null));};exports[_0xfe73('0x49')]=function(_0x4562be,_0x4b060a){return db['OpenchannelApplication'][_0xfe73('0x47')]({'where':{'id':_0x4562be[_0xfe73('0x48')]['id']}})['then'](handleEntityNotFound(_0x4b060a,null))[_0xfe73('0x26')](removeEntity(_0x4b060a,null))[_0xfe73('0x40')](handleError(_0x4b060a,null));};