402b03451e1aab81656e9ccfc043d2f8acb5ae86
[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 _0x3a03=['type','VIRTUAL','field','options','OpenchannelApplication','include','rows','show','params','includeAll','catch','create','body','find','eml-format','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','jsforce','desk.js','querystring','papaparse','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','status','json','count','offset','apply','reject','update','then','destroy','end','sendStatus','stack','name','send','rawAttributes','model','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','limit','order','sort','where','filter','merge','map'];(function(_0x7bc4a8,_0x19022a){var _0x4a13e9=function(_0x43ac34){while(--_0x43ac34){_0x7bc4a8['push'](_0x7bc4a8['shift']());}};_0x4a13e9(++_0x19022a);}(_0x3a03,0x94));var _0x33a0=function(_0x473171,_0x32d3aa){_0x473171=_0x473171-0x0;var _0xd9f010=_0x3a03[_0x473171];return _0xd9f010;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x33a0('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x33a0('0x1'));var rp=require(_0x33a0('0x2'));var moment=require(_0x33a0('0x3'));var BPromise=require(_0x33a0('0x4'));var Mustache=require(_0x33a0('0x5'));var util=require(_0x33a0('0x6'));var path=require(_0x33a0('0x7'));var sox=require(_0x33a0('0x8'));var csv=require(_0x33a0('0x9'));var ejs=require(_0x33a0('0xa'));var fs=require('fs');var _=require(_0x33a0('0xb'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x33a0('0xc'));var deskjs=require(_0x33a0('0xd'));var toCsv=require(_0x33a0('0x9'));var querystring=require(_0x33a0('0xe'));var Papa=require(_0x33a0('0xf'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var hardwareService=require(_0x33a0('0x10'));var logger=require(_0x33a0('0x11'))(_0x33a0('0x12'));var utils=require(_0x33a0('0x13'));var config=require(_0x33a0('0x14'));var db=require(_0x33a0('0x15'))['db'];function respondWithStatusCode(_0x420f83,_0x4d2069){_0x4d2069=_0x4d2069||0xcc;return function(_0x2cb551){if(_0x2cb551){return _0x420f83['sendStatus'](_0x4d2069);}return _0x420f83[_0x33a0('0x16')](_0x4d2069)['end']();};}function respondWithResult(_0x26cb99,_0x532d8c){_0x532d8c=_0x532d8c||0xc8;return function(_0x37e902){if(_0x37e902){return _0x26cb99[_0x33a0('0x16')](_0x532d8c)[_0x33a0('0x17')](_0x37e902);}};}function respondWithFilteredResult(_0x4932c2,_0xbd6149){return function(_0x5a0624){if(_0x5a0624){var _0x59fdc0=_0x5a0624[_0x33a0('0x18')],_0x452bce=_0xbd6149[_0x33a0('0x19')],_0x20143e=_0xbd6149[_0x33a0('0x19')]+_0xbd6149['limit'],_0x5074cc;if(_0x20143e>=_0x59fdc0){_0x20143e=_0x59fdc0;_0x5074cc=0xc8;}else{_0x5074cc=0xce;}_0x4932c2[_0x33a0('0x16')](_0x5074cc);return _0x4932c2['set']('Content-Range',_0x452bce+'-'+_0x20143e+'/'+_0x59fdc0)[_0x33a0('0x17')](_0x5a0624);}return null;};}function patchUpdates(_0x2ff1ee){return function(_0x5963a9){try{jsonpatch[_0x33a0('0x1a')](_0x5963a9,_0x2ff1ee,!![]);}catch(_0x20723e){return BPromise[_0x33a0('0x1b')](_0x20723e);}return _0x5963a9['save']();};}function saveUpdates(_0x5b8df3,_0x138469){return function(_0x59a24d){if(_0x59a24d){return _0x59a24d[_0x33a0('0x1c')](_0x5b8df3)[_0x33a0('0x1d')](function(_0x35f550){return _0x35f550;});}return null;};}function removeEntity(_0x2409ef,_0x40e909){return function(_0x22fb33){if(_0x22fb33){return _0x22fb33[_0x33a0('0x1e')]()[_0x33a0('0x1d')](function(){_0x2409ef[_0x33a0('0x16')](0xcc)[_0x33a0('0x1f')]();});}};}function handleEntityNotFound(_0x11329e,_0x107548){return function(_0x49b969){if(!_0x49b969){_0x11329e[_0x33a0('0x20')](0x194);}return _0x49b969;};}function handleError(_0x2c758f,_0x19fc4b){_0x19fc4b=_0x19fc4b||0x1f4;return function(_0x543b07){logger['error'](_0x543b07[_0x33a0('0x21')]);if(_0x543b07[_0x33a0('0x22')]){delete _0x543b07[_0x33a0('0x22')];}_0x2c758f['status'](_0x19fc4b)[_0x33a0('0x23')](_0x543b07);};}exports['index']=function(_0x564fbe,_0x2a4c02){var _0x3ace86={},_0x4d5c39={},_0x437b34={'count':0x0,'rows':[]};var _0x4fe015=db['OpenchannelApplication'][_0x33a0('0x24')];_0x4d5c39[_0x33a0('0x25')]=_[_0x33a0('0x26')](_0x4fe015);_0x4d5c39[_0x33a0('0x27')]=_[_0x33a0('0x26')](_0x564fbe[_0x33a0('0x27')]);_0x4d5c39[_0x33a0('0x28')]=_[_0x33a0('0x29')](_0x4d5c39['model'],_0x4d5c39[_0x33a0('0x27')]);_0x3ace86[_0x33a0('0x2a')]=_[_0x33a0('0x29')](_0x4d5c39[_0x33a0('0x25')],qs[_0x33a0('0x2b')](_0x564fbe[_0x33a0('0x27')][_0x33a0('0x2b')]));_0x3ace86[_0x33a0('0x2a')]=_0x3ace86['attributes'][_0x33a0('0x2c')]?_0x3ace86[_0x33a0('0x2a')]:_0x4d5c39['model'];if(!_0x564fbe[_0x33a0('0x27')][_0x33a0('0x2d')]('nolimit')){_0x3ace86[_0x33a0('0x2e')]=qs[_0x33a0('0x2e')](_0x564fbe[_0x33a0('0x27')]['limit']);_0x3ace86[_0x33a0('0x19')]=qs[_0x33a0('0x19')](_0x564fbe[_0x33a0('0x27')][_0x33a0('0x19')]);}_0x3ace86[_0x33a0('0x2f')]=qs[_0x33a0('0x30')](_0x564fbe['query'][_0x33a0('0x30')]);_0x3ace86[_0x33a0('0x31')]=qs[_0x33a0('0x28')](_['pick'](_0x564fbe[_0x33a0('0x27')],_0x4d5c39[_0x33a0('0x28')]));if(_0x564fbe[_0x33a0('0x27')][_0x33a0('0x32')]){_0x3ace86[_0x33a0('0x31')]=_[_0x33a0('0x33')](_0x3ace86[_0x33a0('0x31')],{'$or':_[_0x33a0('0x34')](_0x4fe015,function(_0x5de5b9){if(_0x5de5b9[_0x33a0('0x35')]['key']!==_0x33a0('0x36')){var _0x4ea77d={};_0x4ea77d[_0x5de5b9[_0x33a0('0x37')]]={'$like':'%'+_0x564fbe['query'][_0x33a0('0x32')]+'%'};return _0x4ea77d;}})});}_0x3ace86=_['merge']({},_0x3ace86,_0x564fbe[_0x33a0('0x38')]);var _0x245ee0={'where':_0x3ace86[_0x33a0('0x31')]};return db[_0x33a0('0x39')][_0x33a0('0x18')](_0x245ee0)[_0x33a0('0x1d')](function(_0x2f2a79){_0x437b34[_0x33a0('0x18')]=_0x2f2a79;if(_0x564fbe[_0x33a0('0x27')]['includeAll']){_0x3ace86[_0x33a0('0x3a')]=[{'all':!![]}];}return db['OpenchannelApplication']['findAll'](_0x3ace86);})[_0x33a0('0x1d')](function(_0x1c5556){_0x437b34[_0x33a0('0x3b')]=_0x1c5556;return _0x437b34;})['then'](respondWithFilteredResult(_0x2a4c02,_0x3ace86))['catch'](handleError(_0x2a4c02,null));};exports[_0x33a0('0x3c')]=function(_0x2d813f,_0x7d01ea){var _0x30362d={'raw':!![],'where':{'id':_0x2d813f[_0x33a0('0x3d')]['id']}},_0x2e1e71={};_0x2e1e71[_0x33a0('0x25')]=_[_0x33a0('0x26')](db['OpenchannelApplication']['rawAttributes']);_0x2e1e71[_0x33a0('0x27')]=_['keys'](_0x2d813f[_0x33a0('0x27')]);_0x2e1e71[_0x33a0('0x28')]=_[_0x33a0('0x29')](_0x2e1e71['model'],_0x2e1e71[_0x33a0('0x27')]);_0x30362d[_0x33a0('0x2a')]=_[_0x33a0('0x29')](_0x2e1e71[_0x33a0('0x25')],qs['fields'](_0x2d813f['query'][_0x33a0('0x2b')]));_0x30362d['attributes']=_0x30362d[_0x33a0('0x2a')][_0x33a0('0x2c')]?_0x30362d[_0x33a0('0x2a')]:_0x2e1e71[_0x33a0('0x25')];if(_0x2d813f['query'][_0x33a0('0x3e')]){_0x30362d[_0x33a0('0x3a')]=[{'all':!![]}];}_0x30362d=_[_0x33a0('0x33')]({},_0x30362d,_0x2d813f[_0x33a0('0x38')]);return db[_0x33a0('0x39')]['find'](_0x30362d)[_0x33a0('0x1d')](handleEntityNotFound(_0x7d01ea,null))[_0x33a0('0x1d')](respondWithResult(_0x7d01ea,null))[_0x33a0('0x3f')](handleError(_0x7d01ea,null));};exports[_0x33a0('0x40')]=function(_0x581582,_0xb72562){return db['OpenchannelApplication'][_0x33a0('0x40')](_0x581582[_0x33a0('0x41')],{})['then'](respondWithResult(_0xb72562,0xc9))[_0x33a0('0x3f')](handleError(_0xb72562,null));};exports[_0x33a0('0x1c')]=function(_0xdfb4b6,_0x3bd4c3){if(_0xdfb4b6[_0x33a0('0x41')]['id']){delete _0xdfb4b6['body']['id'];}return db['OpenchannelApplication']['find']({'where':{'id':_0xdfb4b6[_0x33a0('0x3d')]['id']}})['then'](handleEntityNotFound(_0x3bd4c3,null))[_0x33a0('0x1d')](saveUpdates(_0xdfb4b6[_0x33a0('0x41')],null))['then'](respondWithResult(_0x3bd4c3,null))[_0x33a0('0x3f')](handleError(_0x3bd4c3,null));};exports[_0x33a0('0x1e')]=function(_0x9f5801,_0x3325b9){return db[_0x33a0('0x39')][_0x33a0('0x42')]({'where':{'id':_0x9f5801[_0x33a0('0x3d')]['id']}})['then'](handleEntityNotFound(_0x3325b9,null))['then'](removeEntity(_0x3325b9,null))[_0x33a0('0x3f')](handleError(_0x3325b9,null));};