47dc53da6e7e311cb880fe143d5de894c9ec42db
[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 _0x0da9=['catch','show','params','rawAttributes','length','find','create','body','update','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','offset','undefined','limit','count','set','Content-Range','reject','save','then','destroy','error','name','send','index','map','fieldName','type','key','model','keys','query','filters','attributes','intersection','fields','hasOwnProperty','nolimit','order','sort','pick','filter','merge','where','VIRTUAL','options','OpenchannelApplication','includeAll','include'];(function(_0x35e6ca,_0x54939f){var _0x239e43=function(_0x3ea90d){while(--_0x3ea90d){_0x35e6ca['push'](_0x35e6ca['shift']());}};_0x239e43(++_0x54939f);}(_0x0da9,0x1cb));var _0x90da=function(_0x127820,_0x4a606d){_0x127820=_0x127820-0x0;var _0x1f71a9=_0x0da9[_0x127820];return _0x1f71a9;};'use strict';var emlformat=require(_0x90da('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x90da('0x1'));var jsonpatch=require(_0x90da('0x2'));var rp=require(_0x90da('0x3'));var moment=require(_0x90da('0x4'));var BPromise=require(_0x90da('0x5'));var Mustache=require(_0x90da('0x6'));var util=require(_0x90da('0x7'));var path=require('path');var sox=require(_0x90da('0x8'));var csv=require(_0x90da('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x90da('0xa'));var crypto=require(_0x90da('0xb'));var jsforce=require(_0x90da('0xc'));var deskjs=require(_0x90da('0xd'));var toCsv=require(_0x90da('0x9'));var querystring=require('querystring');var Papa=require(_0x90da('0xe'));var Redis=require(_0x90da('0xf'));var authService=require(_0x90da('0x10'));var qs=require(_0x90da('0x11'));var as=require(_0x90da('0x12'));var hardwareService=require(_0x90da('0x13'));var logger=require(_0x90da('0x14'))('api');var utils=require(_0x90da('0x15'));var config=require(_0x90da('0x16'));var licenseUtil=require(_0x90da('0x17'));var db=require(_0x90da('0x18'))['db'];function respondWithStatusCode(_0x34c3cd,_0x2f951a){_0x2f951a=_0x2f951a||0xcc;return function(_0x6c59c7){if(_0x6c59c7){return _0x34c3cd[_0x90da('0x19')](_0x2f951a);}return _0x34c3cd[_0x90da('0x1a')](_0x2f951a)[_0x90da('0x1b')]();};}function respondWithResult(_0x36f4b5,_0x36fe79){_0x36fe79=_0x36fe79||0xc8;return function(_0x2adace){if(_0x2adace){return _0x36f4b5[_0x90da('0x1a')](_0x36fe79)['json'](_0x2adace);}};}function respondWithFilteredResult(_0x119ba5,_0x44acdf){return function(_0x1978f4){if(_0x1978f4){var _0x540204=typeof _0x44acdf[_0x90da('0x1c')]===_0x90da('0x1d')&&typeof _0x44acdf[_0x90da('0x1e')]==='undefined';var _0x5e0d17=_0x1978f4[_0x90da('0x1f')];var _0x131769=_0x540204?0x0:_0x44acdf[_0x90da('0x1c')];var _0x4f235e=_0x540204?_0x1978f4[_0x90da('0x1f')]:_0x44acdf['offset']+_0x44acdf[_0x90da('0x1e')];var _0x40483e;if(_0x4f235e>=_0x5e0d17){_0x4f235e=_0x5e0d17;_0x40483e=0xc8;}else{_0x40483e=0xce;}_0x119ba5[_0x90da('0x1a')](_0x40483e);return _0x119ba5[_0x90da('0x20')](_0x90da('0x21'),_0x131769+'-'+_0x4f235e+'/'+_0x5e0d17)['json'](_0x1978f4);}return null;};}function patchUpdates(_0x56d1a5){return function(_0x25446d){try{jsonpatch['apply'](_0x25446d,_0x56d1a5,!![]);}catch(_0x37a8c9){return BPromise[_0x90da('0x22')](_0x37a8c9);}return _0x25446d[_0x90da('0x23')]();};}function saveUpdates(_0x4ceccb,_0x3b366e){return function(_0x460449){if(_0x460449){return _0x460449['update'](_0x4ceccb)[_0x90da('0x24')](function(_0x1b8a28){return _0x1b8a28;});}return null;};}function removeEntity(_0x3de919,_0x39a2ab){return function(_0x54ef67){if(_0x54ef67){return _0x54ef67[_0x90da('0x25')]()['then'](function(){_0x3de919[_0x90da('0x1a')](0xcc)[_0x90da('0x1b')]();});}};}function handleEntityNotFound(_0x3e3c86,_0x2effe5){return function(_0x4d0a64){if(!_0x4d0a64){_0x3e3c86[_0x90da('0x19')](0x194);}return _0x4d0a64;};}function handleError(_0x2efdb3,_0x1995f0){_0x1995f0=_0x1995f0||0x1f4;return function(_0x5d3757){logger[_0x90da('0x26')](_0x5d3757['stack']);if(_0x5d3757[_0x90da('0x27')]){delete _0x5d3757[_0x90da('0x27')];}_0x2efdb3['status'](_0x1995f0)[_0x90da('0x28')](_0x5d3757);};}exports[_0x90da('0x29')]=function(_0x38d778,_0x14c06c){var _0xb019c0={},_0x15a9c0={},_0x3461ed={'count':0x0,'rows':[]};var _0x307cc5=_[_0x90da('0x2a')](db['OpenchannelApplication']['rawAttributes'],function(_0x259fe2){return{'name':_0x259fe2[_0x90da('0x2b')],'type':_0x259fe2[_0x90da('0x2c')][_0x90da('0x2d')]};});_0x15a9c0[_0x90da('0x2e')]=_[_0x90da('0x2a')](_0x307cc5,_0x90da('0x27'));_0x15a9c0['query']=_[_0x90da('0x2f')](_0x38d778[_0x90da('0x30')]);_0x15a9c0[_0x90da('0x31')]=_['intersection'](_0x15a9c0[_0x90da('0x2e')],_0x15a9c0[_0x90da('0x30')]);_0xb019c0[_0x90da('0x32')]=_[_0x90da('0x33')](_0x15a9c0['model'],qs[_0x90da('0x34')](_0x38d778[_0x90da('0x30')][_0x90da('0x34')]));_0xb019c0[_0x90da('0x32')]=_0xb019c0[_0x90da('0x32')]['length']?_0xb019c0['attributes']:_0x15a9c0[_0x90da('0x2e')];if(!_0x38d778[_0x90da('0x30')][_0x90da('0x35')](_0x90da('0x36'))){_0xb019c0[_0x90da('0x1e')]=qs['limit'](_0x38d778[_0x90da('0x30')][_0x90da('0x1e')]);_0xb019c0[_0x90da('0x1c')]=qs[_0x90da('0x1c')](_0x38d778[_0x90da('0x30')]['offset']);}_0xb019c0[_0x90da('0x37')]=qs['sort'](_0x38d778[_0x90da('0x30')][_0x90da('0x38')]);_0xb019c0['where']=qs[_0x90da('0x31')](_[_0x90da('0x39')](_0x38d778[_0x90da('0x30')],_0x15a9c0[_0x90da('0x31')]),_0x307cc5);if(_0x38d778[_0x90da('0x30')][_0x90da('0x3a')]){_0xb019c0['where']=_[_0x90da('0x3b')](_0xb019c0[_0x90da('0x3c')],{'$or':_[_0x90da('0x2a')](_0x307cc5,function(_0x382cf5){if(_0x382cf5['type']!==_0x90da('0x3d')){var _0x125c7f={};_0x125c7f[_0x382cf5['name']]={'$like':'%'+_0x38d778[_0x90da('0x30')][_0x90da('0x3a')]+'%'};return _0x125c7f;}})});}_0xb019c0=_[_0x90da('0x3b')]({},_0xb019c0,_0x38d778[_0x90da('0x3e')]);var _0x3bf23f={'where':_0xb019c0['where']};return db[_0x90da('0x3f')]['count'](_0x3bf23f)[_0x90da('0x24')](function(_0x303afc){_0x3461ed[_0x90da('0x1f')]=_0x303afc;if(_0x38d778[_0x90da('0x30')][_0x90da('0x40')]){_0xb019c0[_0x90da('0x41')]=[{'all':!![]}];}return db['OpenchannelApplication']['findAll'](_0xb019c0);})[_0x90da('0x24')](function(_0x4c30ee){_0x3461ed['rows']=_0x4c30ee;return _0x3461ed;})['then'](respondWithFilteredResult(_0x14c06c,_0xb019c0))[_0x90da('0x42')](handleError(_0x14c06c,null));};exports[_0x90da('0x43')]=function(_0x1f617f,_0x5f3510){var _0x1c255a={'raw':!![],'where':{'id':_0x1f617f[_0x90da('0x44')]['id']}},_0x24d2eb={};_0x24d2eb[_0x90da('0x2e')]=_[_0x90da('0x2f')](db[_0x90da('0x3f')][_0x90da('0x45')]);_0x24d2eb[_0x90da('0x30')]=_[_0x90da('0x2f')](_0x1f617f[_0x90da('0x30')]);_0x24d2eb['filters']=_[_0x90da('0x33')](_0x24d2eb['model'],_0x24d2eb['query']);_0x1c255a[_0x90da('0x32')]=_['intersection'](_0x24d2eb['model'],qs[_0x90da('0x34')](_0x1f617f[_0x90da('0x30')][_0x90da('0x34')]));_0x1c255a[_0x90da('0x32')]=_0x1c255a['attributes'][_0x90da('0x46')]?_0x1c255a['attributes']:_0x24d2eb[_0x90da('0x2e')];if(_0x1f617f['query'][_0x90da('0x40')]){_0x1c255a[_0x90da('0x41')]=[{'all':!![]}];}_0x1c255a=_['merge']({},_0x1c255a,_0x1f617f[_0x90da('0x3e')]);return db[_0x90da('0x3f')][_0x90da('0x47')](_0x1c255a)[_0x90da('0x24')](handleEntityNotFound(_0x5f3510,null))[_0x90da('0x24')](respondWithResult(_0x5f3510,null))[_0x90da('0x42')](handleError(_0x5f3510,null));};exports[_0x90da('0x48')]=function(_0x3bd1fc,_0x585e72){return db[_0x90da('0x3f')][_0x90da('0x48')](_0x3bd1fc[_0x90da('0x49')],{})[_0x90da('0x24')](respondWithResult(_0x585e72,0xc9))['catch'](handleError(_0x585e72,null));};exports[_0x90da('0x4a')]=function(_0x202a3a,_0x488047){if(_0x202a3a[_0x90da('0x49')]['id']){delete _0x202a3a[_0x90da('0x49')]['id'];}return db[_0x90da('0x3f')][_0x90da('0x47')]({'where':{'id':_0x202a3a[_0x90da('0x44')]['id']}})[_0x90da('0x24')](handleEntityNotFound(_0x488047,null))['then'](saveUpdates(_0x202a3a[_0x90da('0x49')],null))[_0x90da('0x24')](respondWithResult(_0x488047,null))[_0x90da('0x42')](handleError(_0x488047,null));};exports[_0x90da('0x25')]=function(_0x45057b,_0x78370){return db[_0x90da('0x3f')]['find']({'where':{'id':_0x45057b[_0x90da('0x44')]['id']}})[_0x90da('0x24')](handleEntityNotFound(_0x78370,null))[_0x90da('0x24')](removeEntity(_0x78370,null))[_0x90da('0x42')](handleError(_0x78370,null));};